{-# 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.CloudFormation.CreateStack
(
CreateStack (..),
newCreateStack,
createStack_capabilities,
createStack_clientRequestToken,
createStack_disableRollback,
createStack_enableTerminationProtection,
createStack_notificationARNs,
createStack_onFailure,
createStack_parameters,
createStack_resourceTypes,
createStack_roleARN,
createStack_rollbackConfiguration,
createStack_stackPolicyBody,
createStack_stackPolicyURL,
createStack_tags,
createStack_templateBody,
createStack_templateURL,
createStack_timeoutInMinutes,
createStack_stackName,
CreateStackResponse (..),
newCreateStackResponse,
createStackResponse_stackId,
createStackResponse_httpStatus,
)
where
import Amazonka.CloudFormation.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 CreateStack = CreateStack'
{
CreateStack -> Maybe [Capability]
capabilities :: Prelude.Maybe [Capability],
CreateStack -> Maybe Text
clientRequestToken :: Prelude.Maybe Prelude.Text,
CreateStack -> Maybe Bool
disableRollback :: Prelude.Maybe Prelude.Bool,
CreateStack -> Maybe Bool
enableTerminationProtection :: Prelude.Maybe Prelude.Bool,
CreateStack -> Maybe [Text]
notificationARNs :: Prelude.Maybe [Prelude.Text],
CreateStack -> Maybe OnFailure
onFailure :: Prelude.Maybe OnFailure,
CreateStack -> Maybe [Parameter]
parameters :: Prelude.Maybe [Parameter],
CreateStack -> Maybe [Text]
resourceTypes :: Prelude.Maybe [Prelude.Text],
CreateStack -> Maybe Text
roleARN :: Prelude.Maybe Prelude.Text,
CreateStack -> Maybe RollbackConfiguration
rollbackConfiguration :: Prelude.Maybe RollbackConfiguration,
CreateStack -> Maybe Text
stackPolicyBody :: Prelude.Maybe Prelude.Text,
CreateStack -> Maybe Text
stackPolicyURL :: Prelude.Maybe Prelude.Text,
CreateStack -> Maybe [Tag]
tags :: Prelude.Maybe [Tag],
CreateStack -> Maybe Text
templateBody :: Prelude.Maybe Prelude.Text,
CreateStack -> Maybe Text
templateURL :: Prelude.Maybe Prelude.Text,
CreateStack -> Maybe Natural
timeoutInMinutes :: Prelude.Maybe Prelude.Natural,
CreateStack -> Text
stackName :: Prelude.Text
}
deriving (CreateStack -> CreateStack -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateStack -> CreateStack -> Bool
$c/= :: CreateStack -> CreateStack -> Bool
== :: CreateStack -> CreateStack -> Bool
$c== :: CreateStack -> CreateStack -> Bool
Prelude.Eq, ReadPrec [CreateStack]
ReadPrec CreateStack
Int -> ReadS CreateStack
ReadS [CreateStack]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateStack]
$creadListPrec :: ReadPrec [CreateStack]
readPrec :: ReadPrec CreateStack
$creadPrec :: ReadPrec CreateStack
readList :: ReadS [CreateStack]
$creadList :: ReadS [CreateStack]
readsPrec :: Int -> ReadS CreateStack
$creadsPrec :: Int -> ReadS CreateStack
Prelude.Read, Int -> CreateStack -> ShowS
[CreateStack] -> ShowS
CreateStack -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateStack] -> ShowS
$cshowList :: [CreateStack] -> ShowS
show :: CreateStack -> String
$cshow :: CreateStack -> String
showsPrec :: Int -> CreateStack -> ShowS
$cshowsPrec :: Int -> CreateStack -> ShowS
Prelude.Show, forall x. Rep CreateStack x -> CreateStack
forall x. CreateStack -> Rep CreateStack x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateStack x -> CreateStack
$cfrom :: forall x. CreateStack -> Rep CreateStack x
Prelude.Generic)
newCreateStack ::
Prelude.Text ->
CreateStack
newCreateStack :: Text -> CreateStack
newCreateStack Text
pStackName_ =
CreateStack'
{ $sel:capabilities:CreateStack' :: Maybe [Capability]
capabilities = forall a. Maybe a
Prelude.Nothing,
$sel:clientRequestToken:CreateStack' :: Maybe Text
clientRequestToken = forall a. Maybe a
Prelude.Nothing,
$sel:disableRollback:CreateStack' :: Maybe Bool
disableRollback = forall a. Maybe a
Prelude.Nothing,
$sel:enableTerminationProtection:CreateStack' :: Maybe Bool
enableTerminationProtection = forall a. Maybe a
Prelude.Nothing,
$sel:notificationARNs:CreateStack' :: Maybe [Text]
notificationARNs = forall a. Maybe a
Prelude.Nothing,
$sel:onFailure:CreateStack' :: Maybe OnFailure
onFailure = forall a. Maybe a
Prelude.Nothing,
$sel:parameters:CreateStack' :: Maybe [Parameter]
parameters = forall a. Maybe a
Prelude.Nothing,
$sel:resourceTypes:CreateStack' :: Maybe [Text]
resourceTypes = forall a. Maybe a
Prelude.Nothing,
$sel:roleARN:CreateStack' :: Maybe Text
roleARN = forall a. Maybe a
Prelude.Nothing,
$sel:rollbackConfiguration:CreateStack' :: Maybe RollbackConfiguration
rollbackConfiguration = forall a. Maybe a
Prelude.Nothing,
$sel:stackPolicyBody:CreateStack' :: Maybe Text
stackPolicyBody = forall a. Maybe a
Prelude.Nothing,
$sel:stackPolicyURL:CreateStack' :: Maybe Text
stackPolicyURL = forall a. Maybe a
Prelude.Nothing,
$sel:tags:CreateStack' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing,
$sel:templateBody:CreateStack' :: Maybe Text
templateBody = forall a. Maybe a
Prelude.Nothing,
$sel:templateURL:CreateStack' :: Maybe Text
templateURL = forall a. Maybe a
Prelude.Nothing,
$sel:timeoutInMinutes:CreateStack' :: Maybe Natural
timeoutInMinutes = forall a. Maybe a
Prelude.Nothing,
$sel:stackName:CreateStack' :: Text
stackName = Text
pStackName_
}
createStack_capabilities :: Lens.Lens' CreateStack (Prelude.Maybe [Capability])
createStack_capabilities :: Lens' CreateStack (Maybe [Capability])
createStack_capabilities = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateStack' {Maybe [Capability]
capabilities :: Maybe [Capability]
$sel:capabilities:CreateStack' :: CreateStack -> Maybe [Capability]
capabilities} -> Maybe [Capability]
capabilities) (\s :: CreateStack
s@CreateStack' {} Maybe [Capability]
a -> CreateStack
s {$sel:capabilities:CreateStack' :: Maybe [Capability]
capabilities = Maybe [Capability]
a} :: CreateStack) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
createStack_clientRequestToken :: Lens.Lens' CreateStack (Prelude.Maybe Prelude.Text)
createStack_clientRequestToken :: Lens' CreateStack (Maybe Text)
createStack_clientRequestToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateStack' {Maybe Text
clientRequestToken :: Maybe Text
$sel:clientRequestToken:CreateStack' :: CreateStack -> Maybe Text
clientRequestToken} -> Maybe Text
clientRequestToken) (\s :: CreateStack
s@CreateStack' {} Maybe Text
a -> CreateStack
s {$sel:clientRequestToken:CreateStack' :: Maybe Text
clientRequestToken = Maybe Text
a} :: CreateStack)
createStack_disableRollback :: Lens.Lens' CreateStack (Prelude.Maybe Prelude.Bool)
createStack_disableRollback :: Lens' CreateStack (Maybe Bool)
createStack_disableRollback = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateStack' {Maybe Bool
disableRollback :: Maybe Bool
$sel:disableRollback:CreateStack' :: CreateStack -> Maybe Bool
disableRollback} -> Maybe Bool
disableRollback) (\s :: CreateStack
s@CreateStack' {} Maybe Bool
a -> CreateStack
s {$sel:disableRollback:CreateStack' :: Maybe Bool
disableRollback = Maybe Bool
a} :: CreateStack)
createStack_enableTerminationProtection :: Lens.Lens' CreateStack (Prelude.Maybe Prelude.Bool)
createStack_enableTerminationProtection :: Lens' CreateStack (Maybe Bool)
createStack_enableTerminationProtection = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateStack' {Maybe Bool
enableTerminationProtection :: Maybe Bool
$sel:enableTerminationProtection:CreateStack' :: CreateStack -> Maybe Bool
enableTerminationProtection} -> Maybe Bool
enableTerminationProtection) (\s :: CreateStack
s@CreateStack' {} Maybe Bool
a -> CreateStack
s {$sel:enableTerminationProtection:CreateStack' :: Maybe Bool
enableTerminationProtection = Maybe Bool
a} :: CreateStack)
createStack_notificationARNs :: Lens.Lens' CreateStack (Prelude.Maybe [Prelude.Text])
createStack_notificationARNs :: Lens' CreateStack (Maybe [Text])
createStack_notificationARNs = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateStack' {Maybe [Text]
notificationARNs :: Maybe [Text]
$sel:notificationARNs:CreateStack' :: CreateStack -> Maybe [Text]
notificationARNs} -> Maybe [Text]
notificationARNs) (\s :: CreateStack
s@CreateStack' {} Maybe [Text]
a -> CreateStack
s {$sel:notificationARNs:CreateStack' :: Maybe [Text]
notificationARNs = Maybe [Text]
a} :: CreateStack) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
createStack_onFailure :: Lens.Lens' CreateStack (Prelude.Maybe OnFailure)
createStack_onFailure :: Lens' CreateStack (Maybe OnFailure)
createStack_onFailure = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateStack' {Maybe OnFailure
onFailure :: Maybe OnFailure
$sel:onFailure:CreateStack' :: CreateStack -> Maybe OnFailure
onFailure} -> Maybe OnFailure
onFailure) (\s :: CreateStack
s@CreateStack' {} Maybe OnFailure
a -> CreateStack
s {$sel:onFailure:CreateStack' :: Maybe OnFailure
onFailure = Maybe OnFailure
a} :: CreateStack)
createStack_parameters :: Lens.Lens' CreateStack (Prelude.Maybe [Parameter])
createStack_parameters :: Lens' CreateStack (Maybe [Parameter])
createStack_parameters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateStack' {Maybe [Parameter]
parameters :: Maybe [Parameter]
$sel:parameters:CreateStack' :: CreateStack -> Maybe [Parameter]
parameters} -> Maybe [Parameter]
parameters) (\s :: CreateStack
s@CreateStack' {} Maybe [Parameter]
a -> CreateStack
s {$sel:parameters:CreateStack' :: Maybe [Parameter]
parameters = Maybe [Parameter]
a} :: CreateStack) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
createStack_resourceTypes :: Lens.Lens' CreateStack (Prelude.Maybe [Prelude.Text])
createStack_resourceTypes :: Lens' CreateStack (Maybe [Text])
createStack_resourceTypes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateStack' {Maybe [Text]
resourceTypes :: Maybe [Text]
$sel:resourceTypes:CreateStack' :: CreateStack -> Maybe [Text]
resourceTypes} -> Maybe [Text]
resourceTypes) (\s :: CreateStack
s@CreateStack' {} Maybe [Text]
a -> CreateStack
s {$sel:resourceTypes:CreateStack' :: Maybe [Text]
resourceTypes = Maybe [Text]
a} :: CreateStack) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
createStack_roleARN :: Lens.Lens' CreateStack (Prelude.Maybe Prelude.Text)
createStack_roleARN :: Lens' CreateStack (Maybe Text)
createStack_roleARN = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateStack' {Maybe Text
roleARN :: Maybe Text
$sel:roleARN:CreateStack' :: CreateStack -> Maybe Text
roleARN} -> Maybe Text
roleARN) (\s :: CreateStack
s@CreateStack' {} Maybe Text
a -> CreateStack
s {$sel:roleARN:CreateStack' :: Maybe Text
roleARN = Maybe Text
a} :: CreateStack)
createStack_rollbackConfiguration :: Lens.Lens' CreateStack (Prelude.Maybe RollbackConfiguration)
createStack_rollbackConfiguration :: Lens' CreateStack (Maybe RollbackConfiguration)
createStack_rollbackConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateStack' {Maybe RollbackConfiguration
rollbackConfiguration :: Maybe RollbackConfiguration
$sel:rollbackConfiguration:CreateStack' :: CreateStack -> Maybe RollbackConfiguration
rollbackConfiguration} -> Maybe RollbackConfiguration
rollbackConfiguration) (\s :: CreateStack
s@CreateStack' {} Maybe RollbackConfiguration
a -> CreateStack
s {$sel:rollbackConfiguration:CreateStack' :: Maybe RollbackConfiguration
rollbackConfiguration = Maybe RollbackConfiguration
a} :: CreateStack)
createStack_stackPolicyBody :: Lens.Lens' CreateStack (Prelude.Maybe Prelude.Text)
createStack_stackPolicyBody :: Lens' CreateStack (Maybe Text)
createStack_stackPolicyBody = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateStack' {Maybe Text
stackPolicyBody :: Maybe Text
$sel:stackPolicyBody:CreateStack' :: CreateStack -> Maybe Text
stackPolicyBody} -> Maybe Text
stackPolicyBody) (\s :: CreateStack
s@CreateStack' {} Maybe Text
a -> CreateStack
s {$sel:stackPolicyBody:CreateStack' :: Maybe Text
stackPolicyBody = Maybe Text
a} :: CreateStack)
createStack_stackPolicyURL :: Lens.Lens' CreateStack (Prelude.Maybe Prelude.Text)
createStack_stackPolicyURL :: Lens' CreateStack (Maybe Text)
createStack_stackPolicyURL = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateStack' {Maybe Text
stackPolicyURL :: Maybe Text
$sel:stackPolicyURL:CreateStack' :: CreateStack -> Maybe Text
stackPolicyURL} -> Maybe Text
stackPolicyURL) (\s :: CreateStack
s@CreateStack' {} Maybe Text
a -> CreateStack
s {$sel:stackPolicyURL:CreateStack' :: Maybe Text
stackPolicyURL = Maybe Text
a} :: CreateStack)
createStack_tags :: Lens.Lens' CreateStack (Prelude.Maybe [Tag])
createStack_tags :: Lens' CreateStack (Maybe [Tag])
createStack_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateStack' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:CreateStack' :: CreateStack -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: CreateStack
s@CreateStack' {} Maybe [Tag]
a -> CreateStack
s {$sel:tags:CreateStack' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: CreateStack) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
createStack_templateBody :: Lens.Lens' CreateStack (Prelude.Maybe Prelude.Text)
createStack_templateBody :: Lens' CreateStack (Maybe Text)
createStack_templateBody = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateStack' {Maybe Text
templateBody :: Maybe Text
$sel:templateBody:CreateStack' :: CreateStack -> Maybe Text
templateBody} -> Maybe Text
templateBody) (\s :: CreateStack
s@CreateStack' {} Maybe Text
a -> CreateStack
s {$sel:templateBody:CreateStack' :: Maybe Text
templateBody = Maybe Text
a} :: CreateStack)
createStack_templateURL :: Lens.Lens' CreateStack (Prelude.Maybe Prelude.Text)
createStack_templateURL :: Lens' CreateStack (Maybe Text)
createStack_templateURL = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateStack' {Maybe Text
templateURL :: Maybe Text
$sel:templateURL:CreateStack' :: CreateStack -> Maybe Text
templateURL} -> Maybe Text
templateURL) (\s :: CreateStack
s@CreateStack' {} Maybe Text
a -> CreateStack
s {$sel:templateURL:CreateStack' :: Maybe Text
templateURL = Maybe Text
a} :: CreateStack)
createStack_timeoutInMinutes :: Lens.Lens' CreateStack (Prelude.Maybe Prelude.Natural)
createStack_timeoutInMinutes :: Lens' CreateStack (Maybe Natural)
createStack_timeoutInMinutes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateStack' {Maybe Natural
timeoutInMinutes :: Maybe Natural
$sel:timeoutInMinutes:CreateStack' :: CreateStack -> Maybe Natural
timeoutInMinutes} -> Maybe Natural
timeoutInMinutes) (\s :: CreateStack
s@CreateStack' {} Maybe Natural
a -> CreateStack
s {$sel:timeoutInMinutes:CreateStack' :: Maybe Natural
timeoutInMinutes = Maybe Natural
a} :: CreateStack)
createStack_stackName :: Lens.Lens' CreateStack Prelude.Text
createStack_stackName :: Lens' CreateStack Text
createStack_stackName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateStack' {Text
stackName :: Text
$sel:stackName:CreateStack' :: CreateStack -> Text
stackName} -> Text
stackName) (\s :: CreateStack
s@CreateStack' {} Text
a -> CreateStack
s {$sel:stackName:CreateStack' :: Text
stackName = Text
a} :: CreateStack)
instance Core.AWSRequest CreateStack where
type AWSResponse CreateStack = CreateStackResponse
request :: (Service -> Service) -> CreateStack -> Request CreateStack
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.postQuery (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy CreateStack
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse CreateStack)))
response =
forall (m :: * -> *) a.
MonadResource m =>
Text
-> (Int
-> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXMLWrapper
Text
"CreateStackResult"
( \Int
s ResponseHeaders
h [Node]
x ->
Maybe Text -> Int -> CreateStackResponse
CreateStackResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"StackId")
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 CreateStack where
hashWithSalt :: Int -> CreateStack -> Int
hashWithSalt Int
_salt CreateStack' {Maybe Bool
Maybe Natural
Maybe [Text]
Maybe [Capability]
Maybe [Parameter]
Maybe [Tag]
Maybe Text
Maybe OnFailure
Maybe RollbackConfiguration
Text
stackName :: Text
timeoutInMinutes :: Maybe Natural
templateURL :: Maybe Text
templateBody :: Maybe Text
tags :: Maybe [Tag]
stackPolicyURL :: Maybe Text
stackPolicyBody :: Maybe Text
rollbackConfiguration :: Maybe RollbackConfiguration
roleARN :: Maybe Text
resourceTypes :: Maybe [Text]
parameters :: Maybe [Parameter]
onFailure :: Maybe OnFailure
notificationARNs :: Maybe [Text]
enableTerminationProtection :: Maybe Bool
disableRollback :: Maybe Bool
clientRequestToken :: Maybe Text
capabilities :: Maybe [Capability]
$sel:stackName:CreateStack' :: CreateStack -> Text
$sel:timeoutInMinutes:CreateStack' :: CreateStack -> Maybe Natural
$sel:templateURL:CreateStack' :: CreateStack -> Maybe Text
$sel:templateBody:CreateStack' :: CreateStack -> Maybe Text
$sel:tags:CreateStack' :: CreateStack -> Maybe [Tag]
$sel:stackPolicyURL:CreateStack' :: CreateStack -> Maybe Text
$sel:stackPolicyBody:CreateStack' :: CreateStack -> Maybe Text
$sel:rollbackConfiguration:CreateStack' :: CreateStack -> Maybe RollbackConfiguration
$sel:roleARN:CreateStack' :: CreateStack -> Maybe Text
$sel:resourceTypes:CreateStack' :: CreateStack -> Maybe [Text]
$sel:parameters:CreateStack' :: CreateStack -> Maybe [Parameter]
$sel:onFailure:CreateStack' :: CreateStack -> Maybe OnFailure
$sel:notificationARNs:CreateStack' :: CreateStack -> Maybe [Text]
$sel:enableTerminationProtection:CreateStack' :: CreateStack -> Maybe Bool
$sel:disableRollback:CreateStack' :: CreateStack -> Maybe Bool
$sel:clientRequestToken:CreateStack' :: CreateStack -> Maybe Text
$sel:capabilities:CreateStack' :: CreateStack -> Maybe [Capability]
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Capability]
capabilities
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
clientRequestToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
disableRollback
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
enableTerminationProtection
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
notificationARNs
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe OnFailure
onFailure
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Parameter]
parameters
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
resourceTypes
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
roleARN
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe RollbackConfiguration
rollbackConfiguration
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
stackPolicyBody
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
stackPolicyURL
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tags
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
templateBody
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
templateURL
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
timeoutInMinutes
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
stackName
instance Prelude.NFData CreateStack where
rnf :: CreateStack -> ()
rnf CreateStack' {Maybe Bool
Maybe Natural
Maybe [Text]
Maybe [Capability]
Maybe [Parameter]
Maybe [Tag]
Maybe Text
Maybe OnFailure
Maybe RollbackConfiguration
Text
stackName :: Text
timeoutInMinutes :: Maybe Natural
templateURL :: Maybe Text
templateBody :: Maybe Text
tags :: Maybe [Tag]
stackPolicyURL :: Maybe Text
stackPolicyBody :: Maybe Text
rollbackConfiguration :: Maybe RollbackConfiguration
roleARN :: Maybe Text
resourceTypes :: Maybe [Text]
parameters :: Maybe [Parameter]
onFailure :: Maybe OnFailure
notificationARNs :: Maybe [Text]
enableTerminationProtection :: Maybe Bool
disableRollback :: Maybe Bool
clientRequestToken :: Maybe Text
capabilities :: Maybe [Capability]
$sel:stackName:CreateStack' :: CreateStack -> Text
$sel:timeoutInMinutes:CreateStack' :: CreateStack -> Maybe Natural
$sel:templateURL:CreateStack' :: CreateStack -> Maybe Text
$sel:templateBody:CreateStack' :: CreateStack -> Maybe Text
$sel:tags:CreateStack' :: CreateStack -> Maybe [Tag]
$sel:stackPolicyURL:CreateStack' :: CreateStack -> Maybe Text
$sel:stackPolicyBody:CreateStack' :: CreateStack -> Maybe Text
$sel:rollbackConfiguration:CreateStack' :: CreateStack -> Maybe RollbackConfiguration
$sel:roleARN:CreateStack' :: CreateStack -> Maybe Text
$sel:resourceTypes:CreateStack' :: CreateStack -> Maybe [Text]
$sel:parameters:CreateStack' :: CreateStack -> Maybe [Parameter]
$sel:onFailure:CreateStack' :: CreateStack -> Maybe OnFailure
$sel:notificationARNs:CreateStack' :: CreateStack -> Maybe [Text]
$sel:enableTerminationProtection:CreateStack' :: CreateStack -> Maybe Bool
$sel:disableRollback:CreateStack' :: CreateStack -> Maybe Bool
$sel:clientRequestToken:CreateStack' :: CreateStack -> Maybe Text
$sel:capabilities:CreateStack' :: CreateStack -> Maybe [Capability]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [Capability]
capabilities
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
clientRequestToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
disableRollback
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
enableTerminationProtection
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
notificationARNs
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe OnFailure
onFailure
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Parameter]
parameters
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
resourceTypes
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
roleARN
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe RollbackConfiguration
rollbackConfiguration
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
stackPolicyBody
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
stackPolicyURL
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Tag]
tags
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
templateBody
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
templateURL
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
timeoutInMinutes
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
stackName
instance Data.ToHeaders CreateStack where
toHeaders :: CreateStack -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath CreateStack where
toPath :: CreateStack -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery CreateStack where
toQuery :: CreateStack -> QueryString
toQuery CreateStack' {Maybe Bool
Maybe Natural
Maybe [Text]
Maybe [Capability]
Maybe [Parameter]
Maybe [Tag]
Maybe Text
Maybe OnFailure
Maybe RollbackConfiguration
Text
stackName :: Text
timeoutInMinutes :: Maybe Natural
templateURL :: Maybe Text
templateBody :: Maybe Text
tags :: Maybe [Tag]
stackPolicyURL :: Maybe Text
stackPolicyBody :: Maybe Text
rollbackConfiguration :: Maybe RollbackConfiguration
roleARN :: Maybe Text
resourceTypes :: Maybe [Text]
parameters :: Maybe [Parameter]
onFailure :: Maybe OnFailure
notificationARNs :: Maybe [Text]
enableTerminationProtection :: Maybe Bool
disableRollback :: Maybe Bool
clientRequestToken :: Maybe Text
capabilities :: Maybe [Capability]
$sel:stackName:CreateStack' :: CreateStack -> Text
$sel:timeoutInMinutes:CreateStack' :: CreateStack -> Maybe Natural
$sel:templateURL:CreateStack' :: CreateStack -> Maybe Text
$sel:templateBody:CreateStack' :: CreateStack -> Maybe Text
$sel:tags:CreateStack' :: CreateStack -> Maybe [Tag]
$sel:stackPolicyURL:CreateStack' :: CreateStack -> Maybe Text
$sel:stackPolicyBody:CreateStack' :: CreateStack -> Maybe Text
$sel:rollbackConfiguration:CreateStack' :: CreateStack -> Maybe RollbackConfiguration
$sel:roleARN:CreateStack' :: CreateStack -> Maybe Text
$sel:resourceTypes:CreateStack' :: CreateStack -> Maybe [Text]
$sel:parameters:CreateStack' :: CreateStack -> Maybe [Parameter]
$sel:onFailure:CreateStack' :: CreateStack -> Maybe OnFailure
$sel:notificationARNs:CreateStack' :: CreateStack -> Maybe [Text]
$sel:enableTerminationProtection:CreateStack' :: CreateStack -> Maybe Bool
$sel:disableRollback:CreateStack' :: CreateStack -> Maybe Bool
$sel:clientRequestToken:CreateStack' :: CreateStack -> Maybe Text
$sel:capabilities:CreateStack' :: CreateStack -> Maybe [Capability]
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"CreateStack" :: Prelude.ByteString),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2010-05-15" :: Prelude.ByteString),
ByteString
"Capabilities"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: forall a. ToQuery a => a -> QueryString
Data.toQuery
(forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"member" forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Capability]
capabilities),
ByteString
"ClientRequestToken" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
clientRequestToken,
ByteString
"DisableRollback" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
disableRollback,
ByteString
"EnableTerminationProtection"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
enableTerminationProtection,
ByteString
"NotificationARNs"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: forall a. ToQuery a => a -> QueryString
Data.toQuery
( forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"member"
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
notificationARNs
),
ByteString
"OnFailure" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe OnFailure
onFailure,
ByteString
"Parameters"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: forall a. ToQuery a => a -> QueryString
Data.toQuery
(forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"member" forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Parameter]
parameters),
ByteString
"ResourceTypes"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: forall a. ToQuery a => a -> QueryString
Data.toQuery
( forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"member"
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
resourceTypes
),
ByteString
"RoleARN" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
roleARN,
ByteString
"RollbackConfiguration"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe RollbackConfiguration
rollbackConfiguration,
ByteString
"StackPolicyBody" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
stackPolicyBody,
ByteString
"StackPolicyURL" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
stackPolicyURL,
ByteString
"Tags"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: forall a. ToQuery a => a -> QueryString
Data.toQuery
(forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"member" forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Tag]
tags),
ByteString
"TemplateBody" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
templateBody,
ByteString
"TemplateURL" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
templateURL,
ByteString
"TimeoutInMinutes" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Natural
timeoutInMinutes,
ByteString
"StackName" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
stackName
]
data CreateStackResponse = CreateStackResponse'
{
CreateStackResponse -> Maybe Text
stackId :: Prelude.Maybe Prelude.Text,
CreateStackResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateStackResponse -> CreateStackResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateStackResponse -> CreateStackResponse -> Bool
$c/= :: CreateStackResponse -> CreateStackResponse -> Bool
== :: CreateStackResponse -> CreateStackResponse -> Bool
$c== :: CreateStackResponse -> CreateStackResponse -> Bool
Prelude.Eq, ReadPrec [CreateStackResponse]
ReadPrec CreateStackResponse
Int -> ReadS CreateStackResponse
ReadS [CreateStackResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateStackResponse]
$creadListPrec :: ReadPrec [CreateStackResponse]
readPrec :: ReadPrec CreateStackResponse
$creadPrec :: ReadPrec CreateStackResponse
readList :: ReadS [CreateStackResponse]
$creadList :: ReadS [CreateStackResponse]
readsPrec :: Int -> ReadS CreateStackResponse
$creadsPrec :: Int -> ReadS CreateStackResponse
Prelude.Read, Int -> CreateStackResponse -> ShowS
[CreateStackResponse] -> ShowS
CreateStackResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateStackResponse] -> ShowS
$cshowList :: [CreateStackResponse] -> ShowS
show :: CreateStackResponse -> String
$cshow :: CreateStackResponse -> String
showsPrec :: Int -> CreateStackResponse -> ShowS
$cshowsPrec :: Int -> CreateStackResponse -> ShowS
Prelude.Show, forall x. Rep CreateStackResponse x -> CreateStackResponse
forall x. CreateStackResponse -> Rep CreateStackResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateStackResponse x -> CreateStackResponse
$cfrom :: forall x. CreateStackResponse -> Rep CreateStackResponse x
Prelude.Generic)
newCreateStackResponse ::
Prelude.Int ->
CreateStackResponse
newCreateStackResponse :: Int -> CreateStackResponse
newCreateStackResponse Int
pHttpStatus_ =
CreateStackResponse'
{ $sel:stackId:CreateStackResponse' :: Maybe Text
stackId = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreateStackResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createStackResponse_stackId :: Lens.Lens' CreateStackResponse (Prelude.Maybe Prelude.Text)
createStackResponse_stackId :: Lens' CreateStackResponse (Maybe Text)
createStackResponse_stackId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateStackResponse' {Maybe Text
stackId :: Maybe Text
$sel:stackId:CreateStackResponse' :: CreateStackResponse -> Maybe Text
stackId} -> Maybe Text
stackId) (\s :: CreateStackResponse
s@CreateStackResponse' {} Maybe Text
a -> CreateStackResponse
s {$sel:stackId:CreateStackResponse' :: Maybe Text
stackId = Maybe Text
a} :: CreateStackResponse)
createStackResponse_httpStatus :: Lens.Lens' CreateStackResponse Prelude.Int
createStackResponse_httpStatus :: Lens' CreateStackResponse Int
createStackResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateStackResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateStackResponse' :: CreateStackResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateStackResponse
s@CreateStackResponse' {} Int
a -> CreateStackResponse
s {$sel:httpStatus:CreateStackResponse' :: Int
httpStatus = Int
a} :: CreateStackResponse)
instance Prelude.NFData CreateStackResponse where
rnf :: CreateStackResponse -> ()
rnf CreateStackResponse' {Int
Maybe Text
httpStatus :: Int
stackId :: Maybe Text
$sel:httpStatus:CreateStackResponse' :: CreateStackResponse -> Int
$sel:stackId:CreateStackResponse' :: CreateStackResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
stackId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus