{-# 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.AmplifyUiBuilder.CreateTheme
(
CreateTheme (..),
newCreateTheme,
createTheme_clientToken,
createTheme_appId,
createTheme_environmentName,
createTheme_themeToCreate,
CreateThemeResponse (..),
newCreateThemeResponse,
createThemeResponse_entity,
createThemeResponse_httpStatus,
)
where
import Amazonka.AmplifyUiBuilder.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 CreateTheme = CreateTheme'
{
CreateTheme -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
CreateTheme -> Text
appId :: Prelude.Text,
CreateTheme -> Text
environmentName :: Prelude.Text,
CreateTheme -> CreateThemeData
themeToCreate :: CreateThemeData
}
deriving (CreateTheme -> CreateTheme -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateTheme -> CreateTheme -> Bool
$c/= :: CreateTheme -> CreateTheme -> Bool
== :: CreateTheme -> CreateTheme -> Bool
$c== :: CreateTheme -> CreateTheme -> Bool
Prelude.Eq, ReadPrec [CreateTheme]
ReadPrec CreateTheme
Int -> ReadS CreateTheme
ReadS [CreateTheme]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateTheme]
$creadListPrec :: ReadPrec [CreateTheme]
readPrec :: ReadPrec CreateTheme
$creadPrec :: ReadPrec CreateTheme
readList :: ReadS [CreateTheme]
$creadList :: ReadS [CreateTheme]
readsPrec :: Int -> ReadS CreateTheme
$creadsPrec :: Int -> ReadS CreateTheme
Prelude.Read, Int -> CreateTheme -> ShowS
[CreateTheme] -> ShowS
CreateTheme -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateTheme] -> ShowS
$cshowList :: [CreateTheme] -> ShowS
show :: CreateTheme -> String
$cshow :: CreateTheme -> String
showsPrec :: Int -> CreateTheme -> ShowS
$cshowsPrec :: Int -> CreateTheme -> ShowS
Prelude.Show, forall x. Rep CreateTheme x -> CreateTheme
forall x. CreateTheme -> Rep CreateTheme x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateTheme x -> CreateTheme
$cfrom :: forall x. CreateTheme -> Rep CreateTheme x
Prelude.Generic)
newCreateTheme ::
Prelude.Text ->
Prelude.Text ->
CreateThemeData ->
CreateTheme
newCreateTheme :: Text -> Text -> CreateThemeData -> CreateTheme
newCreateTheme
Text
pAppId_
Text
pEnvironmentName_
CreateThemeData
pThemeToCreate_ =
CreateTheme'
{ $sel:clientToken:CreateTheme' :: Maybe Text
clientToken = forall a. Maybe a
Prelude.Nothing,
$sel:appId:CreateTheme' :: Text
appId = Text
pAppId_,
$sel:environmentName:CreateTheme' :: Text
environmentName = Text
pEnvironmentName_,
$sel:themeToCreate:CreateTheme' :: CreateThemeData
themeToCreate = CreateThemeData
pThemeToCreate_
}
createTheme_clientToken :: Lens.Lens' CreateTheme (Prelude.Maybe Prelude.Text)
createTheme_clientToken :: Lens' CreateTheme (Maybe Text)
createTheme_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateTheme' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:CreateTheme' :: CreateTheme -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: CreateTheme
s@CreateTheme' {} Maybe Text
a -> CreateTheme
s {$sel:clientToken:CreateTheme' :: Maybe Text
clientToken = Maybe Text
a} :: CreateTheme)
createTheme_appId :: Lens.Lens' CreateTheme Prelude.Text
createTheme_appId :: Lens' CreateTheme Text
createTheme_appId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateTheme' {Text
appId :: Text
$sel:appId:CreateTheme' :: CreateTheme -> Text
appId} -> Text
appId) (\s :: CreateTheme
s@CreateTheme' {} Text
a -> CreateTheme
s {$sel:appId:CreateTheme' :: Text
appId = Text
a} :: CreateTheme)
createTheme_environmentName :: Lens.Lens' CreateTheme Prelude.Text
createTheme_environmentName :: Lens' CreateTheme Text
createTheme_environmentName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateTheme' {Text
environmentName :: Text
$sel:environmentName:CreateTheme' :: CreateTheme -> Text
environmentName} -> Text
environmentName) (\s :: CreateTheme
s@CreateTheme' {} Text
a -> CreateTheme
s {$sel:environmentName:CreateTheme' :: Text
environmentName = Text
a} :: CreateTheme)
createTheme_themeToCreate :: Lens.Lens' CreateTheme CreateThemeData
createTheme_themeToCreate :: Lens' CreateTheme CreateThemeData
createTheme_themeToCreate = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateTheme' {CreateThemeData
themeToCreate :: CreateThemeData
$sel:themeToCreate:CreateTheme' :: CreateTheme -> CreateThemeData
themeToCreate} -> CreateThemeData
themeToCreate) (\s :: CreateTheme
s@CreateTheme' {} CreateThemeData
a -> CreateTheme
s {$sel:themeToCreate:CreateTheme' :: CreateThemeData
themeToCreate = CreateThemeData
a} :: CreateTheme)
instance Core.AWSRequest CreateTheme where
type AWSResponse CreateTheme = CreateThemeResponse
request :: (Service -> Service) -> CreateTheme -> Request CreateTheme
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 CreateTheme
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse CreateTheme)))
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 Theme -> Int -> CreateThemeResponse
CreateThemeResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (forall a. FromJSON a => Object -> Either String a
Data.eitherParseJSON Object
x)
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 CreateTheme where
hashWithSalt :: Int -> CreateTheme -> Int
hashWithSalt Int
_salt CreateTheme' {Maybe Text
Text
CreateThemeData
themeToCreate :: CreateThemeData
environmentName :: Text
appId :: Text
clientToken :: Maybe Text
$sel:themeToCreate:CreateTheme' :: CreateTheme -> CreateThemeData
$sel:environmentName:CreateTheme' :: CreateTheme -> Text
$sel:appId:CreateTheme' :: CreateTheme -> Text
$sel:clientToken:CreateTheme' :: CreateTheme -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
clientToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
appId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
environmentName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` CreateThemeData
themeToCreate
instance Prelude.NFData CreateTheme where
rnf :: CreateTheme -> ()
rnf CreateTheme' {Maybe Text
Text
CreateThemeData
themeToCreate :: CreateThemeData
environmentName :: Text
appId :: Text
clientToken :: Maybe Text
$sel:themeToCreate:CreateTheme' :: CreateTheme -> CreateThemeData
$sel:environmentName:CreateTheme' :: CreateTheme -> Text
$sel:appId:CreateTheme' :: CreateTheme -> Text
$sel:clientToken:CreateTheme' :: CreateTheme -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
clientToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
appId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
environmentName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf CreateThemeData
themeToCreate
instance Data.ToHeaders CreateTheme where
toHeaders :: CreateTheme -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON CreateTheme where
toJSON :: CreateTheme -> Value
toJSON CreateTheme' {Maybe Text
Text
CreateThemeData
themeToCreate :: CreateThemeData
environmentName :: Text
appId :: Text
clientToken :: Maybe Text
$sel:themeToCreate:CreateTheme' :: CreateTheme -> CreateThemeData
$sel:environmentName:CreateTheme' :: CreateTheme -> Text
$sel:appId:CreateTheme' :: CreateTheme -> Text
$sel:clientToken:CreateTheme' :: CreateTheme -> Maybe Text
..} = forall a. ToJSON a => a -> Value
Data.toJSON CreateThemeData
themeToCreate
instance Data.ToPath CreateTheme where
toPath :: CreateTheme -> ByteString
toPath CreateTheme' {Maybe Text
Text
CreateThemeData
themeToCreate :: CreateThemeData
environmentName :: Text
appId :: Text
clientToken :: Maybe Text
$sel:themeToCreate:CreateTheme' :: CreateTheme -> CreateThemeData
$sel:environmentName:CreateTheme' :: CreateTheme -> Text
$sel:appId:CreateTheme' :: CreateTheme -> Text
$sel:clientToken:CreateTheme' :: CreateTheme -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/app/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
appId,
ByteString
"/environment/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
environmentName,
ByteString
"/themes"
]
instance Data.ToQuery CreateTheme where
toQuery :: CreateTheme -> QueryString
toQuery CreateTheme' {Maybe Text
Text
CreateThemeData
themeToCreate :: CreateThemeData
environmentName :: Text
appId :: Text
clientToken :: Maybe Text
$sel:themeToCreate:CreateTheme' :: CreateTheme -> CreateThemeData
$sel:environmentName:CreateTheme' :: CreateTheme -> Text
$sel:appId:CreateTheme' :: CreateTheme -> Text
$sel:clientToken:CreateTheme' :: CreateTheme -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"clientToken" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
clientToken]
data CreateThemeResponse = CreateThemeResponse'
{
CreateThemeResponse -> Maybe Theme
entity :: Prelude.Maybe Theme,
CreateThemeResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateThemeResponse -> CreateThemeResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateThemeResponse -> CreateThemeResponse -> Bool
$c/= :: CreateThemeResponse -> CreateThemeResponse -> Bool
== :: CreateThemeResponse -> CreateThemeResponse -> Bool
$c== :: CreateThemeResponse -> CreateThemeResponse -> Bool
Prelude.Eq, ReadPrec [CreateThemeResponse]
ReadPrec CreateThemeResponse
Int -> ReadS CreateThemeResponse
ReadS [CreateThemeResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateThemeResponse]
$creadListPrec :: ReadPrec [CreateThemeResponse]
readPrec :: ReadPrec CreateThemeResponse
$creadPrec :: ReadPrec CreateThemeResponse
readList :: ReadS [CreateThemeResponse]
$creadList :: ReadS [CreateThemeResponse]
readsPrec :: Int -> ReadS CreateThemeResponse
$creadsPrec :: Int -> ReadS CreateThemeResponse
Prelude.Read, Int -> CreateThemeResponse -> ShowS
[CreateThemeResponse] -> ShowS
CreateThemeResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateThemeResponse] -> ShowS
$cshowList :: [CreateThemeResponse] -> ShowS
show :: CreateThemeResponse -> String
$cshow :: CreateThemeResponse -> String
showsPrec :: Int -> CreateThemeResponse -> ShowS
$cshowsPrec :: Int -> CreateThemeResponse -> ShowS
Prelude.Show, forall x. Rep CreateThemeResponse x -> CreateThemeResponse
forall x. CreateThemeResponse -> Rep CreateThemeResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateThemeResponse x -> CreateThemeResponse
$cfrom :: forall x. CreateThemeResponse -> Rep CreateThemeResponse x
Prelude.Generic)
newCreateThemeResponse ::
Prelude.Int ->
CreateThemeResponse
newCreateThemeResponse :: Int -> CreateThemeResponse
newCreateThemeResponse Int
pHttpStatus_ =
CreateThemeResponse'
{ $sel:entity:CreateThemeResponse' :: Maybe Theme
entity = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreateThemeResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createThemeResponse_entity :: Lens.Lens' CreateThemeResponse (Prelude.Maybe Theme)
createThemeResponse_entity :: Lens' CreateThemeResponse (Maybe Theme)
createThemeResponse_entity = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateThemeResponse' {Maybe Theme
entity :: Maybe Theme
$sel:entity:CreateThemeResponse' :: CreateThemeResponse -> Maybe Theme
entity} -> Maybe Theme
entity) (\s :: CreateThemeResponse
s@CreateThemeResponse' {} Maybe Theme
a -> CreateThemeResponse
s {$sel:entity:CreateThemeResponse' :: Maybe Theme
entity = Maybe Theme
a} :: CreateThemeResponse)
createThemeResponse_httpStatus :: Lens.Lens' CreateThemeResponse Prelude.Int
createThemeResponse_httpStatus :: Lens' CreateThemeResponse Int
createThemeResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateThemeResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateThemeResponse' :: CreateThemeResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateThemeResponse
s@CreateThemeResponse' {} Int
a -> CreateThemeResponse
s {$sel:httpStatus:CreateThemeResponse' :: Int
httpStatus = Int
a} :: CreateThemeResponse)
instance Prelude.NFData CreateThemeResponse where
rnf :: CreateThemeResponse -> ()
rnf CreateThemeResponse' {Int
Maybe Theme
httpStatus :: Int
entity :: Maybe Theme
$sel:httpStatus:CreateThemeResponse' :: CreateThemeResponse -> Int
$sel:entity:CreateThemeResponse' :: CreateThemeResponse -> Maybe Theme
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Theme
entity
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus