{-# 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.Amplify.CreateBackendEnvironment
(
CreateBackendEnvironment (..),
newCreateBackendEnvironment,
createBackendEnvironment_deploymentArtifacts,
createBackendEnvironment_stackName,
createBackendEnvironment_appId,
createBackendEnvironment_environmentName,
CreateBackendEnvironmentResponse (..),
newCreateBackendEnvironmentResponse,
createBackendEnvironmentResponse_httpStatus,
createBackendEnvironmentResponse_backendEnvironment,
)
where
import Amazonka.Amplify.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 CreateBackendEnvironment = CreateBackendEnvironment'
{
CreateBackendEnvironment -> Maybe Text
deploymentArtifacts :: Prelude.Maybe Prelude.Text,
CreateBackendEnvironment -> Maybe Text
stackName :: Prelude.Maybe Prelude.Text,
CreateBackendEnvironment -> Text
appId :: Prelude.Text,
CreateBackendEnvironment -> Text
environmentName :: Prelude.Text
}
deriving (CreateBackendEnvironment -> CreateBackendEnvironment -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateBackendEnvironment -> CreateBackendEnvironment -> Bool
$c/= :: CreateBackendEnvironment -> CreateBackendEnvironment -> Bool
== :: CreateBackendEnvironment -> CreateBackendEnvironment -> Bool
$c== :: CreateBackendEnvironment -> CreateBackendEnvironment -> Bool
Prelude.Eq, ReadPrec [CreateBackendEnvironment]
ReadPrec CreateBackendEnvironment
Int -> ReadS CreateBackendEnvironment
ReadS [CreateBackendEnvironment]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateBackendEnvironment]
$creadListPrec :: ReadPrec [CreateBackendEnvironment]
readPrec :: ReadPrec CreateBackendEnvironment
$creadPrec :: ReadPrec CreateBackendEnvironment
readList :: ReadS [CreateBackendEnvironment]
$creadList :: ReadS [CreateBackendEnvironment]
readsPrec :: Int -> ReadS CreateBackendEnvironment
$creadsPrec :: Int -> ReadS CreateBackendEnvironment
Prelude.Read, Int -> CreateBackendEnvironment -> ShowS
[CreateBackendEnvironment] -> ShowS
CreateBackendEnvironment -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateBackendEnvironment] -> ShowS
$cshowList :: [CreateBackendEnvironment] -> ShowS
show :: CreateBackendEnvironment -> String
$cshow :: CreateBackendEnvironment -> String
showsPrec :: Int -> CreateBackendEnvironment -> ShowS
$cshowsPrec :: Int -> CreateBackendEnvironment -> ShowS
Prelude.Show, forall x.
Rep CreateBackendEnvironment x -> CreateBackendEnvironment
forall x.
CreateBackendEnvironment -> Rep CreateBackendEnvironment x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateBackendEnvironment x -> CreateBackendEnvironment
$cfrom :: forall x.
CreateBackendEnvironment -> Rep CreateBackendEnvironment x
Prelude.Generic)
newCreateBackendEnvironment ::
Prelude.Text ->
Prelude.Text ->
CreateBackendEnvironment
newCreateBackendEnvironment :: Text -> Text -> CreateBackendEnvironment
newCreateBackendEnvironment Text
pAppId_ Text
pEnvironmentName_ =
CreateBackendEnvironment'
{ $sel:deploymentArtifacts:CreateBackendEnvironment' :: Maybe Text
deploymentArtifacts =
forall a. Maybe a
Prelude.Nothing,
$sel:stackName:CreateBackendEnvironment' :: Maybe Text
stackName = forall a. Maybe a
Prelude.Nothing,
$sel:appId:CreateBackendEnvironment' :: Text
appId = Text
pAppId_,
$sel:environmentName:CreateBackendEnvironment' :: Text
environmentName = Text
pEnvironmentName_
}
createBackendEnvironment_deploymentArtifacts :: Lens.Lens' CreateBackendEnvironment (Prelude.Maybe Prelude.Text)
createBackendEnvironment_deploymentArtifacts :: Lens' CreateBackendEnvironment (Maybe Text)
createBackendEnvironment_deploymentArtifacts = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBackendEnvironment' {Maybe Text
deploymentArtifacts :: Maybe Text
$sel:deploymentArtifacts:CreateBackendEnvironment' :: CreateBackendEnvironment -> Maybe Text
deploymentArtifacts} -> Maybe Text
deploymentArtifacts) (\s :: CreateBackendEnvironment
s@CreateBackendEnvironment' {} Maybe Text
a -> CreateBackendEnvironment
s {$sel:deploymentArtifacts:CreateBackendEnvironment' :: Maybe Text
deploymentArtifacts = Maybe Text
a} :: CreateBackendEnvironment)
createBackendEnvironment_stackName :: Lens.Lens' CreateBackendEnvironment (Prelude.Maybe Prelude.Text)
createBackendEnvironment_stackName :: Lens' CreateBackendEnvironment (Maybe Text)
createBackendEnvironment_stackName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBackendEnvironment' {Maybe Text
stackName :: Maybe Text
$sel:stackName:CreateBackendEnvironment' :: CreateBackendEnvironment -> Maybe Text
stackName} -> Maybe Text
stackName) (\s :: CreateBackendEnvironment
s@CreateBackendEnvironment' {} Maybe Text
a -> CreateBackendEnvironment
s {$sel:stackName:CreateBackendEnvironment' :: Maybe Text
stackName = Maybe Text
a} :: CreateBackendEnvironment)
createBackendEnvironment_appId :: Lens.Lens' CreateBackendEnvironment Prelude.Text
createBackendEnvironment_appId :: Lens' CreateBackendEnvironment Text
createBackendEnvironment_appId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBackendEnvironment' {Text
appId :: Text
$sel:appId:CreateBackendEnvironment' :: CreateBackendEnvironment -> Text
appId} -> Text
appId) (\s :: CreateBackendEnvironment
s@CreateBackendEnvironment' {} Text
a -> CreateBackendEnvironment
s {$sel:appId:CreateBackendEnvironment' :: Text
appId = Text
a} :: CreateBackendEnvironment)
createBackendEnvironment_environmentName :: Lens.Lens' CreateBackendEnvironment Prelude.Text
createBackendEnvironment_environmentName :: Lens' CreateBackendEnvironment Text
createBackendEnvironment_environmentName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBackendEnvironment' {Text
environmentName :: Text
$sel:environmentName:CreateBackendEnvironment' :: CreateBackendEnvironment -> Text
environmentName} -> Text
environmentName) (\s :: CreateBackendEnvironment
s@CreateBackendEnvironment' {} Text
a -> CreateBackendEnvironment
s {$sel:environmentName:CreateBackendEnvironment' :: Text
environmentName = Text
a} :: CreateBackendEnvironment)
instance Core.AWSRequest CreateBackendEnvironment where
type
AWSResponse CreateBackendEnvironment =
CreateBackendEnvironmentResponse
request :: (Service -> Service)
-> CreateBackendEnvironment -> Request CreateBackendEnvironment
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 CreateBackendEnvironment
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse CreateBackendEnvironment)))
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 ->
Int -> BackendEnvironment -> CreateBackendEnvironmentResponse
CreateBackendEnvironmentResponse'
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))
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"backendEnvironment")
)
instance Prelude.Hashable CreateBackendEnvironment where
hashWithSalt :: Int -> CreateBackendEnvironment -> Int
hashWithSalt Int
_salt CreateBackendEnvironment' {Maybe Text
Text
environmentName :: Text
appId :: Text
stackName :: Maybe Text
deploymentArtifacts :: Maybe Text
$sel:environmentName:CreateBackendEnvironment' :: CreateBackendEnvironment -> Text
$sel:appId:CreateBackendEnvironment' :: CreateBackendEnvironment -> Text
$sel:stackName:CreateBackendEnvironment' :: CreateBackendEnvironment -> Maybe Text
$sel:deploymentArtifacts:CreateBackendEnvironment' :: CreateBackendEnvironment -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
deploymentArtifacts
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
stackName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
appId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
environmentName
instance Prelude.NFData CreateBackendEnvironment where
rnf :: CreateBackendEnvironment -> ()
rnf CreateBackendEnvironment' {Maybe Text
Text
environmentName :: Text
appId :: Text
stackName :: Maybe Text
deploymentArtifacts :: Maybe Text
$sel:environmentName:CreateBackendEnvironment' :: CreateBackendEnvironment -> Text
$sel:appId:CreateBackendEnvironment' :: CreateBackendEnvironment -> Text
$sel:stackName:CreateBackendEnvironment' :: CreateBackendEnvironment -> Maybe Text
$sel:deploymentArtifacts:CreateBackendEnvironment' :: CreateBackendEnvironment -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
deploymentArtifacts
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
stackName
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
instance Data.ToHeaders CreateBackendEnvironment where
toHeaders :: CreateBackendEnvironment -> 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 CreateBackendEnvironment where
toJSON :: CreateBackendEnvironment -> Value
toJSON CreateBackendEnvironment' {Maybe Text
Text
environmentName :: Text
appId :: Text
stackName :: Maybe Text
deploymentArtifacts :: Maybe Text
$sel:environmentName:CreateBackendEnvironment' :: CreateBackendEnvironment -> Text
$sel:appId:CreateBackendEnvironment' :: CreateBackendEnvironment -> Text
$sel:stackName:CreateBackendEnvironment' :: CreateBackendEnvironment -> Maybe Text
$sel:deploymentArtifacts:CreateBackendEnvironment' :: CreateBackendEnvironment -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"deploymentArtifacts" 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
deploymentArtifacts,
(Key
"stackName" 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
stackName,
forall a. a -> Maybe a
Prelude.Just
(Key
"environmentName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
environmentName)
]
)
instance Data.ToPath CreateBackendEnvironment where
toPath :: CreateBackendEnvironment -> ByteString
toPath CreateBackendEnvironment' {Maybe Text
Text
environmentName :: Text
appId :: Text
stackName :: Maybe Text
deploymentArtifacts :: Maybe Text
$sel:environmentName:CreateBackendEnvironment' :: CreateBackendEnvironment -> Text
$sel:appId:CreateBackendEnvironment' :: CreateBackendEnvironment -> Text
$sel:stackName:CreateBackendEnvironment' :: CreateBackendEnvironment -> Maybe Text
$sel:deploymentArtifacts:CreateBackendEnvironment' :: CreateBackendEnvironment -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"/apps/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
appId, ByteString
"/backendenvironments"]
instance Data.ToQuery CreateBackendEnvironment where
toQuery :: CreateBackendEnvironment -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateBackendEnvironmentResponse = CreateBackendEnvironmentResponse'
{
CreateBackendEnvironmentResponse -> Int
httpStatus :: Prelude.Int,
CreateBackendEnvironmentResponse -> BackendEnvironment
backendEnvironment :: BackendEnvironment
}
deriving (CreateBackendEnvironmentResponse
-> CreateBackendEnvironmentResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateBackendEnvironmentResponse
-> CreateBackendEnvironmentResponse -> Bool
$c/= :: CreateBackendEnvironmentResponse
-> CreateBackendEnvironmentResponse -> Bool
== :: CreateBackendEnvironmentResponse
-> CreateBackendEnvironmentResponse -> Bool
$c== :: CreateBackendEnvironmentResponse
-> CreateBackendEnvironmentResponse -> Bool
Prelude.Eq, ReadPrec [CreateBackendEnvironmentResponse]
ReadPrec CreateBackendEnvironmentResponse
Int -> ReadS CreateBackendEnvironmentResponse
ReadS [CreateBackendEnvironmentResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateBackendEnvironmentResponse]
$creadListPrec :: ReadPrec [CreateBackendEnvironmentResponse]
readPrec :: ReadPrec CreateBackendEnvironmentResponse
$creadPrec :: ReadPrec CreateBackendEnvironmentResponse
readList :: ReadS [CreateBackendEnvironmentResponse]
$creadList :: ReadS [CreateBackendEnvironmentResponse]
readsPrec :: Int -> ReadS CreateBackendEnvironmentResponse
$creadsPrec :: Int -> ReadS CreateBackendEnvironmentResponse
Prelude.Read, Int -> CreateBackendEnvironmentResponse -> ShowS
[CreateBackendEnvironmentResponse] -> ShowS
CreateBackendEnvironmentResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateBackendEnvironmentResponse] -> ShowS
$cshowList :: [CreateBackendEnvironmentResponse] -> ShowS
show :: CreateBackendEnvironmentResponse -> String
$cshow :: CreateBackendEnvironmentResponse -> String
showsPrec :: Int -> CreateBackendEnvironmentResponse -> ShowS
$cshowsPrec :: Int -> CreateBackendEnvironmentResponse -> ShowS
Prelude.Show, forall x.
Rep CreateBackendEnvironmentResponse x
-> CreateBackendEnvironmentResponse
forall x.
CreateBackendEnvironmentResponse
-> Rep CreateBackendEnvironmentResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateBackendEnvironmentResponse x
-> CreateBackendEnvironmentResponse
$cfrom :: forall x.
CreateBackendEnvironmentResponse
-> Rep CreateBackendEnvironmentResponse x
Prelude.Generic)
newCreateBackendEnvironmentResponse ::
Prelude.Int ->
BackendEnvironment ->
CreateBackendEnvironmentResponse
newCreateBackendEnvironmentResponse :: Int -> BackendEnvironment -> CreateBackendEnvironmentResponse
newCreateBackendEnvironmentResponse
Int
pHttpStatus_
BackendEnvironment
pBackendEnvironment_ =
CreateBackendEnvironmentResponse'
{ $sel:httpStatus:CreateBackendEnvironmentResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:backendEnvironment:CreateBackendEnvironmentResponse' :: BackendEnvironment
backendEnvironment = BackendEnvironment
pBackendEnvironment_
}
createBackendEnvironmentResponse_httpStatus :: Lens.Lens' CreateBackendEnvironmentResponse Prelude.Int
createBackendEnvironmentResponse_httpStatus :: Lens' CreateBackendEnvironmentResponse Int
createBackendEnvironmentResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBackendEnvironmentResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateBackendEnvironmentResponse' :: CreateBackendEnvironmentResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateBackendEnvironmentResponse
s@CreateBackendEnvironmentResponse' {} Int
a -> CreateBackendEnvironmentResponse
s {$sel:httpStatus:CreateBackendEnvironmentResponse' :: Int
httpStatus = Int
a} :: CreateBackendEnvironmentResponse)
createBackendEnvironmentResponse_backendEnvironment :: Lens.Lens' CreateBackendEnvironmentResponse BackendEnvironment
createBackendEnvironmentResponse_backendEnvironment :: Lens' CreateBackendEnvironmentResponse BackendEnvironment
createBackendEnvironmentResponse_backendEnvironment = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateBackendEnvironmentResponse' {BackendEnvironment
backendEnvironment :: BackendEnvironment
$sel:backendEnvironment:CreateBackendEnvironmentResponse' :: CreateBackendEnvironmentResponse -> BackendEnvironment
backendEnvironment} -> BackendEnvironment
backendEnvironment) (\s :: CreateBackendEnvironmentResponse
s@CreateBackendEnvironmentResponse' {} BackendEnvironment
a -> CreateBackendEnvironmentResponse
s {$sel:backendEnvironment:CreateBackendEnvironmentResponse' :: BackendEnvironment
backendEnvironment = BackendEnvironment
a} :: CreateBackendEnvironmentResponse)
instance
Prelude.NFData
CreateBackendEnvironmentResponse
where
rnf :: CreateBackendEnvironmentResponse -> ()
rnf CreateBackendEnvironmentResponse' {Int
BackendEnvironment
backendEnvironment :: BackendEnvironment
httpStatus :: Int
$sel:backendEnvironment:CreateBackendEnvironmentResponse' :: CreateBackendEnvironmentResponse -> BackendEnvironment
$sel:httpStatus:CreateBackendEnvironmentResponse' :: CreateBackendEnvironmentResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf BackendEnvironment
backendEnvironment