packages feed

amazonka-cloudformation 1.4.5 → 1.5.0

raw patch · 77 files changed

+7107/−2702 lines, 77 filesdep ~amazonka-cloudformationdep ~amazonka-coredep ~amazonka-testPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: amazonka-cloudformation, amazonka-core, amazonka-test

API changes (from Hackage documentation)

- Network.AWS.CloudFormation: cssChangeSetId :: Lens' ChangeSetSummary (Maybe Text)
- Network.AWS.CloudFormation: cssChangeSetName :: Lens' ChangeSetSummary (Maybe Text)
- Network.AWS.CloudFormation: cssCreationTime :: Lens' ChangeSetSummary (Maybe UTCTime)
- Network.AWS.CloudFormation: cssDescription :: Lens' ChangeSetSummary (Maybe Text)
- Network.AWS.CloudFormation: cssExecutionStatus :: Lens' ChangeSetSummary (Maybe ExecutionStatus)
- Network.AWS.CloudFormation: cssStackId :: Lens' ChangeSetSummary (Maybe Text)
- Network.AWS.CloudFormation: cssStackName :: Lens' ChangeSetSummary (Maybe Text)
- Network.AWS.CloudFormation: cssStatus :: Lens' ChangeSetSummary (Maybe ChangeSetStatus)
- Network.AWS.CloudFormation: cssStatusReason :: Lens' ChangeSetSummary (Maybe Text)
- Network.AWS.CloudFormation.DescribeChangeSet: drsCapabilities :: Lens' DescribeChangeSetResponse [Capability]
- Network.AWS.CloudFormation.DescribeChangeSet: drsChangeSetId :: Lens' DescribeChangeSetResponse (Maybe Text)
- Network.AWS.CloudFormation.DescribeChangeSet: drsChangeSetName :: Lens' DescribeChangeSetResponse (Maybe Text)
- Network.AWS.CloudFormation.DescribeChangeSet: drsChanges :: Lens' DescribeChangeSetResponse [Change]
- Network.AWS.CloudFormation.DescribeChangeSet: drsCreationTime :: Lens' DescribeChangeSetResponse (Maybe UTCTime)
- Network.AWS.CloudFormation.DescribeChangeSet: drsDescription :: Lens' DescribeChangeSetResponse (Maybe Text)
- Network.AWS.CloudFormation.DescribeChangeSet: drsExecutionStatus :: Lens' DescribeChangeSetResponse (Maybe ExecutionStatus)
- Network.AWS.CloudFormation.DescribeChangeSet: drsNextToken :: Lens' DescribeChangeSetResponse (Maybe Text)
- Network.AWS.CloudFormation.DescribeChangeSet: drsNotificationARNs :: Lens' DescribeChangeSetResponse [Text]
- Network.AWS.CloudFormation.DescribeChangeSet: drsParameters :: Lens' DescribeChangeSetResponse [Parameter]
- Network.AWS.CloudFormation.DescribeChangeSet: drsResponseStatus :: Lens' DescribeChangeSetResponse Int
- Network.AWS.CloudFormation.DescribeChangeSet: drsStackId :: Lens' DescribeChangeSetResponse (Maybe Text)
- Network.AWS.CloudFormation.DescribeChangeSet: drsStackName :: Lens' DescribeChangeSetResponse (Maybe Text)
- Network.AWS.CloudFormation.DescribeChangeSet: drsStatus :: Lens' DescribeChangeSetResponse ChangeSetStatus
- Network.AWS.CloudFormation.DescribeChangeSet: drsStatusReason :: Lens' DescribeChangeSetResponse (Maybe Text)
- Network.AWS.CloudFormation.DescribeChangeSet: drsTags :: Lens' DescribeChangeSetResponse [Tag]
- Network.AWS.CloudFormation.Types: cssChangeSetId :: Lens' ChangeSetSummary (Maybe Text)
- Network.AWS.CloudFormation.Types: cssChangeSetName :: Lens' ChangeSetSummary (Maybe Text)
- Network.AWS.CloudFormation.Types: cssCreationTime :: Lens' ChangeSetSummary (Maybe UTCTime)
- Network.AWS.CloudFormation.Types: cssDescription :: Lens' ChangeSetSummary (Maybe Text)
- Network.AWS.CloudFormation.Types: cssExecutionStatus :: Lens' ChangeSetSummary (Maybe ExecutionStatus)
- Network.AWS.CloudFormation.Types: cssStackId :: Lens' ChangeSetSummary (Maybe Text)
- Network.AWS.CloudFormation.Types: cssStackName :: Lens' ChangeSetSummary (Maybe Text)
- Network.AWS.CloudFormation.Types: cssStatus :: Lens' ChangeSetSummary (Maybe ChangeSetStatus)
- Network.AWS.CloudFormation.Types: cssStatusReason :: Lens' ChangeSetSummary (Maybe Text)
+ Network.AWS.CloudFormation: AGSFailed :: AccountGateStatus
+ Network.AWS.CloudFormation: AGSSkipped :: AccountGateStatus
+ Network.AWS.CloudFormation: AGSSucceeded :: AccountGateStatus
+ Network.AWS.CloudFormation: Active :: StackSetStatus
+ Network.AWS.CloudFormation: Cancelled :: StackSetOperationResultStatus
+ Network.AWS.CloudFormation: Current :: StackInstanceStatus
+ Network.AWS.CloudFormation: Deleted :: StackSetStatus
+ Network.AWS.CloudFormation: Failed :: StackSetOperationResultStatus
+ Network.AWS.CloudFormation: Inoperable :: StackInstanceStatus
+ Network.AWS.CloudFormation: Outdated :: StackInstanceStatus
+ Network.AWS.CloudFormation: Pending :: StackSetOperationResultStatus
+ Network.AWS.CloudFormation: Running :: StackSetOperationResultStatus
+ Network.AWS.CloudFormation: SSOACreate :: StackSetOperationAction
+ Network.AWS.CloudFormation: SSOADelete :: StackSetOperationAction
+ Network.AWS.CloudFormation: SSOAUpdate :: StackSetOperationAction
+ Network.AWS.CloudFormation: SSOSFailed :: StackSetOperationStatus
+ Network.AWS.CloudFormation: SSOSRunning :: StackSetOperationStatus
+ Network.AWS.CloudFormation: SSOSStopped :: StackSetOperationStatus
+ Network.AWS.CloudFormation: SSOSStopping :: StackSetOperationStatus
+ Network.AWS.CloudFormation: SSOSSucceeded :: StackSetOperationStatus
+ Network.AWS.CloudFormation: Succeeded :: StackSetOperationResultStatus
+ Network.AWS.CloudFormation: _CreatedButModifiedException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFormation: _InvalidOperationException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFormation: _NameAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFormation: _OperationIdAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFormation: _OperationInProgressException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFormation: _OperationNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFormation: _StackInstanceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFormation: _StackSetNotEmptyException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFormation: _StackSetNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFormation: _StaleRequestException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFormation: _TokenAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFormation: accountGateResult :: AccountGateResult
+ Network.AWS.CloudFormation: agrStatus :: Lens' AccountGateResult (Maybe AccountGateStatus)
+ Network.AWS.CloudFormation: agrStatusReason :: Lens' AccountGateResult (Maybe Text)
+ Network.AWS.CloudFormation: cChangeSetId :: Lens' ChangeSetSummary (Maybe Text)
+ Network.AWS.CloudFormation: cChangeSetName :: Lens' ChangeSetSummary (Maybe Text)
+ Network.AWS.CloudFormation: cCreationTime :: Lens' ChangeSetSummary (Maybe UTCTime)
+ Network.AWS.CloudFormation: cDescription :: Lens' ChangeSetSummary (Maybe Text)
+ Network.AWS.CloudFormation: cExecutionStatus :: Lens' ChangeSetSummary (Maybe ExecutionStatus)
+ Network.AWS.CloudFormation: cStackId :: Lens' ChangeSetSummary (Maybe Text)
+ Network.AWS.CloudFormation: cStackName :: Lens' ChangeSetSummary (Maybe Text)
+ Network.AWS.CloudFormation: cStatus :: Lens' ChangeSetSummary (Maybe ChangeSetStatus)
+ Network.AWS.CloudFormation: cStatusReason :: Lens' ChangeSetSummary (Maybe Text)
+ Network.AWS.CloudFormation: data AccountGateResult
+ Network.AWS.CloudFormation: data AccountGateStatus
+ Network.AWS.CloudFormation: data RollbackConfiguration
+ Network.AWS.CloudFormation: data RollbackTrigger
+ Network.AWS.CloudFormation: data StackInstance
+ Network.AWS.CloudFormation: data StackInstanceStatus
+ Network.AWS.CloudFormation: data StackInstanceSummary
+ Network.AWS.CloudFormation: data StackSet
+ Network.AWS.CloudFormation: data StackSetOperation
+ Network.AWS.CloudFormation: data StackSetOperationAction
+ Network.AWS.CloudFormation: data StackSetOperationPreferences
+ Network.AWS.CloudFormation: data StackSetOperationResultStatus
+ Network.AWS.CloudFormation: data StackSetOperationResultSummary
+ Network.AWS.CloudFormation: data StackSetOperationStatus
+ Network.AWS.CloudFormation: data StackSetOperationSummary
+ Network.AWS.CloudFormation: data StackSetStatus
+ Network.AWS.CloudFormation: data StackSetSummary
+ Network.AWS.CloudFormation: oExportName :: Lens' Output (Maybe Text)
+ Network.AWS.CloudFormation: rcMonitoringTimeInMinutes :: Lens' RollbackConfiguration (Maybe Natural)
+ Network.AWS.CloudFormation: rcRollbackTriggers :: Lens' RollbackConfiguration [RollbackTrigger]
+ Network.AWS.CloudFormation: rollbackConfiguration :: RollbackConfiguration
+ Network.AWS.CloudFormation: rollbackTrigger :: Text -> Text -> RollbackTrigger
+ Network.AWS.CloudFormation: rtARN :: Lens' RollbackTrigger Text
+ Network.AWS.CloudFormation: rtType :: Lens' RollbackTrigger Text
+ Network.AWS.CloudFormation: sDeletionTime :: Lens' Stack (Maybe UTCTime)
+ Network.AWS.CloudFormation: sEnableTerminationProtection :: Lens' Stack (Maybe Bool)
+ Network.AWS.CloudFormation: sParentId :: Lens' Stack (Maybe Text)
+ Network.AWS.CloudFormation: sRollbackConfiguration :: Lens' Stack (Maybe RollbackConfiguration)
+ Network.AWS.CloudFormation: sRootId :: Lens' Stack (Maybe Text)
+ Network.AWS.CloudFormation: seClientRequestToken :: Lens' StackEvent (Maybe Text)
+ Network.AWS.CloudFormation: siAccount :: Lens' StackInstance (Maybe Text)
+ Network.AWS.CloudFormation: siRegion :: Lens' StackInstance (Maybe Text)
+ Network.AWS.CloudFormation: siStackId :: Lens' StackInstance (Maybe Text)
+ Network.AWS.CloudFormation: siStackSetId :: Lens' StackInstance (Maybe Text)
+ Network.AWS.CloudFormation: siStatus :: Lens' StackInstance (Maybe StackInstanceStatus)
+ Network.AWS.CloudFormation: siStatusReason :: Lens' StackInstance (Maybe Text)
+ Network.AWS.CloudFormation: sisAccount :: Lens' StackInstanceSummary (Maybe Text)
+ Network.AWS.CloudFormation: sisRegion :: Lens' StackInstanceSummary (Maybe Text)
+ Network.AWS.CloudFormation: sisStackId :: Lens' StackInstanceSummary (Maybe Text)
+ Network.AWS.CloudFormation: sisStackSetId :: Lens' StackInstanceSummary (Maybe Text)
+ Network.AWS.CloudFormation: sisStatus :: Lens' StackInstanceSummary (Maybe StackInstanceStatus)
+ Network.AWS.CloudFormation: sisStatusReason :: Lens' StackInstanceSummary (Maybe Text)
+ Network.AWS.CloudFormation: ssCapabilities :: Lens' StackSet [Capability]
+ Network.AWS.CloudFormation: ssDescription :: Lens' StackSet (Maybe Text)
+ Network.AWS.CloudFormation: ssParameters :: Lens' StackSet [Parameter]
+ Network.AWS.CloudFormation: ssParentId :: Lens' StackSummary (Maybe Text)
+ Network.AWS.CloudFormation: ssRootId :: Lens' StackSummary (Maybe Text)
+ Network.AWS.CloudFormation: ssStackSetId :: Lens' StackSet (Maybe Text)
+ Network.AWS.CloudFormation: ssStackSetName :: Lens' StackSet (Maybe Text)
+ Network.AWS.CloudFormation: ssStatus :: Lens' StackSet (Maybe StackSetStatus)
+ Network.AWS.CloudFormation: ssTags :: Lens' StackSet [Tag]
+ Network.AWS.CloudFormation: ssTemplateBody :: Lens' StackSet (Maybe Text)
+ Network.AWS.CloudFormation: ssoAction :: Lens' StackSetOperation (Maybe StackSetOperationAction)
+ Network.AWS.CloudFormation: ssoCreationTimestamp :: Lens' StackSetOperation (Maybe UTCTime)
+ Network.AWS.CloudFormation: ssoEndTimestamp :: Lens' StackSetOperation (Maybe UTCTime)
+ Network.AWS.CloudFormation: ssoOperationId :: Lens' StackSetOperation (Maybe Text)
+ Network.AWS.CloudFormation: ssoOperationPreferences :: Lens' StackSetOperation (Maybe StackSetOperationPreferences)
+ Network.AWS.CloudFormation: ssoRetainStacks :: Lens' StackSetOperation (Maybe Bool)
+ Network.AWS.CloudFormation: ssoStackSetId :: Lens' StackSetOperation (Maybe Text)
+ Network.AWS.CloudFormation: ssoStatus :: Lens' StackSetOperation (Maybe StackSetOperationStatus)
+ Network.AWS.CloudFormation: ssopFailureToleranceCount :: Lens' StackSetOperationPreferences (Maybe Natural)
+ Network.AWS.CloudFormation: ssopFailureTolerancePercentage :: Lens' StackSetOperationPreferences (Maybe Natural)
+ Network.AWS.CloudFormation: ssopMaxConcurrentCount :: Lens' StackSetOperationPreferences (Maybe Natural)
+ Network.AWS.CloudFormation: ssopMaxConcurrentPercentage :: Lens' StackSetOperationPreferences (Maybe Natural)
+ Network.AWS.CloudFormation: ssopRegionOrder :: Lens' StackSetOperationPreferences [Text]
+ Network.AWS.CloudFormation: ssorsAccount :: Lens' StackSetOperationResultSummary (Maybe Text)
+ Network.AWS.CloudFormation: ssorsAccountGateResult :: Lens' StackSetOperationResultSummary (Maybe AccountGateResult)
+ Network.AWS.CloudFormation: ssorsRegion :: Lens' StackSetOperationResultSummary (Maybe Text)
+ Network.AWS.CloudFormation: ssorsStatus :: Lens' StackSetOperationResultSummary (Maybe StackSetOperationResultStatus)
+ Network.AWS.CloudFormation: ssorsStatusReason :: Lens' StackSetOperationResultSummary (Maybe Text)
+ Network.AWS.CloudFormation: ssosAction :: Lens' StackSetOperationSummary (Maybe StackSetOperationAction)
+ Network.AWS.CloudFormation: ssosCreationTimestamp :: Lens' StackSetOperationSummary (Maybe UTCTime)
+ Network.AWS.CloudFormation: ssosEndTimestamp :: Lens' StackSetOperationSummary (Maybe UTCTime)
+ Network.AWS.CloudFormation: ssosOperationId :: Lens' StackSetOperationSummary (Maybe Text)
+ Network.AWS.CloudFormation: ssosStatus :: Lens' StackSetOperationSummary (Maybe StackSetOperationStatus)
+ Network.AWS.CloudFormation: sssDescription :: Lens' StackSetSummary (Maybe Text)
+ Network.AWS.CloudFormation: sssStackSetId :: Lens' StackSetSummary (Maybe Text)
+ Network.AWS.CloudFormation: sssStackSetName :: Lens' StackSetSummary (Maybe Text)
+ Network.AWS.CloudFormation: sssStatus :: Lens' StackSetSummary (Maybe StackSetStatus)
+ Network.AWS.CloudFormation: stackInstance :: StackInstance
+ Network.AWS.CloudFormation: stackInstanceSummary :: StackInstanceSummary
+ Network.AWS.CloudFormation: stackSet :: StackSet
+ Network.AWS.CloudFormation: stackSetOperation :: StackSetOperation
+ Network.AWS.CloudFormation: stackSetOperationPreferences :: StackSetOperationPreferences
+ Network.AWS.CloudFormation: stackSetOperationResultSummary :: StackSetOperationResultSummary
+ Network.AWS.CloudFormation: stackSetOperationSummary :: StackSetOperationSummary
+ Network.AWS.CloudFormation: stackSetSummary :: StackSetSummary
+ Network.AWS.CloudFormation.CancelUpdateStack: cusClientRequestToken :: Lens' CancelUpdateStack (Maybe Text)
+ Network.AWS.CloudFormation.ContinueUpdateRollback: curClientRequestToken :: Lens' ContinueUpdateRollback (Maybe Text)
+ Network.AWS.CloudFormation.CreateChangeSet: ccsRollbackConfiguration :: Lens' CreateChangeSet (Maybe RollbackConfiguration)
+ Network.AWS.CloudFormation.CreateStack: csClientRequestToken :: Lens' CreateStack (Maybe Text)
+ Network.AWS.CloudFormation.CreateStack: csEnableTerminationProtection :: Lens' CreateStack (Maybe Bool)
+ Network.AWS.CloudFormation.CreateStack: csRollbackConfiguration :: Lens' CreateStack (Maybe RollbackConfiguration)
+ Network.AWS.CloudFormation.CreateStackInstances: createStackInstances :: Text -> CreateStackInstances
+ Network.AWS.CloudFormation.CreateStackInstances: createStackInstancesResponse :: Int -> CreateStackInstancesResponse
+ Network.AWS.CloudFormation.CreateStackInstances: csiAccounts :: Lens' CreateStackInstances [Text]
+ Network.AWS.CloudFormation.CreateStackInstances: csiOperationId :: Lens' CreateStackInstances (Maybe Text)
+ Network.AWS.CloudFormation.CreateStackInstances: csiOperationPreferences :: Lens' CreateStackInstances (Maybe StackSetOperationPreferences)
+ Network.AWS.CloudFormation.CreateStackInstances: csiRegions :: Lens' CreateStackInstances [Text]
+ Network.AWS.CloudFormation.CreateStackInstances: csiStackSetName :: Lens' CreateStackInstances Text
+ Network.AWS.CloudFormation.CreateStackInstances: csirsOperationId :: Lens' CreateStackInstancesResponse (Maybe Text)
+ Network.AWS.CloudFormation.CreateStackInstances: csirsResponseStatus :: Lens' CreateStackInstancesResponse Int
+ Network.AWS.CloudFormation.CreateStackInstances: data CreateStackInstances
+ Network.AWS.CloudFormation.CreateStackInstances: data CreateStackInstancesResponse
+ Network.AWS.CloudFormation.CreateStackInstances: instance Control.DeepSeq.NFData Network.AWS.CloudFormation.CreateStackInstances.CreateStackInstances
+ Network.AWS.CloudFormation.CreateStackInstances: instance Control.DeepSeq.NFData Network.AWS.CloudFormation.CreateStackInstances.CreateStackInstancesResponse
+ Network.AWS.CloudFormation.CreateStackInstances: instance Data.Data.Data Network.AWS.CloudFormation.CreateStackInstances.CreateStackInstances
+ Network.AWS.CloudFormation.CreateStackInstances: instance Data.Data.Data Network.AWS.CloudFormation.CreateStackInstances.CreateStackInstancesResponse
+ Network.AWS.CloudFormation.CreateStackInstances: instance Data.Hashable.Class.Hashable Network.AWS.CloudFormation.CreateStackInstances.CreateStackInstances
+ Network.AWS.CloudFormation.CreateStackInstances: instance GHC.Classes.Eq Network.AWS.CloudFormation.CreateStackInstances.CreateStackInstances
+ Network.AWS.CloudFormation.CreateStackInstances: instance GHC.Classes.Eq Network.AWS.CloudFormation.CreateStackInstances.CreateStackInstancesResponse
+ Network.AWS.CloudFormation.CreateStackInstances: instance GHC.Generics.Generic Network.AWS.CloudFormation.CreateStackInstances.CreateStackInstances
+ Network.AWS.CloudFormation.CreateStackInstances: instance GHC.Generics.Generic Network.AWS.CloudFormation.CreateStackInstances.CreateStackInstancesResponse
+ Network.AWS.CloudFormation.CreateStackInstances: instance GHC.Read.Read Network.AWS.CloudFormation.CreateStackInstances.CreateStackInstances
+ Network.AWS.CloudFormation.CreateStackInstances: instance GHC.Read.Read Network.AWS.CloudFormation.CreateStackInstances.CreateStackInstancesResponse
+ Network.AWS.CloudFormation.CreateStackInstances: instance GHC.Show.Show Network.AWS.CloudFormation.CreateStackInstances.CreateStackInstances
+ Network.AWS.CloudFormation.CreateStackInstances: instance GHC.Show.Show Network.AWS.CloudFormation.CreateStackInstances.CreateStackInstancesResponse
+ Network.AWS.CloudFormation.CreateStackInstances: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFormation.CreateStackInstances.CreateStackInstances
+ Network.AWS.CloudFormation.CreateStackInstances: instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFormation.CreateStackInstances.CreateStackInstances
+ Network.AWS.CloudFormation.CreateStackInstances: instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFormation.CreateStackInstances.CreateStackInstances
+ Network.AWS.CloudFormation.CreateStackInstances: instance Network.AWS.Types.AWSRequest Network.AWS.CloudFormation.CreateStackInstances.CreateStackInstances
+ Network.AWS.CloudFormation.CreateStackSet: createStackSet :: Text -> CreateStackSet
+ Network.AWS.CloudFormation.CreateStackSet: createStackSetResponse :: Int -> CreateStackSetResponse
+ Network.AWS.CloudFormation.CreateStackSet: cssCapabilities :: Lens' CreateStackSet [Capability]
+ Network.AWS.CloudFormation.CreateStackSet: cssClientRequestToken :: Lens' CreateStackSet (Maybe Text)
+ Network.AWS.CloudFormation.CreateStackSet: cssDescription :: Lens' CreateStackSet (Maybe Text)
+ Network.AWS.CloudFormation.CreateStackSet: cssParameters :: Lens' CreateStackSet [Parameter]
+ Network.AWS.CloudFormation.CreateStackSet: cssStackSetName :: Lens' CreateStackSet Text
+ Network.AWS.CloudFormation.CreateStackSet: cssTags :: Lens' CreateStackSet [Tag]
+ Network.AWS.CloudFormation.CreateStackSet: cssTemplateBody :: Lens' CreateStackSet (Maybe Text)
+ Network.AWS.CloudFormation.CreateStackSet: cssTemplateURL :: Lens' CreateStackSet (Maybe Text)
+ Network.AWS.CloudFormation.CreateStackSet: cssrsResponseStatus :: Lens' CreateStackSetResponse Int
+ Network.AWS.CloudFormation.CreateStackSet: cssrsStackSetId :: Lens' CreateStackSetResponse (Maybe Text)
+ Network.AWS.CloudFormation.CreateStackSet: data CreateStackSet
+ Network.AWS.CloudFormation.CreateStackSet: data CreateStackSetResponse
+ Network.AWS.CloudFormation.CreateStackSet: instance Control.DeepSeq.NFData Network.AWS.CloudFormation.CreateStackSet.CreateStackSet
+ Network.AWS.CloudFormation.CreateStackSet: instance Control.DeepSeq.NFData Network.AWS.CloudFormation.CreateStackSet.CreateStackSetResponse
+ Network.AWS.CloudFormation.CreateStackSet: instance Data.Data.Data Network.AWS.CloudFormation.CreateStackSet.CreateStackSet
+ Network.AWS.CloudFormation.CreateStackSet: instance Data.Data.Data Network.AWS.CloudFormation.CreateStackSet.CreateStackSetResponse
+ Network.AWS.CloudFormation.CreateStackSet: instance Data.Hashable.Class.Hashable Network.AWS.CloudFormation.CreateStackSet.CreateStackSet
+ Network.AWS.CloudFormation.CreateStackSet: instance GHC.Classes.Eq Network.AWS.CloudFormation.CreateStackSet.CreateStackSet
+ Network.AWS.CloudFormation.CreateStackSet: instance GHC.Classes.Eq Network.AWS.CloudFormation.CreateStackSet.CreateStackSetResponse
+ Network.AWS.CloudFormation.CreateStackSet: instance GHC.Generics.Generic Network.AWS.CloudFormation.CreateStackSet.CreateStackSet
+ Network.AWS.CloudFormation.CreateStackSet: instance GHC.Generics.Generic Network.AWS.CloudFormation.CreateStackSet.CreateStackSetResponse
+ Network.AWS.CloudFormation.CreateStackSet: instance GHC.Read.Read Network.AWS.CloudFormation.CreateStackSet.CreateStackSet
+ Network.AWS.CloudFormation.CreateStackSet: instance GHC.Read.Read Network.AWS.CloudFormation.CreateStackSet.CreateStackSetResponse
+ Network.AWS.CloudFormation.CreateStackSet: instance GHC.Show.Show Network.AWS.CloudFormation.CreateStackSet.CreateStackSet
+ Network.AWS.CloudFormation.CreateStackSet: instance GHC.Show.Show Network.AWS.CloudFormation.CreateStackSet.CreateStackSetResponse
+ Network.AWS.CloudFormation.CreateStackSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFormation.CreateStackSet.CreateStackSet
+ Network.AWS.CloudFormation.CreateStackSet: instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFormation.CreateStackSet.CreateStackSet
+ Network.AWS.CloudFormation.CreateStackSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFormation.CreateStackSet.CreateStackSet
+ Network.AWS.CloudFormation.CreateStackSet: instance Network.AWS.Types.AWSRequest Network.AWS.CloudFormation.CreateStackSet.CreateStackSet
+ Network.AWS.CloudFormation.DeleteStack: dsClientRequestToken :: Lens' DeleteStack (Maybe Text)
+ Network.AWS.CloudFormation.DeleteStackInstances: data DeleteStackInstances
+ Network.AWS.CloudFormation.DeleteStackInstances: data DeleteStackInstancesResponse
+ Network.AWS.CloudFormation.DeleteStackInstances: deleteStackInstances :: Text -> Bool -> DeleteStackInstances
+ Network.AWS.CloudFormation.DeleteStackInstances: deleteStackInstancesResponse :: Int -> DeleteStackInstancesResponse
+ Network.AWS.CloudFormation.DeleteStackInstances: dsiAccounts :: Lens' DeleteStackInstances [Text]
+ Network.AWS.CloudFormation.DeleteStackInstances: dsiOperationId :: Lens' DeleteStackInstances (Maybe Text)
+ Network.AWS.CloudFormation.DeleteStackInstances: dsiOperationPreferences :: Lens' DeleteStackInstances (Maybe StackSetOperationPreferences)
+ Network.AWS.CloudFormation.DeleteStackInstances: dsiRegions :: Lens' DeleteStackInstances [Text]
+ Network.AWS.CloudFormation.DeleteStackInstances: dsiRetainStacks :: Lens' DeleteStackInstances Bool
+ Network.AWS.CloudFormation.DeleteStackInstances: dsiStackSetName :: Lens' DeleteStackInstances Text
+ Network.AWS.CloudFormation.DeleteStackInstances: dsirsOperationId :: Lens' DeleteStackInstancesResponse (Maybe Text)
+ Network.AWS.CloudFormation.DeleteStackInstances: dsirsResponseStatus :: Lens' DeleteStackInstancesResponse Int
+ Network.AWS.CloudFormation.DeleteStackInstances: instance Control.DeepSeq.NFData Network.AWS.CloudFormation.DeleteStackInstances.DeleteStackInstances
+ Network.AWS.CloudFormation.DeleteStackInstances: instance Control.DeepSeq.NFData Network.AWS.CloudFormation.DeleteStackInstances.DeleteStackInstancesResponse
+ Network.AWS.CloudFormation.DeleteStackInstances: instance Data.Data.Data Network.AWS.CloudFormation.DeleteStackInstances.DeleteStackInstances
+ Network.AWS.CloudFormation.DeleteStackInstances: instance Data.Data.Data Network.AWS.CloudFormation.DeleteStackInstances.DeleteStackInstancesResponse
+ Network.AWS.CloudFormation.DeleteStackInstances: instance Data.Hashable.Class.Hashable Network.AWS.CloudFormation.DeleteStackInstances.DeleteStackInstances
+ Network.AWS.CloudFormation.DeleteStackInstances: instance GHC.Classes.Eq Network.AWS.CloudFormation.DeleteStackInstances.DeleteStackInstances
+ Network.AWS.CloudFormation.DeleteStackInstances: instance GHC.Classes.Eq Network.AWS.CloudFormation.DeleteStackInstances.DeleteStackInstancesResponse
+ Network.AWS.CloudFormation.DeleteStackInstances: instance GHC.Generics.Generic Network.AWS.CloudFormation.DeleteStackInstances.DeleteStackInstances
+ Network.AWS.CloudFormation.DeleteStackInstances: instance GHC.Generics.Generic Network.AWS.CloudFormation.DeleteStackInstances.DeleteStackInstancesResponse
+ Network.AWS.CloudFormation.DeleteStackInstances: instance GHC.Read.Read Network.AWS.CloudFormation.DeleteStackInstances.DeleteStackInstances
+ Network.AWS.CloudFormation.DeleteStackInstances: instance GHC.Read.Read Network.AWS.CloudFormation.DeleteStackInstances.DeleteStackInstancesResponse
+ Network.AWS.CloudFormation.DeleteStackInstances: instance GHC.Show.Show Network.AWS.CloudFormation.DeleteStackInstances.DeleteStackInstances
+ Network.AWS.CloudFormation.DeleteStackInstances: instance GHC.Show.Show Network.AWS.CloudFormation.DeleteStackInstances.DeleteStackInstancesResponse
+ Network.AWS.CloudFormation.DeleteStackInstances: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFormation.DeleteStackInstances.DeleteStackInstances
+ Network.AWS.CloudFormation.DeleteStackInstances: instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFormation.DeleteStackInstances.DeleteStackInstances
+ Network.AWS.CloudFormation.DeleteStackInstances: instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFormation.DeleteStackInstances.DeleteStackInstances
+ Network.AWS.CloudFormation.DeleteStackInstances: instance Network.AWS.Types.AWSRequest Network.AWS.CloudFormation.DeleteStackInstances.DeleteStackInstances
+ Network.AWS.CloudFormation.DeleteStackSet: data DeleteStackSet
+ Network.AWS.CloudFormation.DeleteStackSet: data DeleteStackSetResponse
+ Network.AWS.CloudFormation.DeleteStackSet: deleteStackSet :: Text -> DeleteStackSet
+ Network.AWS.CloudFormation.DeleteStackSet: deleteStackSetResponse :: Int -> DeleteStackSetResponse
+ Network.AWS.CloudFormation.DeleteStackSet: dssStackSetName :: Lens' DeleteStackSet Text
+ Network.AWS.CloudFormation.DeleteStackSet: dssrsResponseStatus :: Lens' DeleteStackSetResponse Int
+ Network.AWS.CloudFormation.DeleteStackSet: instance Control.DeepSeq.NFData Network.AWS.CloudFormation.DeleteStackSet.DeleteStackSet
+ Network.AWS.CloudFormation.DeleteStackSet: instance Control.DeepSeq.NFData Network.AWS.CloudFormation.DeleteStackSet.DeleteStackSetResponse
+ Network.AWS.CloudFormation.DeleteStackSet: instance Data.Data.Data Network.AWS.CloudFormation.DeleteStackSet.DeleteStackSet
+ Network.AWS.CloudFormation.DeleteStackSet: instance Data.Data.Data Network.AWS.CloudFormation.DeleteStackSet.DeleteStackSetResponse
+ Network.AWS.CloudFormation.DeleteStackSet: instance Data.Hashable.Class.Hashable Network.AWS.CloudFormation.DeleteStackSet.DeleteStackSet
+ Network.AWS.CloudFormation.DeleteStackSet: instance GHC.Classes.Eq Network.AWS.CloudFormation.DeleteStackSet.DeleteStackSet
+ Network.AWS.CloudFormation.DeleteStackSet: instance GHC.Classes.Eq Network.AWS.CloudFormation.DeleteStackSet.DeleteStackSetResponse
+ Network.AWS.CloudFormation.DeleteStackSet: instance GHC.Generics.Generic Network.AWS.CloudFormation.DeleteStackSet.DeleteStackSet
+ Network.AWS.CloudFormation.DeleteStackSet: instance GHC.Generics.Generic Network.AWS.CloudFormation.DeleteStackSet.DeleteStackSetResponse
+ Network.AWS.CloudFormation.DeleteStackSet: instance GHC.Read.Read Network.AWS.CloudFormation.DeleteStackSet.DeleteStackSet
+ Network.AWS.CloudFormation.DeleteStackSet: instance GHC.Read.Read Network.AWS.CloudFormation.DeleteStackSet.DeleteStackSetResponse
+ Network.AWS.CloudFormation.DeleteStackSet: instance GHC.Show.Show Network.AWS.CloudFormation.DeleteStackSet.DeleteStackSet
+ Network.AWS.CloudFormation.DeleteStackSet: instance GHC.Show.Show Network.AWS.CloudFormation.DeleteStackSet.DeleteStackSetResponse
+ Network.AWS.CloudFormation.DeleteStackSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFormation.DeleteStackSet.DeleteStackSet
+ Network.AWS.CloudFormation.DeleteStackSet: instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFormation.DeleteStackSet.DeleteStackSet
+ Network.AWS.CloudFormation.DeleteStackSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFormation.DeleteStackSet.DeleteStackSet
+ Network.AWS.CloudFormation.DeleteStackSet: instance Network.AWS.Types.AWSRequest Network.AWS.CloudFormation.DeleteStackSet.DeleteStackSet
+ Network.AWS.CloudFormation.DescribeChangeSet: desrsCapabilities :: Lens' DescribeChangeSetResponse [Capability]
+ Network.AWS.CloudFormation.DescribeChangeSet: desrsChangeSetId :: Lens' DescribeChangeSetResponse (Maybe Text)
+ Network.AWS.CloudFormation.DescribeChangeSet: desrsChangeSetName :: Lens' DescribeChangeSetResponse (Maybe Text)
+ Network.AWS.CloudFormation.DescribeChangeSet: desrsChanges :: Lens' DescribeChangeSetResponse [Change]
+ Network.AWS.CloudFormation.DescribeChangeSet: desrsCreationTime :: Lens' DescribeChangeSetResponse (Maybe UTCTime)
+ Network.AWS.CloudFormation.DescribeChangeSet: desrsDescription :: Lens' DescribeChangeSetResponse (Maybe Text)
+ Network.AWS.CloudFormation.DescribeChangeSet: desrsExecutionStatus :: Lens' DescribeChangeSetResponse (Maybe ExecutionStatus)
+ Network.AWS.CloudFormation.DescribeChangeSet: desrsNextToken :: Lens' DescribeChangeSetResponse (Maybe Text)
+ Network.AWS.CloudFormation.DescribeChangeSet: desrsNotificationARNs :: Lens' DescribeChangeSetResponse [Text]
+ Network.AWS.CloudFormation.DescribeChangeSet: desrsParameters :: Lens' DescribeChangeSetResponse [Parameter]
+ Network.AWS.CloudFormation.DescribeChangeSet: desrsResponseStatus :: Lens' DescribeChangeSetResponse Int
+ Network.AWS.CloudFormation.DescribeChangeSet: desrsRollbackConfiguration :: Lens' DescribeChangeSetResponse (Maybe RollbackConfiguration)
+ Network.AWS.CloudFormation.DescribeChangeSet: desrsStackId :: Lens' DescribeChangeSetResponse (Maybe Text)
+ Network.AWS.CloudFormation.DescribeChangeSet: desrsStackName :: Lens' DescribeChangeSetResponse (Maybe Text)
+ Network.AWS.CloudFormation.DescribeChangeSet: desrsStatus :: Lens' DescribeChangeSetResponse ChangeSetStatus
+ Network.AWS.CloudFormation.DescribeChangeSet: desrsStatusReason :: Lens' DescribeChangeSetResponse (Maybe Text)
+ Network.AWS.CloudFormation.DescribeChangeSet: desrsTags :: Lens' DescribeChangeSetResponse [Tag]
+ Network.AWS.CloudFormation.DescribeStackInstance: dStackInstanceAccount :: Lens' DescribeStackInstance Text
+ Network.AWS.CloudFormation.DescribeStackInstance: dStackInstanceRegion :: Lens' DescribeStackInstance Text
+ Network.AWS.CloudFormation.DescribeStackInstance: dStackSetName :: Lens' DescribeStackInstance Text
+ Network.AWS.CloudFormation.DescribeStackInstance: data DescribeStackInstance
+ Network.AWS.CloudFormation.DescribeStackInstance: data DescribeStackInstanceResponse
+ Network.AWS.CloudFormation.DescribeStackInstance: describeStackInstance :: Text -> Text -> Text -> DescribeStackInstance
+ Network.AWS.CloudFormation.DescribeStackInstance: describeStackInstanceResponse :: Int -> DescribeStackInstanceResponse
+ Network.AWS.CloudFormation.DescribeStackInstance: dsisrsResponseStatus :: Lens' DescribeStackInstanceResponse Int
+ Network.AWS.CloudFormation.DescribeStackInstance: dsisrsStackInstance :: Lens' DescribeStackInstanceResponse (Maybe StackInstance)
+ Network.AWS.CloudFormation.DescribeStackInstance: instance Control.DeepSeq.NFData Network.AWS.CloudFormation.DescribeStackInstance.DescribeStackInstance
+ Network.AWS.CloudFormation.DescribeStackInstance: instance Control.DeepSeq.NFData Network.AWS.CloudFormation.DescribeStackInstance.DescribeStackInstanceResponse
+ Network.AWS.CloudFormation.DescribeStackInstance: instance Data.Data.Data Network.AWS.CloudFormation.DescribeStackInstance.DescribeStackInstance
+ Network.AWS.CloudFormation.DescribeStackInstance: instance Data.Data.Data Network.AWS.CloudFormation.DescribeStackInstance.DescribeStackInstanceResponse
+ Network.AWS.CloudFormation.DescribeStackInstance: instance Data.Hashable.Class.Hashable Network.AWS.CloudFormation.DescribeStackInstance.DescribeStackInstance
+ Network.AWS.CloudFormation.DescribeStackInstance: instance GHC.Classes.Eq Network.AWS.CloudFormation.DescribeStackInstance.DescribeStackInstance
+ Network.AWS.CloudFormation.DescribeStackInstance: instance GHC.Classes.Eq Network.AWS.CloudFormation.DescribeStackInstance.DescribeStackInstanceResponse
+ Network.AWS.CloudFormation.DescribeStackInstance: instance GHC.Generics.Generic Network.AWS.CloudFormation.DescribeStackInstance.DescribeStackInstance
+ Network.AWS.CloudFormation.DescribeStackInstance: instance GHC.Generics.Generic Network.AWS.CloudFormation.DescribeStackInstance.DescribeStackInstanceResponse
+ Network.AWS.CloudFormation.DescribeStackInstance: instance GHC.Read.Read Network.AWS.CloudFormation.DescribeStackInstance.DescribeStackInstance
+ Network.AWS.CloudFormation.DescribeStackInstance: instance GHC.Read.Read Network.AWS.CloudFormation.DescribeStackInstance.DescribeStackInstanceResponse
+ Network.AWS.CloudFormation.DescribeStackInstance: instance GHC.Show.Show Network.AWS.CloudFormation.DescribeStackInstance.DescribeStackInstance
+ Network.AWS.CloudFormation.DescribeStackInstance: instance GHC.Show.Show Network.AWS.CloudFormation.DescribeStackInstance.DescribeStackInstanceResponse
+ Network.AWS.CloudFormation.DescribeStackInstance: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFormation.DescribeStackInstance.DescribeStackInstance
+ Network.AWS.CloudFormation.DescribeStackInstance: instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFormation.DescribeStackInstance.DescribeStackInstance
+ Network.AWS.CloudFormation.DescribeStackInstance: instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFormation.DescribeStackInstance.DescribeStackInstance
+ Network.AWS.CloudFormation.DescribeStackInstance: instance Network.AWS.Types.AWSRequest Network.AWS.CloudFormation.DescribeStackInstance.DescribeStackInstance
+ Network.AWS.CloudFormation.DescribeStackSet: data DescribeStackSet
+ Network.AWS.CloudFormation.DescribeStackSet: data DescribeStackSetResponse
+ Network.AWS.CloudFormation.DescribeStackSet: desStackSetName :: Lens' DescribeStackSet Text
+ Network.AWS.CloudFormation.DescribeStackSet: describeStackSet :: Text -> DescribeStackSet
+ Network.AWS.CloudFormation.DescribeStackSet: describeStackSetResponse :: Int -> DescribeStackSetResponse
+ Network.AWS.CloudFormation.DescribeStackSet: drsResponseStatus :: Lens' DescribeStackSetResponse Int
+ Network.AWS.CloudFormation.DescribeStackSet: drsStackSet :: Lens' DescribeStackSetResponse (Maybe StackSet)
+ Network.AWS.CloudFormation.DescribeStackSet: instance Control.DeepSeq.NFData Network.AWS.CloudFormation.DescribeStackSet.DescribeStackSet
+ Network.AWS.CloudFormation.DescribeStackSet: instance Control.DeepSeq.NFData Network.AWS.CloudFormation.DescribeStackSet.DescribeStackSetResponse
+ Network.AWS.CloudFormation.DescribeStackSet: instance Data.Data.Data Network.AWS.CloudFormation.DescribeStackSet.DescribeStackSet
+ Network.AWS.CloudFormation.DescribeStackSet: instance Data.Data.Data Network.AWS.CloudFormation.DescribeStackSet.DescribeStackSetResponse
+ Network.AWS.CloudFormation.DescribeStackSet: instance Data.Hashable.Class.Hashable Network.AWS.CloudFormation.DescribeStackSet.DescribeStackSet
+ Network.AWS.CloudFormation.DescribeStackSet: instance GHC.Classes.Eq Network.AWS.CloudFormation.DescribeStackSet.DescribeStackSet
+ Network.AWS.CloudFormation.DescribeStackSet: instance GHC.Classes.Eq Network.AWS.CloudFormation.DescribeStackSet.DescribeStackSetResponse
+ Network.AWS.CloudFormation.DescribeStackSet: instance GHC.Generics.Generic Network.AWS.CloudFormation.DescribeStackSet.DescribeStackSet
+ Network.AWS.CloudFormation.DescribeStackSet: instance GHC.Generics.Generic Network.AWS.CloudFormation.DescribeStackSet.DescribeStackSetResponse
+ Network.AWS.CloudFormation.DescribeStackSet: instance GHC.Read.Read Network.AWS.CloudFormation.DescribeStackSet.DescribeStackSet
+ Network.AWS.CloudFormation.DescribeStackSet: instance GHC.Read.Read Network.AWS.CloudFormation.DescribeStackSet.DescribeStackSetResponse
+ Network.AWS.CloudFormation.DescribeStackSet: instance GHC.Show.Show Network.AWS.CloudFormation.DescribeStackSet.DescribeStackSet
+ Network.AWS.CloudFormation.DescribeStackSet: instance GHC.Show.Show Network.AWS.CloudFormation.DescribeStackSet.DescribeStackSetResponse
+ Network.AWS.CloudFormation.DescribeStackSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFormation.DescribeStackSet.DescribeStackSet
+ Network.AWS.CloudFormation.DescribeStackSet: instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFormation.DescribeStackSet.DescribeStackSet
+ Network.AWS.CloudFormation.DescribeStackSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFormation.DescribeStackSet.DescribeStackSet
+ Network.AWS.CloudFormation.DescribeStackSet: instance Network.AWS.Types.AWSRequest Network.AWS.CloudFormation.DescribeStackSet.DescribeStackSet
+ Network.AWS.CloudFormation.DescribeStackSetOperation: data DescribeStackSetOperation
+ Network.AWS.CloudFormation.DescribeStackSetOperation: data DescribeStackSetOperationResponse
+ Network.AWS.CloudFormation.DescribeStackSetOperation: describeStackSetOperation :: Text -> Text -> DescribeStackSetOperation
+ Network.AWS.CloudFormation.DescribeStackSetOperation: describeStackSetOperationResponse :: Int -> DescribeStackSetOperationResponse
+ Network.AWS.CloudFormation.DescribeStackSetOperation: dssoOperationId :: Lens' DescribeStackSetOperation Text
+ Network.AWS.CloudFormation.DescribeStackSetOperation: dssoStackSetName :: Lens' DescribeStackSetOperation Text
+ Network.AWS.CloudFormation.DescribeStackSetOperation: dssorsResponseStatus :: Lens' DescribeStackSetOperationResponse Int
+ Network.AWS.CloudFormation.DescribeStackSetOperation: dssorsStackSetOperation :: Lens' DescribeStackSetOperationResponse (Maybe StackSetOperation)
+ Network.AWS.CloudFormation.DescribeStackSetOperation: instance Control.DeepSeq.NFData Network.AWS.CloudFormation.DescribeStackSetOperation.DescribeStackSetOperation
+ Network.AWS.CloudFormation.DescribeStackSetOperation: instance Control.DeepSeq.NFData Network.AWS.CloudFormation.DescribeStackSetOperation.DescribeStackSetOperationResponse
+ Network.AWS.CloudFormation.DescribeStackSetOperation: instance Data.Data.Data Network.AWS.CloudFormation.DescribeStackSetOperation.DescribeStackSetOperation
+ Network.AWS.CloudFormation.DescribeStackSetOperation: instance Data.Data.Data Network.AWS.CloudFormation.DescribeStackSetOperation.DescribeStackSetOperationResponse
+ Network.AWS.CloudFormation.DescribeStackSetOperation: instance Data.Hashable.Class.Hashable Network.AWS.CloudFormation.DescribeStackSetOperation.DescribeStackSetOperation
+ Network.AWS.CloudFormation.DescribeStackSetOperation: instance GHC.Classes.Eq Network.AWS.CloudFormation.DescribeStackSetOperation.DescribeStackSetOperation
+ Network.AWS.CloudFormation.DescribeStackSetOperation: instance GHC.Classes.Eq Network.AWS.CloudFormation.DescribeStackSetOperation.DescribeStackSetOperationResponse
+ Network.AWS.CloudFormation.DescribeStackSetOperation: instance GHC.Generics.Generic Network.AWS.CloudFormation.DescribeStackSetOperation.DescribeStackSetOperation
+ Network.AWS.CloudFormation.DescribeStackSetOperation: instance GHC.Generics.Generic Network.AWS.CloudFormation.DescribeStackSetOperation.DescribeStackSetOperationResponse
+ Network.AWS.CloudFormation.DescribeStackSetOperation: instance GHC.Read.Read Network.AWS.CloudFormation.DescribeStackSetOperation.DescribeStackSetOperation
+ Network.AWS.CloudFormation.DescribeStackSetOperation: instance GHC.Read.Read Network.AWS.CloudFormation.DescribeStackSetOperation.DescribeStackSetOperationResponse
+ Network.AWS.CloudFormation.DescribeStackSetOperation: instance GHC.Show.Show Network.AWS.CloudFormation.DescribeStackSetOperation.DescribeStackSetOperation
+ Network.AWS.CloudFormation.DescribeStackSetOperation: instance GHC.Show.Show Network.AWS.CloudFormation.DescribeStackSetOperation.DescribeStackSetOperationResponse
+ Network.AWS.CloudFormation.DescribeStackSetOperation: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFormation.DescribeStackSetOperation.DescribeStackSetOperation
+ Network.AWS.CloudFormation.DescribeStackSetOperation: instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFormation.DescribeStackSetOperation.DescribeStackSetOperation
+ Network.AWS.CloudFormation.DescribeStackSetOperation: instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFormation.DescribeStackSetOperation.DescribeStackSetOperation
+ Network.AWS.CloudFormation.DescribeStackSetOperation: instance Network.AWS.Types.AWSRequest Network.AWS.CloudFormation.DescribeStackSetOperation.DescribeStackSetOperation
+ Network.AWS.CloudFormation.ExecuteChangeSet: ecsClientRequestToken :: Lens' ExecuteChangeSet (Maybe Text)
+ Network.AWS.CloudFormation.GetTemplateSummary: gtsStackSetName :: Lens' GetTemplateSummary (Maybe Text)
+ Network.AWS.CloudFormation.ListExports: instance Network.AWS.Pager.AWSPager Network.AWS.CloudFormation.ListExports.ListExports
+ Network.AWS.CloudFormation.ListImports: instance Network.AWS.Pager.AWSPager Network.AWS.CloudFormation.ListImports.ListImports
+ Network.AWS.CloudFormation.ListStackInstances: data ListStackInstances
+ Network.AWS.CloudFormation.ListStackInstances: data ListStackInstancesResponse
+ Network.AWS.CloudFormation.ListStackInstances: instance Control.DeepSeq.NFData Network.AWS.CloudFormation.ListStackInstances.ListStackInstances
+ Network.AWS.CloudFormation.ListStackInstances: instance Control.DeepSeq.NFData Network.AWS.CloudFormation.ListStackInstances.ListStackInstancesResponse
+ Network.AWS.CloudFormation.ListStackInstances: instance Data.Data.Data Network.AWS.CloudFormation.ListStackInstances.ListStackInstances
+ Network.AWS.CloudFormation.ListStackInstances: instance Data.Data.Data Network.AWS.CloudFormation.ListStackInstances.ListStackInstancesResponse
+ Network.AWS.CloudFormation.ListStackInstances: instance Data.Hashable.Class.Hashable Network.AWS.CloudFormation.ListStackInstances.ListStackInstances
+ Network.AWS.CloudFormation.ListStackInstances: instance GHC.Classes.Eq Network.AWS.CloudFormation.ListStackInstances.ListStackInstances
+ Network.AWS.CloudFormation.ListStackInstances: instance GHC.Classes.Eq Network.AWS.CloudFormation.ListStackInstances.ListStackInstancesResponse
+ Network.AWS.CloudFormation.ListStackInstances: instance GHC.Generics.Generic Network.AWS.CloudFormation.ListStackInstances.ListStackInstances
+ Network.AWS.CloudFormation.ListStackInstances: instance GHC.Generics.Generic Network.AWS.CloudFormation.ListStackInstances.ListStackInstancesResponse
+ Network.AWS.CloudFormation.ListStackInstances: instance GHC.Read.Read Network.AWS.CloudFormation.ListStackInstances.ListStackInstances
+ Network.AWS.CloudFormation.ListStackInstances: instance GHC.Read.Read Network.AWS.CloudFormation.ListStackInstances.ListStackInstancesResponse
+ Network.AWS.CloudFormation.ListStackInstances: instance GHC.Show.Show Network.AWS.CloudFormation.ListStackInstances.ListStackInstances
+ Network.AWS.CloudFormation.ListStackInstances: instance GHC.Show.Show Network.AWS.CloudFormation.ListStackInstances.ListStackInstancesResponse
+ Network.AWS.CloudFormation.ListStackInstances: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFormation.ListStackInstances.ListStackInstances
+ Network.AWS.CloudFormation.ListStackInstances: instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFormation.ListStackInstances.ListStackInstances
+ Network.AWS.CloudFormation.ListStackInstances: instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFormation.ListStackInstances.ListStackInstances
+ Network.AWS.CloudFormation.ListStackInstances: instance Network.AWS.Types.AWSRequest Network.AWS.CloudFormation.ListStackInstances.ListStackInstances
+ Network.AWS.CloudFormation.ListStackInstances: listStackInstances :: Text -> ListStackInstances
+ Network.AWS.CloudFormation.ListStackInstances: listStackInstancesResponse :: Int -> ListStackInstancesResponse
+ Network.AWS.CloudFormation.ListStackInstances: lsiMaxResults :: Lens' ListStackInstances (Maybe Natural)
+ Network.AWS.CloudFormation.ListStackInstances: lsiNextToken :: Lens' ListStackInstances (Maybe Text)
+ Network.AWS.CloudFormation.ListStackInstances: lsiStackInstanceAccount :: Lens' ListStackInstances (Maybe Text)
+ Network.AWS.CloudFormation.ListStackInstances: lsiStackInstanceRegion :: Lens' ListStackInstances (Maybe Text)
+ Network.AWS.CloudFormation.ListStackInstances: lsiStackSetName :: Lens' ListStackInstances Text
+ Network.AWS.CloudFormation.ListStackInstances: lsirsNextToken :: Lens' ListStackInstancesResponse (Maybe Text)
+ Network.AWS.CloudFormation.ListStackInstances: lsirsResponseStatus :: Lens' ListStackInstancesResponse Int
+ Network.AWS.CloudFormation.ListStackInstances: lsirsSummaries :: Lens' ListStackInstancesResponse [StackInstanceSummary]
+ Network.AWS.CloudFormation.ListStackSetOperationResults: data ListStackSetOperationResults
+ Network.AWS.CloudFormation.ListStackSetOperationResults: data ListStackSetOperationResultsResponse
+ Network.AWS.CloudFormation.ListStackSetOperationResults: instance Control.DeepSeq.NFData Network.AWS.CloudFormation.ListStackSetOperationResults.ListStackSetOperationResults
+ Network.AWS.CloudFormation.ListStackSetOperationResults: instance Control.DeepSeq.NFData Network.AWS.CloudFormation.ListStackSetOperationResults.ListStackSetOperationResultsResponse
+ Network.AWS.CloudFormation.ListStackSetOperationResults: instance Data.Data.Data Network.AWS.CloudFormation.ListStackSetOperationResults.ListStackSetOperationResults
+ Network.AWS.CloudFormation.ListStackSetOperationResults: instance Data.Data.Data Network.AWS.CloudFormation.ListStackSetOperationResults.ListStackSetOperationResultsResponse
+ Network.AWS.CloudFormation.ListStackSetOperationResults: instance Data.Hashable.Class.Hashable Network.AWS.CloudFormation.ListStackSetOperationResults.ListStackSetOperationResults
+ Network.AWS.CloudFormation.ListStackSetOperationResults: instance GHC.Classes.Eq Network.AWS.CloudFormation.ListStackSetOperationResults.ListStackSetOperationResults
+ Network.AWS.CloudFormation.ListStackSetOperationResults: instance GHC.Classes.Eq Network.AWS.CloudFormation.ListStackSetOperationResults.ListStackSetOperationResultsResponse
+ Network.AWS.CloudFormation.ListStackSetOperationResults: instance GHC.Generics.Generic Network.AWS.CloudFormation.ListStackSetOperationResults.ListStackSetOperationResults
+ Network.AWS.CloudFormation.ListStackSetOperationResults: instance GHC.Generics.Generic Network.AWS.CloudFormation.ListStackSetOperationResults.ListStackSetOperationResultsResponse
+ Network.AWS.CloudFormation.ListStackSetOperationResults: instance GHC.Read.Read Network.AWS.CloudFormation.ListStackSetOperationResults.ListStackSetOperationResults
+ Network.AWS.CloudFormation.ListStackSetOperationResults: instance GHC.Read.Read Network.AWS.CloudFormation.ListStackSetOperationResults.ListStackSetOperationResultsResponse
+ Network.AWS.CloudFormation.ListStackSetOperationResults: instance GHC.Show.Show Network.AWS.CloudFormation.ListStackSetOperationResults.ListStackSetOperationResults
+ Network.AWS.CloudFormation.ListStackSetOperationResults: instance GHC.Show.Show Network.AWS.CloudFormation.ListStackSetOperationResults.ListStackSetOperationResultsResponse
+ Network.AWS.CloudFormation.ListStackSetOperationResults: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFormation.ListStackSetOperationResults.ListStackSetOperationResults
+ Network.AWS.CloudFormation.ListStackSetOperationResults: instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFormation.ListStackSetOperationResults.ListStackSetOperationResults
+ Network.AWS.CloudFormation.ListStackSetOperationResults: instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFormation.ListStackSetOperationResults.ListStackSetOperationResults
+ Network.AWS.CloudFormation.ListStackSetOperationResults: instance Network.AWS.Types.AWSRequest Network.AWS.CloudFormation.ListStackSetOperationResults.ListStackSetOperationResults
+ Network.AWS.CloudFormation.ListStackSetOperationResults: listStackSetOperationResults :: Text -> Text -> ListStackSetOperationResults
+ Network.AWS.CloudFormation.ListStackSetOperationResults: listStackSetOperationResultsResponse :: Int -> ListStackSetOperationResultsResponse
+ Network.AWS.CloudFormation.ListStackSetOperationResults: lssorMaxResults :: Lens' ListStackSetOperationResults (Maybe Natural)
+ Network.AWS.CloudFormation.ListStackSetOperationResults: lssorNextToken :: Lens' ListStackSetOperationResults (Maybe Text)
+ Network.AWS.CloudFormation.ListStackSetOperationResults: lssorOperationId :: Lens' ListStackSetOperationResults Text
+ Network.AWS.CloudFormation.ListStackSetOperationResults: lssorStackSetName :: Lens' ListStackSetOperationResults Text
+ Network.AWS.CloudFormation.ListStackSetOperationResults: lssorrsNextToken :: Lens' ListStackSetOperationResultsResponse (Maybe Text)
+ Network.AWS.CloudFormation.ListStackSetOperationResults: lssorrsResponseStatus :: Lens' ListStackSetOperationResultsResponse Int
+ Network.AWS.CloudFormation.ListStackSetOperationResults: lssorrsSummaries :: Lens' ListStackSetOperationResultsResponse [StackSetOperationResultSummary]
+ Network.AWS.CloudFormation.ListStackSetOperations: data ListStackSetOperations
+ Network.AWS.CloudFormation.ListStackSetOperations: data ListStackSetOperationsResponse
+ Network.AWS.CloudFormation.ListStackSetOperations: instance Control.DeepSeq.NFData Network.AWS.CloudFormation.ListStackSetOperations.ListStackSetOperations
+ Network.AWS.CloudFormation.ListStackSetOperations: instance Control.DeepSeq.NFData Network.AWS.CloudFormation.ListStackSetOperations.ListStackSetOperationsResponse
+ Network.AWS.CloudFormation.ListStackSetOperations: instance Data.Data.Data Network.AWS.CloudFormation.ListStackSetOperations.ListStackSetOperations
+ Network.AWS.CloudFormation.ListStackSetOperations: instance Data.Data.Data Network.AWS.CloudFormation.ListStackSetOperations.ListStackSetOperationsResponse
+ Network.AWS.CloudFormation.ListStackSetOperations: instance Data.Hashable.Class.Hashable Network.AWS.CloudFormation.ListStackSetOperations.ListStackSetOperations
+ Network.AWS.CloudFormation.ListStackSetOperations: instance GHC.Classes.Eq Network.AWS.CloudFormation.ListStackSetOperations.ListStackSetOperations
+ Network.AWS.CloudFormation.ListStackSetOperations: instance GHC.Classes.Eq Network.AWS.CloudFormation.ListStackSetOperations.ListStackSetOperationsResponse
+ Network.AWS.CloudFormation.ListStackSetOperations: instance GHC.Generics.Generic Network.AWS.CloudFormation.ListStackSetOperations.ListStackSetOperations
+ Network.AWS.CloudFormation.ListStackSetOperations: instance GHC.Generics.Generic Network.AWS.CloudFormation.ListStackSetOperations.ListStackSetOperationsResponse
+ Network.AWS.CloudFormation.ListStackSetOperations: instance GHC.Read.Read Network.AWS.CloudFormation.ListStackSetOperations.ListStackSetOperations
+ Network.AWS.CloudFormation.ListStackSetOperations: instance GHC.Read.Read Network.AWS.CloudFormation.ListStackSetOperations.ListStackSetOperationsResponse
+ Network.AWS.CloudFormation.ListStackSetOperations: instance GHC.Show.Show Network.AWS.CloudFormation.ListStackSetOperations.ListStackSetOperations
+ Network.AWS.CloudFormation.ListStackSetOperations: instance GHC.Show.Show Network.AWS.CloudFormation.ListStackSetOperations.ListStackSetOperationsResponse
+ Network.AWS.CloudFormation.ListStackSetOperations: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFormation.ListStackSetOperations.ListStackSetOperations
+ Network.AWS.CloudFormation.ListStackSetOperations: instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFormation.ListStackSetOperations.ListStackSetOperations
+ Network.AWS.CloudFormation.ListStackSetOperations: instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFormation.ListStackSetOperations.ListStackSetOperations
+ Network.AWS.CloudFormation.ListStackSetOperations: instance Network.AWS.Types.AWSRequest Network.AWS.CloudFormation.ListStackSetOperations.ListStackSetOperations
+ Network.AWS.CloudFormation.ListStackSetOperations: listStackSetOperations :: Text -> ListStackSetOperations
+ Network.AWS.CloudFormation.ListStackSetOperations: listStackSetOperationsResponse :: Int -> ListStackSetOperationsResponse
+ Network.AWS.CloudFormation.ListStackSetOperations: lssoMaxResults :: Lens' ListStackSetOperations (Maybe Natural)
+ Network.AWS.CloudFormation.ListStackSetOperations: lssoNextToken :: Lens' ListStackSetOperations (Maybe Text)
+ Network.AWS.CloudFormation.ListStackSetOperations: lssoStackSetName :: Lens' ListStackSetOperations Text
+ Network.AWS.CloudFormation.ListStackSetOperations: lssorsNextToken :: Lens' ListStackSetOperationsResponse (Maybe Text)
+ Network.AWS.CloudFormation.ListStackSetOperations: lssorsResponseStatus :: Lens' ListStackSetOperationsResponse Int
+ Network.AWS.CloudFormation.ListStackSetOperations: lssorsSummaries :: Lens' ListStackSetOperationsResponse [StackSetOperationSummary]
+ Network.AWS.CloudFormation.ListStackSets: data ListStackSets
+ Network.AWS.CloudFormation.ListStackSets: data ListStackSetsResponse
+ Network.AWS.CloudFormation.ListStackSets: instance Control.DeepSeq.NFData Network.AWS.CloudFormation.ListStackSets.ListStackSets
+ Network.AWS.CloudFormation.ListStackSets: instance Control.DeepSeq.NFData Network.AWS.CloudFormation.ListStackSets.ListStackSetsResponse
+ Network.AWS.CloudFormation.ListStackSets: instance Data.Data.Data Network.AWS.CloudFormation.ListStackSets.ListStackSets
+ Network.AWS.CloudFormation.ListStackSets: instance Data.Data.Data Network.AWS.CloudFormation.ListStackSets.ListStackSetsResponse
+ Network.AWS.CloudFormation.ListStackSets: instance Data.Hashable.Class.Hashable Network.AWS.CloudFormation.ListStackSets.ListStackSets
+ Network.AWS.CloudFormation.ListStackSets: instance GHC.Classes.Eq Network.AWS.CloudFormation.ListStackSets.ListStackSets
+ Network.AWS.CloudFormation.ListStackSets: instance GHC.Classes.Eq Network.AWS.CloudFormation.ListStackSets.ListStackSetsResponse
+ Network.AWS.CloudFormation.ListStackSets: instance GHC.Generics.Generic Network.AWS.CloudFormation.ListStackSets.ListStackSets
+ Network.AWS.CloudFormation.ListStackSets: instance GHC.Generics.Generic Network.AWS.CloudFormation.ListStackSets.ListStackSetsResponse
+ Network.AWS.CloudFormation.ListStackSets: instance GHC.Read.Read Network.AWS.CloudFormation.ListStackSets.ListStackSets
+ Network.AWS.CloudFormation.ListStackSets: instance GHC.Read.Read Network.AWS.CloudFormation.ListStackSets.ListStackSetsResponse
+ Network.AWS.CloudFormation.ListStackSets: instance GHC.Show.Show Network.AWS.CloudFormation.ListStackSets.ListStackSets
+ Network.AWS.CloudFormation.ListStackSets: instance GHC.Show.Show Network.AWS.CloudFormation.ListStackSets.ListStackSetsResponse
+ Network.AWS.CloudFormation.ListStackSets: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFormation.ListStackSets.ListStackSets
+ Network.AWS.CloudFormation.ListStackSets: instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFormation.ListStackSets.ListStackSets
+ Network.AWS.CloudFormation.ListStackSets: instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFormation.ListStackSets.ListStackSets
+ Network.AWS.CloudFormation.ListStackSets: instance Network.AWS.Types.AWSRequest Network.AWS.CloudFormation.ListStackSets.ListStackSets
+ Network.AWS.CloudFormation.ListStackSets: listStackSets :: ListStackSets
+ Network.AWS.CloudFormation.ListStackSets: listStackSetsResponse :: Int -> ListStackSetsResponse
+ Network.AWS.CloudFormation.ListStackSets: lssMaxResults :: Lens' ListStackSets (Maybe Natural)
+ Network.AWS.CloudFormation.ListStackSets: lssNextToken :: Lens' ListStackSets (Maybe Text)
+ Network.AWS.CloudFormation.ListStackSets: lssStatus :: Lens' ListStackSets (Maybe StackSetStatus)
+ Network.AWS.CloudFormation.ListStackSets: lssrsNextToken :: Lens' ListStackSetsResponse (Maybe Text)
+ Network.AWS.CloudFormation.ListStackSets: lssrsResponseStatus :: Lens' ListStackSetsResponse Int
+ Network.AWS.CloudFormation.ListStackSets: lssrsSummaries :: Lens' ListStackSetsResponse [StackSetSummary]
+ Network.AWS.CloudFormation.StopStackSetOperation: data StopStackSetOperation
+ Network.AWS.CloudFormation.StopStackSetOperation: data StopStackSetOperationResponse
+ Network.AWS.CloudFormation.StopStackSetOperation: instance Control.DeepSeq.NFData Network.AWS.CloudFormation.StopStackSetOperation.StopStackSetOperation
+ Network.AWS.CloudFormation.StopStackSetOperation: instance Control.DeepSeq.NFData Network.AWS.CloudFormation.StopStackSetOperation.StopStackSetOperationResponse
+ Network.AWS.CloudFormation.StopStackSetOperation: instance Data.Data.Data Network.AWS.CloudFormation.StopStackSetOperation.StopStackSetOperation
+ Network.AWS.CloudFormation.StopStackSetOperation: instance Data.Data.Data Network.AWS.CloudFormation.StopStackSetOperation.StopStackSetOperationResponse
+ Network.AWS.CloudFormation.StopStackSetOperation: instance Data.Hashable.Class.Hashable Network.AWS.CloudFormation.StopStackSetOperation.StopStackSetOperation
+ Network.AWS.CloudFormation.StopStackSetOperation: instance GHC.Classes.Eq Network.AWS.CloudFormation.StopStackSetOperation.StopStackSetOperation
+ Network.AWS.CloudFormation.StopStackSetOperation: instance GHC.Classes.Eq Network.AWS.CloudFormation.StopStackSetOperation.StopStackSetOperationResponse
+ Network.AWS.CloudFormation.StopStackSetOperation: instance GHC.Generics.Generic Network.AWS.CloudFormation.StopStackSetOperation.StopStackSetOperation
+ Network.AWS.CloudFormation.StopStackSetOperation: instance GHC.Generics.Generic Network.AWS.CloudFormation.StopStackSetOperation.StopStackSetOperationResponse
+ Network.AWS.CloudFormation.StopStackSetOperation: instance GHC.Read.Read Network.AWS.CloudFormation.StopStackSetOperation.StopStackSetOperation
+ Network.AWS.CloudFormation.StopStackSetOperation: instance GHC.Read.Read Network.AWS.CloudFormation.StopStackSetOperation.StopStackSetOperationResponse
+ Network.AWS.CloudFormation.StopStackSetOperation: instance GHC.Show.Show Network.AWS.CloudFormation.StopStackSetOperation.StopStackSetOperation
+ Network.AWS.CloudFormation.StopStackSetOperation: instance GHC.Show.Show Network.AWS.CloudFormation.StopStackSetOperation.StopStackSetOperationResponse
+ Network.AWS.CloudFormation.StopStackSetOperation: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFormation.StopStackSetOperation.StopStackSetOperation
+ Network.AWS.CloudFormation.StopStackSetOperation: instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFormation.StopStackSetOperation.StopStackSetOperation
+ Network.AWS.CloudFormation.StopStackSetOperation: instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFormation.StopStackSetOperation.StopStackSetOperation
+ Network.AWS.CloudFormation.StopStackSetOperation: instance Network.AWS.Types.AWSRequest Network.AWS.CloudFormation.StopStackSetOperation.StopStackSetOperation
+ Network.AWS.CloudFormation.StopStackSetOperation: sssoOperationId :: Lens' StopStackSetOperation Text
+ Network.AWS.CloudFormation.StopStackSetOperation: sssoStackSetName :: Lens' StopStackSetOperation Text
+ Network.AWS.CloudFormation.StopStackSetOperation: sssorsResponseStatus :: Lens' StopStackSetOperationResponse Int
+ Network.AWS.CloudFormation.StopStackSetOperation: stopStackSetOperation :: Text -> Text -> StopStackSetOperation
+ Network.AWS.CloudFormation.StopStackSetOperation: stopStackSetOperationResponse :: Int -> StopStackSetOperationResponse
+ Network.AWS.CloudFormation.Types: AGSFailed :: AccountGateStatus
+ Network.AWS.CloudFormation.Types: AGSSkipped :: AccountGateStatus
+ Network.AWS.CloudFormation.Types: AGSSucceeded :: AccountGateStatus
+ Network.AWS.CloudFormation.Types: Active :: StackSetStatus
+ Network.AWS.CloudFormation.Types: Cancelled :: StackSetOperationResultStatus
+ Network.AWS.CloudFormation.Types: Current :: StackInstanceStatus
+ Network.AWS.CloudFormation.Types: Deleted :: StackSetStatus
+ Network.AWS.CloudFormation.Types: Failed :: StackSetOperationResultStatus
+ Network.AWS.CloudFormation.Types: Inoperable :: StackInstanceStatus
+ Network.AWS.CloudFormation.Types: Outdated :: StackInstanceStatus
+ Network.AWS.CloudFormation.Types: Pending :: StackSetOperationResultStatus
+ Network.AWS.CloudFormation.Types: Running :: StackSetOperationResultStatus
+ Network.AWS.CloudFormation.Types: SSOACreate :: StackSetOperationAction
+ Network.AWS.CloudFormation.Types: SSOADelete :: StackSetOperationAction
+ Network.AWS.CloudFormation.Types: SSOAUpdate :: StackSetOperationAction
+ Network.AWS.CloudFormation.Types: SSOSFailed :: StackSetOperationStatus
+ Network.AWS.CloudFormation.Types: SSOSRunning :: StackSetOperationStatus
+ Network.AWS.CloudFormation.Types: SSOSStopped :: StackSetOperationStatus
+ Network.AWS.CloudFormation.Types: SSOSStopping :: StackSetOperationStatus
+ Network.AWS.CloudFormation.Types: SSOSSucceeded :: StackSetOperationStatus
+ Network.AWS.CloudFormation.Types: Succeeded :: StackSetOperationResultStatus
+ Network.AWS.CloudFormation.Types: _CreatedButModifiedException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFormation.Types: _InvalidOperationException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFormation.Types: _NameAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFormation.Types: _OperationIdAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFormation.Types: _OperationInProgressException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFormation.Types: _OperationNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFormation.Types: _StackInstanceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFormation.Types: _StackSetNotEmptyException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFormation.Types: _StackSetNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFormation.Types: _StaleRequestException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFormation.Types: _TokenAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.CloudFormation.Types: accountGateResult :: AccountGateResult
+ Network.AWS.CloudFormation.Types: agrStatus :: Lens' AccountGateResult (Maybe AccountGateStatus)
+ Network.AWS.CloudFormation.Types: agrStatusReason :: Lens' AccountGateResult (Maybe Text)
+ Network.AWS.CloudFormation.Types: cChangeSetId :: Lens' ChangeSetSummary (Maybe Text)
+ Network.AWS.CloudFormation.Types: cChangeSetName :: Lens' ChangeSetSummary (Maybe Text)
+ Network.AWS.CloudFormation.Types: cCreationTime :: Lens' ChangeSetSummary (Maybe UTCTime)
+ Network.AWS.CloudFormation.Types: cDescription :: Lens' ChangeSetSummary (Maybe Text)
+ Network.AWS.CloudFormation.Types: cExecutionStatus :: Lens' ChangeSetSummary (Maybe ExecutionStatus)
+ Network.AWS.CloudFormation.Types: cStackId :: Lens' ChangeSetSummary (Maybe Text)
+ Network.AWS.CloudFormation.Types: cStackName :: Lens' ChangeSetSummary (Maybe Text)
+ Network.AWS.CloudFormation.Types: cStatus :: Lens' ChangeSetSummary (Maybe ChangeSetStatus)
+ Network.AWS.CloudFormation.Types: cStatusReason :: Lens' ChangeSetSummary (Maybe Text)
+ Network.AWS.CloudFormation.Types: data AccountGateResult
+ Network.AWS.CloudFormation.Types: data AccountGateStatus
+ Network.AWS.CloudFormation.Types: data RollbackConfiguration
+ Network.AWS.CloudFormation.Types: data RollbackTrigger
+ Network.AWS.CloudFormation.Types: data StackInstance
+ Network.AWS.CloudFormation.Types: data StackInstanceStatus
+ Network.AWS.CloudFormation.Types: data StackInstanceSummary
+ Network.AWS.CloudFormation.Types: data StackSet
+ Network.AWS.CloudFormation.Types: data StackSetOperation
+ Network.AWS.CloudFormation.Types: data StackSetOperationAction
+ Network.AWS.CloudFormation.Types: data StackSetOperationPreferences
+ Network.AWS.CloudFormation.Types: data StackSetOperationResultStatus
+ Network.AWS.CloudFormation.Types: data StackSetOperationResultSummary
+ Network.AWS.CloudFormation.Types: data StackSetOperationStatus
+ Network.AWS.CloudFormation.Types: data StackSetOperationSummary
+ Network.AWS.CloudFormation.Types: data StackSetStatus
+ Network.AWS.CloudFormation.Types: data StackSetSummary
+ Network.AWS.CloudFormation.Types: oExportName :: Lens' Output (Maybe Text)
+ Network.AWS.CloudFormation.Types: rcMonitoringTimeInMinutes :: Lens' RollbackConfiguration (Maybe Natural)
+ Network.AWS.CloudFormation.Types: rcRollbackTriggers :: Lens' RollbackConfiguration [RollbackTrigger]
+ Network.AWS.CloudFormation.Types: rollbackConfiguration :: RollbackConfiguration
+ Network.AWS.CloudFormation.Types: rollbackTrigger :: Text -> Text -> RollbackTrigger
+ Network.AWS.CloudFormation.Types: rtARN :: Lens' RollbackTrigger Text
+ Network.AWS.CloudFormation.Types: rtType :: Lens' RollbackTrigger Text
+ Network.AWS.CloudFormation.Types: sDeletionTime :: Lens' Stack (Maybe UTCTime)
+ Network.AWS.CloudFormation.Types: sEnableTerminationProtection :: Lens' Stack (Maybe Bool)
+ Network.AWS.CloudFormation.Types: sParentId :: Lens' Stack (Maybe Text)
+ Network.AWS.CloudFormation.Types: sRollbackConfiguration :: Lens' Stack (Maybe RollbackConfiguration)
+ Network.AWS.CloudFormation.Types: sRootId :: Lens' Stack (Maybe Text)
+ Network.AWS.CloudFormation.Types: seClientRequestToken :: Lens' StackEvent (Maybe Text)
+ Network.AWS.CloudFormation.Types: siAccount :: Lens' StackInstance (Maybe Text)
+ Network.AWS.CloudFormation.Types: siRegion :: Lens' StackInstance (Maybe Text)
+ Network.AWS.CloudFormation.Types: siStackId :: Lens' StackInstance (Maybe Text)
+ Network.AWS.CloudFormation.Types: siStackSetId :: Lens' StackInstance (Maybe Text)
+ Network.AWS.CloudFormation.Types: siStatus :: Lens' StackInstance (Maybe StackInstanceStatus)
+ Network.AWS.CloudFormation.Types: siStatusReason :: Lens' StackInstance (Maybe Text)
+ Network.AWS.CloudFormation.Types: sisAccount :: Lens' StackInstanceSummary (Maybe Text)
+ Network.AWS.CloudFormation.Types: sisRegion :: Lens' StackInstanceSummary (Maybe Text)
+ Network.AWS.CloudFormation.Types: sisStackId :: Lens' StackInstanceSummary (Maybe Text)
+ Network.AWS.CloudFormation.Types: sisStackSetId :: Lens' StackInstanceSummary (Maybe Text)
+ Network.AWS.CloudFormation.Types: sisStatus :: Lens' StackInstanceSummary (Maybe StackInstanceStatus)
+ Network.AWS.CloudFormation.Types: sisStatusReason :: Lens' StackInstanceSummary (Maybe Text)
+ Network.AWS.CloudFormation.Types: ssCapabilities :: Lens' StackSet [Capability]
+ Network.AWS.CloudFormation.Types: ssDescription :: Lens' StackSet (Maybe Text)
+ Network.AWS.CloudFormation.Types: ssParameters :: Lens' StackSet [Parameter]
+ Network.AWS.CloudFormation.Types: ssParentId :: Lens' StackSummary (Maybe Text)
+ Network.AWS.CloudFormation.Types: ssRootId :: Lens' StackSummary (Maybe Text)
+ Network.AWS.CloudFormation.Types: ssStackSetId :: Lens' StackSet (Maybe Text)
+ Network.AWS.CloudFormation.Types: ssStackSetName :: Lens' StackSet (Maybe Text)
+ Network.AWS.CloudFormation.Types: ssStatus :: Lens' StackSet (Maybe StackSetStatus)
+ Network.AWS.CloudFormation.Types: ssTags :: Lens' StackSet [Tag]
+ Network.AWS.CloudFormation.Types: ssTemplateBody :: Lens' StackSet (Maybe Text)
+ Network.AWS.CloudFormation.Types: ssoAction :: Lens' StackSetOperation (Maybe StackSetOperationAction)
+ Network.AWS.CloudFormation.Types: ssoCreationTimestamp :: Lens' StackSetOperation (Maybe UTCTime)
+ Network.AWS.CloudFormation.Types: ssoEndTimestamp :: Lens' StackSetOperation (Maybe UTCTime)
+ Network.AWS.CloudFormation.Types: ssoOperationId :: Lens' StackSetOperation (Maybe Text)
+ Network.AWS.CloudFormation.Types: ssoOperationPreferences :: Lens' StackSetOperation (Maybe StackSetOperationPreferences)
+ Network.AWS.CloudFormation.Types: ssoRetainStacks :: Lens' StackSetOperation (Maybe Bool)
+ Network.AWS.CloudFormation.Types: ssoStackSetId :: Lens' StackSetOperation (Maybe Text)
+ Network.AWS.CloudFormation.Types: ssoStatus :: Lens' StackSetOperation (Maybe StackSetOperationStatus)
+ Network.AWS.CloudFormation.Types: ssopFailureToleranceCount :: Lens' StackSetOperationPreferences (Maybe Natural)
+ Network.AWS.CloudFormation.Types: ssopFailureTolerancePercentage :: Lens' StackSetOperationPreferences (Maybe Natural)
+ Network.AWS.CloudFormation.Types: ssopMaxConcurrentCount :: Lens' StackSetOperationPreferences (Maybe Natural)
+ Network.AWS.CloudFormation.Types: ssopMaxConcurrentPercentage :: Lens' StackSetOperationPreferences (Maybe Natural)
+ Network.AWS.CloudFormation.Types: ssopRegionOrder :: Lens' StackSetOperationPreferences [Text]
+ Network.AWS.CloudFormation.Types: ssorsAccount :: Lens' StackSetOperationResultSummary (Maybe Text)
+ Network.AWS.CloudFormation.Types: ssorsAccountGateResult :: Lens' StackSetOperationResultSummary (Maybe AccountGateResult)
+ Network.AWS.CloudFormation.Types: ssorsRegion :: Lens' StackSetOperationResultSummary (Maybe Text)
+ Network.AWS.CloudFormation.Types: ssorsStatus :: Lens' StackSetOperationResultSummary (Maybe StackSetOperationResultStatus)
+ Network.AWS.CloudFormation.Types: ssorsStatusReason :: Lens' StackSetOperationResultSummary (Maybe Text)
+ Network.AWS.CloudFormation.Types: ssosAction :: Lens' StackSetOperationSummary (Maybe StackSetOperationAction)
+ Network.AWS.CloudFormation.Types: ssosCreationTimestamp :: Lens' StackSetOperationSummary (Maybe UTCTime)
+ Network.AWS.CloudFormation.Types: ssosEndTimestamp :: Lens' StackSetOperationSummary (Maybe UTCTime)
+ Network.AWS.CloudFormation.Types: ssosOperationId :: Lens' StackSetOperationSummary (Maybe Text)
+ Network.AWS.CloudFormation.Types: ssosStatus :: Lens' StackSetOperationSummary (Maybe StackSetOperationStatus)
+ Network.AWS.CloudFormation.Types: sssDescription :: Lens' StackSetSummary (Maybe Text)
+ Network.AWS.CloudFormation.Types: sssStackSetId :: Lens' StackSetSummary (Maybe Text)
+ Network.AWS.CloudFormation.Types: sssStackSetName :: Lens' StackSetSummary (Maybe Text)
+ Network.AWS.CloudFormation.Types: sssStatus :: Lens' StackSetSummary (Maybe StackSetStatus)
+ Network.AWS.CloudFormation.Types: stackInstance :: StackInstance
+ Network.AWS.CloudFormation.Types: stackInstanceSummary :: StackInstanceSummary
+ Network.AWS.CloudFormation.Types: stackSet :: StackSet
+ Network.AWS.CloudFormation.Types: stackSetOperation :: StackSetOperation
+ Network.AWS.CloudFormation.Types: stackSetOperationPreferences :: StackSetOperationPreferences
+ Network.AWS.CloudFormation.Types: stackSetOperationResultSummary :: StackSetOperationResultSummary
+ Network.AWS.CloudFormation.Types: stackSetOperationSummary :: StackSetOperationSummary
+ Network.AWS.CloudFormation.Types: stackSetSummary :: StackSetSummary
+ Network.AWS.CloudFormation.UpdateStack: usClientRequestToken :: Lens' UpdateStack (Maybe Text)
+ Network.AWS.CloudFormation.UpdateStack: usRollbackConfiguration :: Lens' UpdateStack (Maybe RollbackConfiguration)
+ Network.AWS.CloudFormation.UpdateStackSet: data UpdateStackSet
+ Network.AWS.CloudFormation.UpdateStackSet: data UpdateStackSetResponse
+ Network.AWS.CloudFormation.UpdateStackSet: instance Control.DeepSeq.NFData Network.AWS.CloudFormation.UpdateStackSet.UpdateStackSet
+ Network.AWS.CloudFormation.UpdateStackSet: instance Control.DeepSeq.NFData Network.AWS.CloudFormation.UpdateStackSet.UpdateStackSetResponse
+ Network.AWS.CloudFormation.UpdateStackSet: instance Data.Data.Data Network.AWS.CloudFormation.UpdateStackSet.UpdateStackSet
+ Network.AWS.CloudFormation.UpdateStackSet: instance Data.Data.Data Network.AWS.CloudFormation.UpdateStackSet.UpdateStackSetResponse
+ Network.AWS.CloudFormation.UpdateStackSet: instance Data.Hashable.Class.Hashable Network.AWS.CloudFormation.UpdateStackSet.UpdateStackSet
+ Network.AWS.CloudFormation.UpdateStackSet: instance GHC.Classes.Eq Network.AWS.CloudFormation.UpdateStackSet.UpdateStackSet
+ Network.AWS.CloudFormation.UpdateStackSet: instance GHC.Classes.Eq Network.AWS.CloudFormation.UpdateStackSet.UpdateStackSetResponse
+ Network.AWS.CloudFormation.UpdateStackSet: instance GHC.Generics.Generic Network.AWS.CloudFormation.UpdateStackSet.UpdateStackSet
+ Network.AWS.CloudFormation.UpdateStackSet: instance GHC.Generics.Generic Network.AWS.CloudFormation.UpdateStackSet.UpdateStackSetResponse
+ Network.AWS.CloudFormation.UpdateStackSet: instance GHC.Read.Read Network.AWS.CloudFormation.UpdateStackSet.UpdateStackSet
+ Network.AWS.CloudFormation.UpdateStackSet: instance GHC.Read.Read Network.AWS.CloudFormation.UpdateStackSet.UpdateStackSetResponse
+ Network.AWS.CloudFormation.UpdateStackSet: instance GHC.Show.Show Network.AWS.CloudFormation.UpdateStackSet.UpdateStackSet
+ Network.AWS.CloudFormation.UpdateStackSet: instance GHC.Show.Show Network.AWS.CloudFormation.UpdateStackSet.UpdateStackSetResponse
+ Network.AWS.CloudFormation.UpdateStackSet: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFormation.UpdateStackSet.UpdateStackSet
+ Network.AWS.CloudFormation.UpdateStackSet: instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFormation.UpdateStackSet.UpdateStackSet
+ Network.AWS.CloudFormation.UpdateStackSet: instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFormation.UpdateStackSet.UpdateStackSet
+ Network.AWS.CloudFormation.UpdateStackSet: instance Network.AWS.Types.AWSRequest Network.AWS.CloudFormation.UpdateStackSet.UpdateStackSet
+ Network.AWS.CloudFormation.UpdateStackSet: updateStackSet :: Text -> UpdateStackSet
+ Network.AWS.CloudFormation.UpdateStackSet: updateStackSetResponse :: Int -> UpdateStackSetResponse
+ Network.AWS.CloudFormation.UpdateStackSet: ussCapabilities :: Lens' UpdateStackSet [Capability]
+ Network.AWS.CloudFormation.UpdateStackSet: ussDescription :: Lens' UpdateStackSet (Maybe Text)
+ Network.AWS.CloudFormation.UpdateStackSet: ussOperationId :: Lens' UpdateStackSet (Maybe Text)
+ Network.AWS.CloudFormation.UpdateStackSet: ussOperationPreferences :: Lens' UpdateStackSet (Maybe StackSetOperationPreferences)
+ Network.AWS.CloudFormation.UpdateStackSet: ussParameters :: Lens' UpdateStackSet [Parameter]
+ Network.AWS.CloudFormation.UpdateStackSet: ussStackSetName :: Lens' UpdateStackSet Text
+ Network.AWS.CloudFormation.UpdateStackSet: ussTags :: Lens' UpdateStackSet [Tag]
+ Network.AWS.CloudFormation.UpdateStackSet: ussTemplateBody :: Lens' UpdateStackSet (Maybe Text)
+ Network.AWS.CloudFormation.UpdateStackSet: ussTemplateURL :: Lens' UpdateStackSet (Maybe Text)
+ Network.AWS.CloudFormation.UpdateStackSet: ussUsePreviousTemplate :: Lens' UpdateStackSet (Maybe Bool)
+ Network.AWS.CloudFormation.UpdateStackSet: ussrsOperationId :: Lens' UpdateStackSetResponse (Maybe Text)
+ Network.AWS.CloudFormation.UpdateStackSet: ussrsResponseStatus :: Lens' UpdateStackSetResponse Int
+ Network.AWS.CloudFormation.UpdateTerminationProtection: data UpdateTerminationProtection
+ Network.AWS.CloudFormation.UpdateTerminationProtection: data UpdateTerminationProtectionResponse
+ Network.AWS.CloudFormation.UpdateTerminationProtection: instance Control.DeepSeq.NFData Network.AWS.CloudFormation.UpdateTerminationProtection.UpdateTerminationProtection
+ Network.AWS.CloudFormation.UpdateTerminationProtection: instance Control.DeepSeq.NFData Network.AWS.CloudFormation.UpdateTerminationProtection.UpdateTerminationProtectionResponse
+ Network.AWS.CloudFormation.UpdateTerminationProtection: instance Data.Data.Data Network.AWS.CloudFormation.UpdateTerminationProtection.UpdateTerminationProtection
+ Network.AWS.CloudFormation.UpdateTerminationProtection: instance Data.Data.Data Network.AWS.CloudFormation.UpdateTerminationProtection.UpdateTerminationProtectionResponse
+ Network.AWS.CloudFormation.UpdateTerminationProtection: instance Data.Hashable.Class.Hashable Network.AWS.CloudFormation.UpdateTerminationProtection.UpdateTerminationProtection
+ Network.AWS.CloudFormation.UpdateTerminationProtection: instance GHC.Classes.Eq Network.AWS.CloudFormation.UpdateTerminationProtection.UpdateTerminationProtection
+ Network.AWS.CloudFormation.UpdateTerminationProtection: instance GHC.Classes.Eq Network.AWS.CloudFormation.UpdateTerminationProtection.UpdateTerminationProtectionResponse
+ Network.AWS.CloudFormation.UpdateTerminationProtection: instance GHC.Generics.Generic Network.AWS.CloudFormation.UpdateTerminationProtection.UpdateTerminationProtection
+ Network.AWS.CloudFormation.UpdateTerminationProtection: instance GHC.Generics.Generic Network.AWS.CloudFormation.UpdateTerminationProtection.UpdateTerminationProtectionResponse
+ Network.AWS.CloudFormation.UpdateTerminationProtection: instance GHC.Read.Read Network.AWS.CloudFormation.UpdateTerminationProtection.UpdateTerminationProtection
+ Network.AWS.CloudFormation.UpdateTerminationProtection: instance GHC.Read.Read Network.AWS.CloudFormation.UpdateTerminationProtection.UpdateTerminationProtectionResponse
+ Network.AWS.CloudFormation.UpdateTerminationProtection: instance GHC.Show.Show Network.AWS.CloudFormation.UpdateTerminationProtection.UpdateTerminationProtection
+ Network.AWS.CloudFormation.UpdateTerminationProtection: instance GHC.Show.Show Network.AWS.CloudFormation.UpdateTerminationProtection.UpdateTerminationProtectionResponse
+ Network.AWS.CloudFormation.UpdateTerminationProtection: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudFormation.UpdateTerminationProtection.UpdateTerminationProtection
+ Network.AWS.CloudFormation.UpdateTerminationProtection: instance Network.AWS.Data.Path.ToPath Network.AWS.CloudFormation.UpdateTerminationProtection.UpdateTerminationProtection
+ Network.AWS.CloudFormation.UpdateTerminationProtection: instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudFormation.UpdateTerminationProtection.UpdateTerminationProtection
+ Network.AWS.CloudFormation.UpdateTerminationProtection: instance Network.AWS.Types.AWSRequest Network.AWS.CloudFormation.UpdateTerminationProtection.UpdateTerminationProtection
+ Network.AWS.CloudFormation.UpdateTerminationProtection: updateTerminationProtection :: Bool -> Text -> UpdateTerminationProtection
+ Network.AWS.CloudFormation.UpdateTerminationProtection: updateTerminationProtectionResponse :: Int -> UpdateTerminationProtectionResponse
+ Network.AWS.CloudFormation.UpdateTerminationProtection: utpEnableTerminationProtection :: Lens' UpdateTerminationProtection Bool
+ Network.AWS.CloudFormation.UpdateTerminationProtection: utpStackName :: Lens' UpdateTerminationProtection Text
+ Network.AWS.CloudFormation.UpdateTerminationProtection: utprsResponseStatus :: Lens' UpdateTerminationProtectionResponse Int
+ Network.AWS.CloudFormation.UpdateTerminationProtection: utprsStackId :: Lens' UpdateTerminationProtectionResponse (Maybe Text)
- Network.AWS.CloudFormation: tag :: Tag
+ Network.AWS.CloudFormation: tag :: Text -> Text -> Tag
- Network.AWS.CloudFormation: tagKey :: Lens' Tag (Maybe Text)
+ Network.AWS.CloudFormation: tagKey :: Lens' Tag Text
- Network.AWS.CloudFormation: tagValue :: Lens' Tag (Maybe Text)
+ Network.AWS.CloudFormation: tagValue :: Lens' Tag Text
- Network.AWS.CloudFormation.Types: tag :: Tag
+ Network.AWS.CloudFormation.Types: tag :: Text -> Text -> Tag
- Network.AWS.CloudFormation.Types: tagKey :: Lens' Tag (Maybe Text)
+ Network.AWS.CloudFormation.Types: tagKey :: Lens' Tag Text
- Network.AWS.CloudFormation.Types: tagValue :: Lens' Tag (Maybe Text)
+ Network.AWS.CloudFormation.Types: tagValue :: Lens' Tag Text

Files

README.md view
@@ -8,7 +8,7 @@  ## Version -`1.4.5`+`1.5.0`   ## Description
amazonka-cloudformation.cabal view
@@ -1,13 +1,13 @@ name:                  amazonka-cloudformation-version:               1.4.5+version:               1.5.0 synopsis:              Amazon CloudFormation SDK. homepage:              https://github.com/brendanhay/amazonka bug-reports:           https://github.com/brendanhay/amazonka/issues-license:               OtherLicense+license:               MPL-2.0 license-file:          LICENSE author:                Brendan Hay-maintainer:            Brendan Hay <brendan.g.hay@gmail.com>-copyright:             Copyright (c) 2013-2016 Brendan Hay+maintainer:            Brendan Hay <brendan.g.hay+amazonka@gmail.com>+copyright:             Copyright (c) 2013-2017 Brendan Hay category:              Network, AWS, Cloud, Distributed Computing build-type:            Simple cabal-version:         >= 1.10@@ -29,14 +29,19 @@     to get started.  source-repository head-    type:     git-    location: git://github.com/brendanhay/amazonka.git+    type:              git+    location:          git://github.com/brendanhay/amazonka.git+    subdir:            amazonka-cloudformation  library     default-language:  Haskell2010     hs-source-dirs:    src gen -    ghc-options:       -Wall+    ghc-options:+        -Wall+        -fwarn-incomplete-uni-patterns+        -fwarn-incomplete-record-updates+        -funbox-strict-fields      exposed-modules:           Network.AWS.CloudFormation@@ -44,13 +49,20 @@         , Network.AWS.CloudFormation.ContinueUpdateRollback         , Network.AWS.CloudFormation.CreateChangeSet         , Network.AWS.CloudFormation.CreateStack+        , Network.AWS.CloudFormation.CreateStackInstances+        , Network.AWS.CloudFormation.CreateStackSet         , Network.AWS.CloudFormation.DeleteChangeSet         , Network.AWS.CloudFormation.DeleteStack+        , Network.AWS.CloudFormation.DeleteStackInstances+        , Network.AWS.CloudFormation.DeleteStackSet         , Network.AWS.CloudFormation.DescribeAccountLimits         , Network.AWS.CloudFormation.DescribeChangeSet         , Network.AWS.CloudFormation.DescribeStackEvents+        , Network.AWS.CloudFormation.DescribeStackInstance         , Network.AWS.CloudFormation.DescribeStackResource         , Network.AWS.CloudFormation.DescribeStackResources+        , Network.AWS.CloudFormation.DescribeStackSet+        , Network.AWS.CloudFormation.DescribeStackSetOperation         , Network.AWS.CloudFormation.DescribeStacks         , Network.AWS.CloudFormation.EstimateTemplateCost         , Network.AWS.CloudFormation.ExecuteChangeSet@@ -60,12 +72,19 @@         , Network.AWS.CloudFormation.ListChangeSets         , Network.AWS.CloudFormation.ListExports         , Network.AWS.CloudFormation.ListImports+        , Network.AWS.CloudFormation.ListStackInstances         , Network.AWS.CloudFormation.ListStackResources+        , Network.AWS.CloudFormation.ListStackSetOperationResults+        , Network.AWS.CloudFormation.ListStackSetOperations+        , Network.AWS.CloudFormation.ListStackSets         , Network.AWS.CloudFormation.ListStacks         , Network.AWS.CloudFormation.SetStackPolicy         , Network.AWS.CloudFormation.SignalResource+        , Network.AWS.CloudFormation.StopStackSetOperation         , Network.AWS.CloudFormation.Types         , Network.AWS.CloudFormation.UpdateStack+        , Network.AWS.CloudFormation.UpdateStackSet+        , Network.AWS.CloudFormation.UpdateTerminationProtection         , Network.AWS.CloudFormation.ValidateTemplate         , Network.AWS.CloudFormation.Waiters @@ -74,7 +93,7 @@         , Network.AWS.CloudFormation.Types.Sum      build-depends:-          amazonka-core == 1.4.5.*+          amazonka-core == 1.5.0.*         , base          >= 4.7     && < 5  test-suite amazonka-cloudformation-test@@ -94,9 +113,9 @@         , Test.AWS.CloudFormation.Internal      build-depends:-          amazonka-core == 1.4.5.*-        , amazonka-test == 1.4.5.*-        , amazonka-cloudformation == 1.4.5.*+          amazonka-core == 1.5.0.*+        , amazonka-test == 1.5.0.*+        , amazonka-cloudformation         , base         , bytestring         , tasty
+ fixture/CreateStackInstances.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/cloudformation/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  cloudformation.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/CreateStackInstancesResponse.proto view
+ fixture/CreateStackSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/cloudformation/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  cloudformation.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/CreateStackSetResponse.proto view
+ fixture/DeleteStackInstances.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/cloudformation/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  cloudformation.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeleteStackInstancesResponse.proto view
+ fixture/DeleteStackSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/cloudformation/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  cloudformation.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeleteStackSetResponse.proto view
+ fixture/DescribeStackInstance.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/cloudformation/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  cloudformation.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribeStackInstanceResponse.proto view
+ fixture/DescribeStackSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/cloudformation/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  cloudformation.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribeStackSetOperation.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/cloudformation/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  cloudformation.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DescribeStackSetOperationResponse.proto view
+ fixture/DescribeStackSetResponse.proto view
+ fixture/ListStackInstances.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/cloudformation/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  cloudformation.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListStackInstancesResponse.proto view
+ fixture/ListStackSetOperationResults.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/cloudformation/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  cloudformation.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListStackSetOperationResultsResponse.proto view
+ fixture/ListStackSetOperations.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/cloudformation/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  cloudformation.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListStackSetOperationsResponse.proto view
+ fixture/ListStackSets.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/cloudformation/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  cloudformation.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListStackSetsResponse.proto view
+ fixture/StopStackSetOperation.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/cloudformation/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  cloudformation.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/StopStackSetOperationResponse.proto view
+ fixture/UpdateStackSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/cloudformation/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  cloudformation.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UpdateStackSetResponse.proto view
+ fixture/UpdateTerminationProtection.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/cloudformation/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  cloudformation.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UpdateTerminationProtectionResponse.proto view
gen/Network/AWS/CloudFormation.hs view
@@ -5,9 +5,9 @@  -- | -- Module      : Network.AWS.CloudFormation--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -19,7 +19,7 @@ -- -- For more information about AWS CloudFormation, see the <http://aws.amazon.com/cloudformation/ AWS CloudFormation Product Page> . ----- Amazon CloudFormation makes use of other AWS products. If you need additional technical information about a specific AWS product, you can find the product's technical documentation at <http://docs.aws.amazon.com/http:/docs.aws.amazon.com/ http://docs.aws.amazon.com/> .+-- Amazon CloudFormation makes use of other AWS products. If you need additional technical information about a specific AWS product, you can find the product's technical documentation at <http://docs.aws.amazon.com/ docs.aws.amazon.com> . -- module Network.AWS.CloudFormation     (@@ -29,15 +29,48 @@     -- * Errors     -- $errors +    -- ** CreatedButModifiedException+    , _CreatedButModifiedException+     -- ** ChangeSetNotFoundException     , _ChangeSetNotFoundException +    -- ** OperationInProgressException+    , _OperationInProgressException+     -- ** InvalidChangeSetStatusException     , _InvalidChangeSetStatusException +    -- ** OperationNotFoundException+    , _OperationNotFoundException++    -- ** OperationIdAlreadyExistsException+    , _OperationIdAlreadyExistsException+     -- ** InsufficientCapabilitiesException     , _InsufficientCapabilitiesException +    -- ** TokenAlreadyExistsException+    , _TokenAlreadyExistsException++    -- ** StackSetNotFoundException+    , _StackSetNotFoundException++    -- ** StackInstanceNotFoundException+    , _StackInstanceNotFoundException++    -- ** StackSetNotEmptyException+    , _StackSetNotEmptyException++    -- ** InvalidOperationException+    , _InvalidOperationException++    -- ** NameAlreadyExistsException+    , _NameAlreadyExistsException++    -- ** StaleRequestException+    , _StaleRequestException+     -- ** AlreadyExistsException     , _AlreadyExistsException @@ -65,6 +98,9 @@     -- * Operations     -- $operations +    -- ** DescribeStackSetOperation+    , module Network.AWS.CloudFormation.DescribeStackSetOperation+     -- ** DeleteStack     , module Network.AWS.CloudFormation.DeleteStack @@ -80,6 +116,12 @@     -- ** ListStackResources (Paginated)     , module Network.AWS.CloudFormation.ListStackResources +    -- ** DeleteStackInstances+    , module Network.AWS.CloudFormation.DeleteStackInstances++    -- ** CreateStackInstances+    , module Network.AWS.CloudFormation.CreateStackInstances+     -- ** GetStackPolicy     , module Network.AWS.CloudFormation.GetStackPolicy @@ -89,9 +131,15 @@     -- ** CreateChangeSet     , module Network.AWS.CloudFormation.CreateChangeSet +    -- ** ListStackSetOperations+    , module Network.AWS.CloudFormation.ListStackSetOperations+     -- ** ExecuteChangeSet     , module Network.AWS.CloudFormation.ExecuteChangeSet +    -- ** ListStackInstances+    , module Network.AWS.CloudFormation.ListStackInstances+     -- ** ContinueUpdateRollback     , module Network.AWS.CloudFormation.ContinueUpdateRollback @@ -110,7 +158,7 @@     -- ** SetStackPolicy     , module Network.AWS.CloudFormation.SetStackPolicy -    -- ** ListImports+    -- ** ListImports (Paginated)     , module Network.AWS.CloudFormation.ListImports      -- ** ListStacks (Paginated)@@ -122,29 +170,59 @@     -- ** DescribeStackResources     , module Network.AWS.CloudFormation.DescribeStackResources +    -- ** DescribeStackInstance+    , module Network.AWS.CloudFormation.DescribeStackInstance+     -- ** CreateStack     , module Network.AWS.CloudFormation.CreateStack +    -- ** UpdateStackSet+    , module Network.AWS.CloudFormation.UpdateStackSet++    -- ** DeleteStackSet+    , module Network.AWS.CloudFormation.DeleteStackSet+     -- ** EstimateTemplateCost     , module Network.AWS.CloudFormation.EstimateTemplateCost      -- ** DeleteChangeSet     , module Network.AWS.CloudFormation.DeleteChangeSet -    -- ** ListExports+    -- ** ListStackSets+    , module Network.AWS.CloudFormation.ListStackSets++    -- ** ListExports (Paginated)     , module Network.AWS.CloudFormation.ListExports +    -- ** CreateStackSet+    , module Network.AWS.CloudFormation.CreateStackSet++    -- ** UpdateTerminationProtection+    , module Network.AWS.CloudFormation.UpdateTerminationProtection+     -- ** GetTemplate     , module Network.AWS.CloudFormation.GetTemplate      -- ** DescribeChangeSet     , module Network.AWS.CloudFormation.DescribeChangeSet +    -- ** DescribeStackSet+    , module Network.AWS.CloudFormation.DescribeStackSet++    -- ** ListStackSetOperationResults+    , module Network.AWS.CloudFormation.ListStackSetOperationResults++    -- ** StopStackSetOperation+    , module Network.AWS.CloudFormation.StopStackSetOperation+     -- ** DescribeStackResource     , module Network.AWS.CloudFormation.DescribeStackResource      -- * Types +    -- ** AccountGateStatus+    , AccountGateStatus (..)+     -- ** Capability     , Capability (..) @@ -187,12 +265,33 @@     -- ** ResourceStatus     , ResourceStatus (..) +    -- ** StackInstanceStatus+    , StackInstanceStatus (..)++    -- ** StackSetOperationAction+    , StackSetOperationAction (..)++    -- ** StackSetOperationResultStatus+    , StackSetOperationResultStatus (..)++    -- ** StackSetOperationStatus+    , StackSetOperationStatus (..)++    -- ** StackSetStatus+    , StackSetStatus (..)+     -- ** StackStatus     , StackStatus (..)      -- ** TemplateStage     , TemplateStage (..) +    -- ** AccountGateResult+    , AccountGateResult+    , accountGateResult+    , agrStatus+    , agrStatusReason+     -- ** AccountLimit     , AccountLimit     , accountLimit@@ -208,15 +307,15 @@     -- ** ChangeSetSummary     , ChangeSetSummary     , changeSetSummary-    , cssCreationTime-    , cssStatus-    , cssChangeSetName-    , cssExecutionStatus-    , cssChangeSetId-    , cssStatusReason-    , cssStackId-    , cssDescription-    , cssStackName+    , cCreationTime+    , cStatus+    , cChangeSetName+    , cExecutionStatus+    , cChangeSetId+    , cStatusReason+    , cStackId+    , cDescription+    , cStackName      -- ** Export     , Export@@ -230,6 +329,7 @@     , output     , oOutputValue     , oOutputKey+    , oExportName     , oDescription      -- ** Parameter@@ -280,21 +380,38 @@     , rtdRequiresRecreation     , rtdName +    -- ** RollbackConfiguration+    , RollbackConfiguration+    , rollbackConfiguration+    , rcRollbackTriggers+    , rcMonitoringTimeInMinutes++    -- ** RollbackTrigger+    , RollbackTrigger+    , rollbackTrigger+    , rtARN+    , rtType+     -- ** Stack     , Stack     , stack     , sDisableRollback     , sLastUpdatedTime+    , sRootId     , sNotificationARNs     , sStackStatusReason+    , sEnableTerminationProtection     , sChangeSetId+    , sDeletionTime     , sOutputs     , sParameters     , sStackId     , sDescription     , sCapabilities+    , sRollbackConfiguration     , sTags     , sTimeoutInMinutes+    , sParentId     , sRoleARN     , sStackName     , sCreationTime@@ -309,11 +426,32 @@     , seResourceStatusReason     , seResourceProperties     , seResourceStatus+    , seClientRequestToken     , seStackId     , seEventId     , seStackName     , seTimestamp +    -- ** StackInstance+    , StackInstance+    , stackInstance+    , siStatus+    , siAccount+    , siRegion+    , siStatusReason+    , siStackId+    , siStackSetId++    -- ** StackInstanceSummary+    , StackInstanceSummary+    , stackInstanceSummary+    , sisStatus+    , sisAccount+    , sisRegion+    , sisStatusReason+    , sisStackId+    , sisStackSetId+     -- ** StackResource     , StackResource     , stackResource@@ -351,14 +489,75 @@     , srsLastUpdatedTimestamp     , srsResourceStatus +    -- ** StackSet+    , StackSet+    , stackSet+    , ssStatus+    , ssParameters+    , ssTemplateBody+    , ssStackSetName+    , ssDescription+    , ssCapabilities+    , ssTags+    , ssStackSetId++    -- ** StackSetOperation+    , StackSetOperation+    , stackSetOperation+    , ssoStatus+    , ssoAction+    , ssoEndTimestamp+    , ssoCreationTimestamp+    , ssoOperationPreferences+    , ssoOperationId+    , ssoRetainStacks+    , ssoStackSetId++    -- ** StackSetOperationPreferences+    , StackSetOperationPreferences+    , stackSetOperationPreferences+    , ssopRegionOrder+    , ssopMaxConcurrentCount+    , ssopMaxConcurrentPercentage+    , ssopFailureToleranceCount+    , ssopFailureTolerancePercentage++    -- ** StackSetOperationResultSummary+    , StackSetOperationResultSummary+    , stackSetOperationResultSummary+    , ssorsStatus+    , ssorsAccount+    , ssorsAccountGateResult+    , ssorsRegion+    , ssorsStatusReason++    -- ** StackSetOperationSummary+    , StackSetOperationSummary+    , stackSetOperationSummary+    , ssosStatus+    , ssosAction+    , ssosEndTimestamp+    , ssosCreationTimestamp+    , ssosOperationId++    -- ** StackSetSummary+    , StackSetSummary+    , stackSetSummary+    , sssStatus+    , sssStackSetName+    , sssDescription+    , sssStackSetId+     -- ** StackSummary     , StackSummary     , stackSummary     , ssLastUpdatedTime+    , ssRootId     , ssStackStatusReason     , ssTemplateDescription     , ssDeletionTime     , ssStackId+    , ssParentId     , ssStackName     , ssCreationTime     , ssStackStatus@@ -366,8 +565,8 @@     -- ** Tag     , Tag     , tag-    , tagValue     , tagKey+    , tagValue      -- ** TemplateParameter     , TemplateParameter@@ -378,34 +577,48 @@     , tpDescription     ) where -import           Network.AWS.CloudFormation.CancelUpdateStack-import           Network.AWS.CloudFormation.ContinueUpdateRollback-import           Network.AWS.CloudFormation.CreateChangeSet-import           Network.AWS.CloudFormation.CreateStack-import           Network.AWS.CloudFormation.DeleteChangeSet-import           Network.AWS.CloudFormation.DeleteStack-import           Network.AWS.CloudFormation.DescribeAccountLimits-import           Network.AWS.CloudFormation.DescribeChangeSet-import           Network.AWS.CloudFormation.DescribeStackEvents-import           Network.AWS.CloudFormation.DescribeStackResource-import           Network.AWS.CloudFormation.DescribeStackResources-import           Network.AWS.CloudFormation.DescribeStacks-import           Network.AWS.CloudFormation.EstimateTemplateCost-import           Network.AWS.CloudFormation.ExecuteChangeSet-import           Network.AWS.CloudFormation.GetStackPolicy-import           Network.AWS.CloudFormation.GetTemplate-import           Network.AWS.CloudFormation.GetTemplateSummary-import           Network.AWS.CloudFormation.ListChangeSets-import           Network.AWS.CloudFormation.ListExports-import           Network.AWS.CloudFormation.ListImports-import           Network.AWS.CloudFormation.ListStackResources-import           Network.AWS.CloudFormation.ListStacks-import           Network.AWS.CloudFormation.SetStackPolicy-import           Network.AWS.CloudFormation.SignalResource-import           Network.AWS.CloudFormation.Types-import           Network.AWS.CloudFormation.UpdateStack-import           Network.AWS.CloudFormation.ValidateTemplate-import           Network.AWS.CloudFormation.Waiters+import Network.AWS.CloudFormation.CancelUpdateStack+import Network.AWS.CloudFormation.ContinueUpdateRollback+import Network.AWS.CloudFormation.CreateChangeSet+import Network.AWS.CloudFormation.CreateStack+import Network.AWS.CloudFormation.CreateStackInstances+import Network.AWS.CloudFormation.CreateStackSet+import Network.AWS.CloudFormation.DeleteChangeSet+import Network.AWS.CloudFormation.DeleteStack+import Network.AWS.CloudFormation.DeleteStackInstances+import Network.AWS.CloudFormation.DeleteStackSet+import Network.AWS.CloudFormation.DescribeAccountLimits+import Network.AWS.CloudFormation.DescribeChangeSet+import Network.AWS.CloudFormation.DescribeStackEvents+import Network.AWS.CloudFormation.DescribeStackInstance+import Network.AWS.CloudFormation.DescribeStackResource+import Network.AWS.CloudFormation.DescribeStackResources+import Network.AWS.CloudFormation.DescribeStacks+import Network.AWS.CloudFormation.DescribeStackSet+import Network.AWS.CloudFormation.DescribeStackSetOperation+import Network.AWS.CloudFormation.EstimateTemplateCost+import Network.AWS.CloudFormation.ExecuteChangeSet+import Network.AWS.CloudFormation.GetStackPolicy+import Network.AWS.CloudFormation.GetTemplate+import Network.AWS.CloudFormation.GetTemplateSummary+import Network.AWS.CloudFormation.ListChangeSets+import Network.AWS.CloudFormation.ListExports+import Network.AWS.CloudFormation.ListImports+import Network.AWS.CloudFormation.ListStackInstances+import Network.AWS.CloudFormation.ListStackResources+import Network.AWS.CloudFormation.ListStacks+import Network.AWS.CloudFormation.ListStackSetOperationResults+import Network.AWS.CloudFormation.ListStackSetOperations+import Network.AWS.CloudFormation.ListStackSets+import Network.AWS.CloudFormation.SetStackPolicy+import Network.AWS.CloudFormation.SignalResource+import Network.AWS.CloudFormation.StopStackSetOperation+import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.UpdateStack+import Network.AWS.CloudFormation.UpdateStackSet+import Network.AWS.CloudFormation.UpdateTerminationProtection+import Network.AWS.CloudFormation.ValidateTemplate+import Network.AWS.CloudFormation.Waiters  {- $errors Error matchers are designed for use with the functions provided by
gen/Network/AWS/CloudFormation/CancelUpdateStack.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.CloudFormation.CancelUpdateStack--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -27,6 +27,7 @@       cancelUpdateStack     , CancelUpdateStack     -- * Request Lenses+    , cusClientRequestToken     , cusStackName      -- * Destructuring the Response@@ -34,35 +35,43 @@     , CancelUpdateStackResponse     ) where -import           Network.AWS.CloudFormation.Types-import           Network.AWS.CloudFormation.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | The input for the 'CancelUpdateStack' action. -- -- -- -- /See:/ 'cancelUpdateStack' smart constructor.-newtype CancelUpdateStack = CancelUpdateStack'-    { _cusStackName :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+data CancelUpdateStack = CancelUpdateStack'+  { _cusClientRequestToken :: !(Maybe Text)+  , _cusStackName          :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CancelUpdateStack' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'cusClientRequestToken' - A unique identifier for this @CancelUpdateStack@ request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to cancel an update on a stack with the same name. You might retry @CancelUpdateStack@ requests to ensure that AWS CloudFormation successfully received them.+-- -- * 'cusStackName' - The name or the unique stack ID that is associated with the stack. cancelUpdateStack     :: Text -- ^ 'cusStackName'     -> CancelUpdateStack cancelUpdateStack pStackName_ =-    CancelUpdateStack'-    { _cusStackName = pStackName_-    }+  CancelUpdateStack'+  {_cusClientRequestToken = Nothing, _cusStackName = pStackName_} ++-- | A unique identifier for this @CancelUpdateStack@ request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to cancel an update on a stack with the same name. You might retry @CancelUpdateStack@ requests to ensure that AWS CloudFormation successfully received them.+cusClientRequestToken :: Lens' CancelUpdateStack (Maybe Text)+cusClientRequestToken = lens _cusClientRequestToken (\ s a -> s{_cusClientRequestToken = a});+ -- | The name or the unique stack ID that is associated with the stack. cusStackName :: Lens' CancelUpdateStack Text cusStackName = lens _cusStackName (\ s a -> s{_cusStackName = a});@@ -72,9 +81,9 @@         request = postQuery cloudFormation         response = receiveNull CancelUpdateStackResponse' -instance Hashable CancelUpdateStack+instance Hashable CancelUpdateStack where -instance NFData CancelUpdateStack+instance NFData CancelUpdateStack where  instance ToHeaders CancelUpdateStack where         toHeaders = const mempty@@ -87,17 +96,20 @@           = mconcat               ["Action" =: ("CancelUpdateStack" :: ByteString),                "Version" =: ("2010-05-15" :: ByteString),+               "ClientRequestToken" =: _cusClientRequestToken,                "StackName" =: _cusStackName]  -- | /See:/ 'cancelUpdateStackResponse' smart constructor. data CancelUpdateStackResponse =-    CancelUpdateStackResponse'-    deriving (Eq,Read,Show,Data,Typeable,Generic)+  CancelUpdateStackResponse'+  deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CancelUpdateStackResponse' with the minimum fields required to make a request. -- cancelUpdateStackResponse     :: CancelUpdateStackResponse cancelUpdateStackResponse = CancelUpdateStackResponse' -instance NFData CancelUpdateStackResponse++instance NFData CancelUpdateStackResponse where
gen/Network/AWS/CloudFormation/ContinueUpdateRollback.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.CloudFormation.ContinueUpdateRollback--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -30,6 +30,7 @@     , ContinueUpdateRollback     -- * Request Lenses     , curResourcesToSkip+    , curClientRequestToken     , curRoleARN     , curStackName @@ -40,12 +41,12 @@     , currsResponseStatus     ) where -import           Network.AWS.CloudFormation.Types-import           Network.AWS.CloudFormation.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | The input for the 'ContinueUpdateRollback' action. --@@ -53,17 +54,21 @@ -- -- /See:/ 'continueUpdateRollback' smart constructor. data ContinueUpdateRollback = ContinueUpdateRollback'-    { _curResourcesToSkip :: !(Maybe [Text])-    , _curRoleARN         :: !(Maybe Text)-    , _curStackName       :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _curResourcesToSkip    :: !(Maybe [Text])+  , _curClientRequestToken :: !(Maybe Text)+  , _curRoleARN            :: !(Maybe Text)+  , _curStackName          :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ContinueUpdateRollback' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'curResourcesToSkip' - A list of the logical IDs of the resources that AWS CloudFormation skips during the continue update rollback operation. You can specify only resources that are in the @UPDATE_FAILED@ state because a rollback failed. You can't specify resources that are in the @UPDATE_FAILED@ state for other reasons, for example, because an update was canceled. To check why a resource update failed, use the 'DescribeStackResources' action, and view the resource status reason.  /Important:/ Specify this property to skip rolling back resources that AWS CloudFormation can't successfully roll back. We recommend that you <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-update-rollback-failed troubleshoot> resources before skipping them. AWS CloudFormation sets the status of the specified resources to @UPDATE_COMPLETE@ and continues to roll back the stack. After the rollback is complete, the state of the skipped resources will be inconsistent with the state of the resources in the stack template. Before performing another stack update, you must update the stack or resources to be consistent with each other. If you don't, subsequent stack updates might fail, and the stack will become unrecoverable.  Specify the minimum number of resources required to successfully roll back your stack. For example, a failed resource update might cause dependent resources to fail. In this case, it might not be necessary to skip the dependent resources.  To specify resources in a nested stack, use the following format: @NestedStackName.ResourceLogicalID@ . You can specify a nested stack resource (the logical ID of an @AWS::CloudFormation::Stack@ resource) only if it's in one of the following states: @DELETE_IN_PROGRESS@ , @DELETE_COMPLETE@ , or @DELETE_FAILED@ .+-- * 'curResourcesToSkip' - A list of the logical IDs of the resources that AWS CloudFormation skips during the continue update rollback operation. You can specify only resources that are in the @UPDATE_FAILED@ state because a rollback failed. You can't specify resources that are in the @UPDATE_FAILED@ state for other reasons, for example, because an update was cancelled. To check why a resource update failed, use the 'DescribeStackResources' action, and view the resource status reason.  /Important:/ Specify this property to skip rolling back resources that AWS CloudFormation can't successfully roll back. We recommend that you <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-update-rollback-failed troubleshoot> resources before skipping them. AWS CloudFormation sets the status of the specified resources to @UPDATE_COMPLETE@ and continues to roll back the stack. After the rollback is complete, the state of the skipped resources will be inconsistent with the state of the resources in the stack template. Before performing another stack update, you must update the stack or resources to be consistent with each other. If you don't, subsequent stack updates might fail, and the stack will become unrecoverable.  Specify the minimum number of resources required to successfully roll back your stack. For example, a failed resource update might cause dependent resources to fail. In this case, it might not be necessary to skip the dependent resources.  To skip resources that are part of nested stacks, use the following format: @NestedStackName.ResourceLogicalID@ . If you want to specify the logical ID of a stack resource (@Type: AWS::CloudFormation::Stack@ ) in the @ResourcesToSkip@ list, then its corresponding embedded stack must be in one of the following states: @DELETE_IN_PROGRESS@ , @DELETE_COMPLETE@ , or @DELETE_FAILED@ . --+-- * 'curClientRequestToken' - A unique identifier for this @ContinueUpdateRollback@ request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to continue the rollback to a stack with the same name. You might retry @ContinueUpdateRollback@ requests to ensure that AWS CloudFormation successfully received them.+-- -- * 'curRoleARN' - The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that AWS CloudFormation assumes to roll back the stack. AWS CloudFormation uses the role's credentials to make calls on your behalf. AWS CloudFormation always uses this role for all future operations on the stack. As long as users have permission to operate on the stack, AWS CloudFormation uses this role even if the users don't have permission to pass it. Ensure that the role grants least privilege. If you don't specify a value, AWS CloudFormation uses the role that was previously associated with the stack. If no role is available, AWS CloudFormation uses a temporary session that is generated from your user credentials. -- -- * 'curStackName' - The name or the unique ID of the stack that you want to continue rolling back.@@ -71,16 +76,22 @@     :: Text -- ^ 'curStackName'     -> ContinueUpdateRollback continueUpdateRollback pStackName_ =-    ContinueUpdateRollback'-    { _curResourcesToSkip = Nothing-    , _curRoleARN = Nothing-    , _curStackName = pStackName_-    }+  ContinueUpdateRollback'+  { _curResourcesToSkip = Nothing+  , _curClientRequestToken = Nothing+  , _curRoleARN = Nothing+  , _curStackName = pStackName_+  } --- | A list of the logical IDs of the resources that AWS CloudFormation skips during the continue update rollback operation. You can specify only resources that are in the @UPDATE_FAILED@ state because a rollback failed. You can't specify resources that are in the @UPDATE_FAILED@ state for other reasons, for example, because an update was canceled. To check why a resource update failed, use the 'DescribeStackResources' action, and view the resource status reason.  /Important:/ Specify this property to skip rolling back resources that AWS CloudFormation can't successfully roll back. We recommend that you <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-update-rollback-failed troubleshoot> resources before skipping them. AWS CloudFormation sets the status of the specified resources to @UPDATE_COMPLETE@ and continues to roll back the stack. After the rollback is complete, the state of the skipped resources will be inconsistent with the state of the resources in the stack template. Before performing another stack update, you must update the stack or resources to be consistent with each other. If you don't, subsequent stack updates might fail, and the stack will become unrecoverable.  Specify the minimum number of resources required to successfully roll back your stack. For example, a failed resource update might cause dependent resources to fail. In this case, it might not be necessary to skip the dependent resources.  To specify resources in a nested stack, use the following format: @NestedStackName.ResourceLogicalID@ . You can specify a nested stack resource (the logical ID of an @AWS::CloudFormation::Stack@ resource) only if it's in one of the following states: @DELETE_IN_PROGRESS@ , @DELETE_COMPLETE@ , or @DELETE_FAILED@ .++-- | A list of the logical IDs of the resources that AWS CloudFormation skips during the continue update rollback operation. You can specify only resources that are in the @UPDATE_FAILED@ state because a rollback failed. You can't specify resources that are in the @UPDATE_FAILED@ state for other reasons, for example, because an update was cancelled. To check why a resource update failed, use the 'DescribeStackResources' action, and view the resource status reason.  /Important:/ Specify this property to skip rolling back resources that AWS CloudFormation can't successfully roll back. We recommend that you <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-update-rollback-failed troubleshoot> resources before skipping them. AWS CloudFormation sets the status of the specified resources to @UPDATE_COMPLETE@ and continues to roll back the stack. After the rollback is complete, the state of the skipped resources will be inconsistent with the state of the resources in the stack template. Before performing another stack update, you must update the stack or resources to be consistent with each other. If you don't, subsequent stack updates might fail, and the stack will become unrecoverable.  Specify the minimum number of resources required to successfully roll back your stack. For example, a failed resource update might cause dependent resources to fail. In this case, it might not be necessary to skip the dependent resources.  To skip resources that are part of nested stacks, use the following format: @NestedStackName.ResourceLogicalID@ . If you want to specify the logical ID of a stack resource (@Type: AWS::CloudFormation::Stack@ ) in the @ResourcesToSkip@ list, then its corresponding embedded stack must be in one of the following states: @DELETE_IN_PROGRESS@ , @DELETE_COMPLETE@ , or @DELETE_FAILED@ . curResourcesToSkip :: Lens' ContinueUpdateRollback [Text] curResourcesToSkip = lens _curResourcesToSkip (\ s a -> s{_curResourcesToSkip = a}) . _Default . _Coerce; +-- | A unique identifier for this @ContinueUpdateRollback@ request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to continue the rollback to a stack with the same name. You might retry @ContinueUpdateRollback@ requests to ensure that AWS CloudFormation successfully received them.+curClientRequestToken :: Lens' ContinueUpdateRollback (Maybe Text)+curClientRequestToken = lens _curClientRequestToken (\ s a -> s{_curClientRequestToken = a});+ -- | The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that AWS CloudFormation assumes to roll back the stack. AWS CloudFormation uses the role's credentials to make calls on your behalf. AWS CloudFormation always uses this role for all future operations on the stack. As long as users have permission to operate on the stack, AWS CloudFormation uses this role even if the users don't have permission to pass it. Ensure that the role grants least privilege. If you don't specify a value, AWS CloudFormation uses the role that was previously associated with the stack. If no role is available, AWS CloudFormation uses a temporary session that is generated from your user credentials. curRoleARN :: Lens' ContinueUpdateRollback (Maybe Text) curRoleARN = lens _curRoleARN (\ s a -> s{_curRoleARN = a});@@ -99,9 +110,9 @@                  ContinueUpdateRollbackResponse' <$>                    (pure (fromEnum s))) -instance Hashable ContinueUpdateRollback+instance Hashable ContinueUpdateRollback where -instance NFData ContinueUpdateRollback+instance NFData ContinueUpdateRollback where  instance ToHeaders ContinueUpdateRollback where         toHeaders = const mempty@@ -118,6 +129,7 @@                "ResourcesToSkip" =:                  toQuery                    (toQueryList "member" <$> _curResourcesToSkip),+               "ClientRequestToken" =: _curClientRequestToken,                "RoleARN" =: _curRoleARN,                "StackName" =: _curStackName] @@ -127,9 +139,10 @@ -- -- /See:/ 'continueUpdateRollbackResponse' smart constructor. newtype ContinueUpdateRollbackResponse = ContinueUpdateRollbackResponse'-    { _currsResponseStatus :: Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _currsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ContinueUpdateRollbackResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -139,12 +152,11 @@     :: Int -- ^ 'currsResponseStatus'     -> ContinueUpdateRollbackResponse continueUpdateRollbackResponse pResponseStatus_ =-    ContinueUpdateRollbackResponse'-    { _currsResponseStatus = pResponseStatus_-    }+  ContinueUpdateRollbackResponse' {_currsResponseStatus = pResponseStatus_} + -- | -- | The response status code. currsResponseStatus :: Lens' ContinueUpdateRollbackResponse Int currsResponseStatus = lens _currsResponseStatus (\ s a -> s{_currsResponseStatus = a}); -instance NFData ContinueUpdateRollbackResponse+instance NFData ContinueUpdateRollbackResponse where
gen/Network/AWS/CloudFormation/CreateChangeSet.hs view
@@ -12,18 +12,18 @@  -- | -- Module      : Network.AWS.CloudFormation.CreateChangeSet--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Creates a list of changes for a stack. AWS CloudFormation generates the change set by comparing the template's information with the information that you submit. A change set can help you understand which resources AWS CloudFormation will change, and how it will change them, before you update your stack. Change sets allow you to check before making a change to avoid deleting or replacing critical resources.+-- Creates a list of changes that will be applied to a stack so that you can review the changes before executing them. You can create a change set for a stack that doesn't exist or an existing stack. If you create a change set for a stack that doesn't exist, the change set shows all of the resources that AWS CloudFormation will create. If you create a change set for an existing stack, AWS CloudFormation compares the stack's information with the information that you submit in the change set and lists the differences. Use change sets to understand which resources AWS CloudFormation will create or change, and how it will change resources in an existing stack, before you create or update a stack. -- ----- AWS CloudFormation doesn't make any changes to the stack when you create a change set. To make the specified changes, you must execute the change set by using the 'ExecuteChangeSet' action.+-- To create a change set for a stack that doesn't exist, for the @ChangeSetType@ parameter, specify @CREATE@ . To create a change set for an existing stack, specify @UPDATE@ for the @ChangeSetType@ parameter. After the @CreateChangeSet@ call successfully completes, AWS CloudFormation starts creating the change set. To check the status of the change set or to review it, use the 'DescribeChangeSet' action. ----- After the call successfully completes, AWS CloudFormation starts creating the change set. To check the status of the change set, use the 'DescribeChangeSet' action.+-- When you are satisfied with the changes the change set will make, execute the change set by using the 'ExecuteChangeSet' action. AWS CloudFormation doesn't make changes until you execute the change set. -- module Network.AWS.CloudFormation.CreateChangeSet     (@@ -40,6 +40,7 @@     , ccsTemplateURL     , ccsDescription     , ccsCapabilities+    , ccsRollbackConfiguration     , ccsResourceTypes     , ccsTags     , ccsRoleARN@@ -55,12 +56,12 @@     , ccsrsResponseStatus     ) where -import           Network.AWS.CloudFormation.Types-import           Network.AWS.CloudFormation.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | The input for the 'CreateChangeSet' action. --@@ -68,22 +69,24 @@ -- -- /See:/ 'createChangeSet' smart constructor. data CreateChangeSet = CreateChangeSet'-    { _ccsChangeSetType       :: !(Maybe ChangeSetType)-    , _ccsUsePreviousTemplate :: !(Maybe Bool)-    , _ccsClientToken         :: !(Maybe Text)-    , _ccsNotificationARNs    :: !(Maybe [Text])-    , _ccsParameters          :: !(Maybe [Parameter])-    , _ccsTemplateBody        :: !(Maybe Text)-    , _ccsTemplateURL         :: !(Maybe Text)-    , _ccsDescription         :: !(Maybe Text)-    , _ccsCapabilities        :: !(Maybe [Capability])-    , _ccsResourceTypes       :: !(Maybe [Text])-    , _ccsTags                :: !(Maybe [Tag])-    , _ccsRoleARN             :: !(Maybe Text)-    , _ccsStackName           :: !Text-    , _ccsChangeSetName       :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ccsChangeSetType         :: !(Maybe ChangeSetType)+  , _ccsUsePreviousTemplate   :: !(Maybe Bool)+  , _ccsClientToken           :: !(Maybe Text)+  , _ccsNotificationARNs      :: !(Maybe [Text])+  , _ccsParameters            :: !(Maybe [Parameter])+  , _ccsTemplateBody          :: !(Maybe Text)+  , _ccsTemplateURL           :: !(Maybe Text)+  , _ccsDescription           :: !(Maybe Text)+  , _ccsCapabilities          :: !(Maybe [Capability])+  , _ccsRollbackConfiguration :: !(Maybe RollbackConfiguration)+  , _ccsResourceTypes         :: !(Maybe [Text])+  , _ccsTags                  :: !(Maybe [Tag])+  , _ccsRoleARN               :: !(Maybe Text)+  , _ccsStackName             :: !Text+  , _ccsChangeSetName         :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateChangeSet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -106,9 +109,11 @@ -- -- * 'ccsCapabilities' - A list of values that you must specify before AWS CloudFormation can update certain stacks. Some stack templates might include resources that can affect permissions in your AWS account, for example, by creating new AWS Identity and Access Management (IAM) users. For those stacks, you must explicitly acknowledge their capabilities by specifying this parameter. The only valid values are @CAPABILITY_IAM@ and @CAPABILITY_NAMED_IAM@ . The following resources require you to specify this parameter: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html AWS::IAM::AccessKey> , <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html AWS::IAM::Group> , <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html AWS::IAM::InstanceProfile> , <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html AWS::IAM::Policy> , <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html AWS::IAM::Role> , <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html AWS::IAM::User> , and <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html AWS::IAM::UserToGroupAddition> . If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary. If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify @CAPABILITY_NAMED_IAM@ . If you don't specify this parameter, this action returns an @InsufficientCapabilities@ error. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities Acknowledging IAM Resources in AWS CloudFormation Templates> . --+-- * 'ccsRollbackConfiguration' - The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.+-- -- * 'ccsResourceTypes' - The template resource types that you have permissions to work with if you execute this change set, such as @AWS::EC2::Instance@ , @AWS::EC2::*@ , or @Custom::MyCustomInstance@ . If the list of resource types doesn't include a resource type that you're updating, the stack update fails. By default, AWS CloudFormation grants permissions to all resource types. AWS Identity and Access Management (IAM) uses this parameter for condition keys in IAM policies for AWS CloudFormation. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html Controlling Access with AWS Identity and Access Management> in the AWS CloudFormation User Guide. ----- * 'ccsTags' - Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to resources in the stack. You can specify a maximum of 10 tags.+-- * 'ccsTags' - Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to resources in the stack. You can specify a maximum of 50 tags. -- -- * 'ccsRoleARN' - The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that AWS CloudFormation assumes when executing the change set. AWS CloudFormation uses the role's credentials to make calls on your behalf. AWS CloudFormation uses this role for all future operations on the stack. As long as users have permission to operate on the stack, AWS CloudFormation uses this role even if the users don't have permission to pass it. Ensure that the role grants least privilege. If you don't specify a value, AWS CloudFormation uses the role that was previously associated with the stack. If no role is available, AWS CloudFormation uses a temporary session that is generated from your user credentials. --@@ -120,23 +125,25 @@     -> Text -- ^ 'ccsChangeSetName'     -> CreateChangeSet createChangeSet pStackName_ pChangeSetName_ =-    CreateChangeSet'-    { _ccsChangeSetType = Nothing-    , _ccsUsePreviousTemplate = Nothing-    , _ccsClientToken = Nothing-    , _ccsNotificationARNs = Nothing-    , _ccsParameters = Nothing-    , _ccsTemplateBody = Nothing-    , _ccsTemplateURL = Nothing-    , _ccsDescription = Nothing-    , _ccsCapabilities = Nothing-    , _ccsResourceTypes = Nothing-    , _ccsTags = Nothing-    , _ccsRoleARN = Nothing-    , _ccsStackName = pStackName_-    , _ccsChangeSetName = pChangeSetName_-    }+  CreateChangeSet'+  { _ccsChangeSetType = Nothing+  , _ccsUsePreviousTemplate = Nothing+  , _ccsClientToken = Nothing+  , _ccsNotificationARNs = Nothing+  , _ccsParameters = Nothing+  , _ccsTemplateBody = Nothing+  , _ccsTemplateURL = Nothing+  , _ccsDescription = Nothing+  , _ccsCapabilities = Nothing+  , _ccsRollbackConfiguration = Nothing+  , _ccsResourceTypes = Nothing+  , _ccsTags = Nothing+  , _ccsRoleARN = Nothing+  , _ccsStackName = pStackName_+  , _ccsChangeSetName = pChangeSetName_+  } + -- | The type of change set operation. To create a change set for a new stack, specify @CREATE@ . To create a change set for an existing stack, specify @UPDATE@ . If you create a change set for a new stack, AWS Cloudformation creates a stack with a unique stack ID, but no template or resources. The stack will be in the <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-describing-stacks.html#d0e11995 @REVIEW_IN_PROGRESS@ > state until you execute the change set. By default, AWS CloudFormation specifies @UPDATE@ . You can't use the @UPDATE@ type to create a change set for a new stack or the @CREATE@ type to create a change set for an existing stack. ccsChangeSetType :: Lens' CreateChangeSet (Maybe ChangeSetType) ccsChangeSetType = lens _ccsChangeSetType (\ s a -> s{_ccsChangeSetType = a});@@ -173,11 +180,15 @@ ccsCapabilities :: Lens' CreateChangeSet [Capability] ccsCapabilities = lens _ccsCapabilities (\ s a -> s{_ccsCapabilities = a}) . _Default . _Coerce; +-- | The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.+ccsRollbackConfiguration :: Lens' CreateChangeSet (Maybe RollbackConfiguration)+ccsRollbackConfiguration = lens _ccsRollbackConfiguration (\ s a -> s{_ccsRollbackConfiguration = a});+ -- | The template resource types that you have permissions to work with if you execute this change set, such as @AWS::EC2::Instance@ , @AWS::EC2::*@ , or @Custom::MyCustomInstance@ . If the list of resource types doesn't include a resource type that you're updating, the stack update fails. By default, AWS CloudFormation grants permissions to all resource types. AWS Identity and Access Management (IAM) uses this parameter for condition keys in IAM policies for AWS CloudFormation. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html Controlling Access with AWS Identity and Access Management> in the AWS CloudFormation User Guide. ccsResourceTypes :: Lens' CreateChangeSet [Text] ccsResourceTypes = lens _ccsResourceTypes (\ s a -> s{_ccsResourceTypes = a}) . _Default . _Coerce; --- | Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to resources in the stack. You can specify a maximum of 10 tags.+-- | Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to resources in the stack. You can specify a maximum of 50 tags. ccsTags :: Lens' CreateChangeSet [Tag] ccsTags = lens _ccsTags (\ s a -> s{_ccsTags = a}) . _Default . _Coerce; @@ -203,9 +214,9 @@                    (x .@? "Id") <*> (x .@? "StackId") <*>                      (pure (fromEnum s))) -instance Hashable CreateChangeSet+instance Hashable CreateChangeSet where -instance NFData CreateChangeSet+instance NFData CreateChangeSet where  instance ToHeaders CreateChangeSet where         toHeaders = const mempty@@ -231,6 +242,7 @@                "Description" =: _ccsDescription,                "Capabilities" =:                  toQuery (toQueryList "member" <$> _ccsCapabilities),+               "RollbackConfiguration" =: _ccsRollbackConfiguration,                "ResourceTypes" =:                  toQuery (toQueryList "member" <$> _ccsResourceTypes),                "Tags" =:@@ -245,11 +257,12 @@ -- -- /See:/ 'createChangeSetResponse' smart constructor. data CreateChangeSetResponse = CreateChangeSetResponse'-    { _ccsrsId             :: !(Maybe Text)-    , _ccsrsStackId        :: !(Maybe Text)-    , _ccsrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ccsrsId             :: !(Maybe Text)+  , _ccsrsStackId        :: !(Maybe Text)+  , _ccsrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateChangeSetResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -263,12 +276,13 @@     :: Int -- ^ 'ccsrsResponseStatus'     -> CreateChangeSetResponse createChangeSetResponse pResponseStatus_ =-    CreateChangeSetResponse'-    { _ccsrsId = Nothing-    , _ccsrsStackId = Nothing-    , _ccsrsResponseStatus = pResponseStatus_-    }+  CreateChangeSetResponse'+  { _ccsrsId = Nothing+  , _ccsrsStackId = Nothing+  , _ccsrsResponseStatus = pResponseStatus_+  } + -- | The Amazon Resource Name (ARN) of the change set. ccsrsId :: Lens' CreateChangeSetResponse (Maybe Text) ccsrsId = lens _ccsrsId (\ s a -> s{_ccsrsId = a});@@ -281,4 +295,4 @@ ccsrsResponseStatus :: Lens' CreateChangeSetResponse Int ccsrsResponseStatus = lens _ccsrsResponseStatus (\ s a -> s{_ccsrsResponseStatus = a}); -instance NFData CreateChangeSetResponse+instance NFData CreateChangeSetResponse where
gen/Network/AWS/CloudFormation/CreateStack.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.CloudFormation.CreateStack--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -29,12 +29,15 @@     -- * Request Lenses     , csDisableRollback     , csNotificationARNs+    , csEnableTerminationProtection     , csStackPolicyBody     , csParameters     , csStackPolicyURL     , csTemplateBody     , csTemplateURL+    , csClientRequestToken     , csCapabilities+    , csRollbackConfiguration     , csOnFailure     , csResourceTypes     , csTags@@ -50,12 +53,12 @@     , csrsResponseStatus     ) where -import           Network.AWS.CloudFormation.Types-import           Network.AWS.CloudFormation.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | The input for 'CreateStack' action. --@@ -63,30 +66,36 @@ -- -- /See:/ 'createStack' smart constructor. data CreateStack = CreateStack'-    { _csDisableRollback  :: !(Maybe Bool)-    , _csNotificationARNs :: !(Maybe [Text])-    , _csStackPolicyBody  :: !(Maybe Text)-    , _csParameters       :: !(Maybe [Parameter])-    , _csStackPolicyURL   :: !(Maybe Text)-    , _csTemplateBody     :: !(Maybe Text)-    , _csTemplateURL      :: !(Maybe Text)-    , _csCapabilities     :: !(Maybe [Capability])-    , _csOnFailure        :: !(Maybe OnFailure)-    , _csResourceTypes    :: !(Maybe [Text])-    , _csTags             :: !(Maybe [Tag])-    , _csTimeoutInMinutes :: !(Maybe Nat)-    , _csRoleARN          :: !(Maybe Text)-    , _csStackName        :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _csDisableRollback             :: !(Maybe Bool)+  , _csNotificationARNs            :: !(Maybe [Text])+  , _csEnableTerminationProtection :: !(Maybe Bool)+  , _csStackPolicyBody             :: !(Maybe Text)+  , _csParameters                  :: !(Maybe [Parameter])+  , _csStackPolicyURL              :: !(Maybe Text)+  , _csTemplateBody                :: !(Maybe Text)+  , _csTemplateURL                 :: !(Maybe Text)+  , _csClientRequestToken          :: !(Maybe Text)+  , _csCapabilities                :: !(Maybe [Capability])+  , _csRollbackConfiguration       :: !(Maybe RollbackConfiguration)+  , _csOnFailure                   :: !(Maybe OnFailure)+  , _csResourceTypes               :: !(Maybe [Text])+  , _csTags                        :: !(Maybe [Tag])+  , _csTimeoutInMinutes            :: !(Maybe Nat)+  , _csRoleARN                     :: !(Maybe Text)+  , _csStackName                   :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateStack' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'csDisableRollback' - Set to @true@ to disable rollback of the stack if stack creation failed. You can specify either @DisableRollback@ or @OnFailure@ , but not both. Default: @false@ ----- * 'csNotificationARNs' - The Simple Notification Service (SNS) topic ARNs to publish stack related events. You can find your SNS topic ARNs using the <https://console.aws.amazon.com/sns SNS console> or your Command Line Interface (CLI).+-- * 'csNotificationARNs' - The Simple Notification Service (SNS) topic ARNs to publish stack related events. You can find your SNS topic ARNs using the SNS console or your Command Line Interface (CLI). --+-- * 'csEnableTerminationProtection' - Whether to enable termination protection on the specified stack. If a user attempts to delete a stack with termination protection enabled, the operation fails and the stack remains unchanged. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html Protecting a Stack From Being Deleted> in the /AWS CloudFormation User Guide/ . Termination protection is disabled on stacks by default.  For <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html nested stacks> , termination protection is set on the root stack and cannot be changed directly on the nested stack.+-- -- * 'csStackPolicyBody' - Structure containing the stack policy body. For more information, go to <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html Prevent Updates to Stack Resources> in the /AWS CloudFormation User Guide/ . You can specify either the @StackPolicyBody@ or the @StackPolicyURL@ parameter, but not both. -- -- * 'csParameters' - A list of @Parameter@ structures that specify input parameters for the stack. For more information, see the <http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Parameter.html Parameter> data type.@@ -97,13 +106,17 @@ -- -- * 'csTemplateURL' - Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, go to the <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html Template Anatomy> in the AWS CloudFormation User Guide. Conditional: You must specify either the @TemplateBody@ or the @TemplateURL@ parameter, but not both. --+-- * 'csClientRequestToken' - A unique identifier for this @CreateStack@ request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to create a stack with the same name. You might retry @CreateStack@ requests to ensure that AWS CloudFormation successfully received them. All events triggered by a given stack operation are assigned the same client request token, which you can use to track operations. For example, if you execute a @CreateStack@ operation with the token @token1@ , then all the @StackEvents@ generated by that operation will have @ClientRequestToken@ set as @token1@ . In the console, stack operations display the client request token on the Events tab. Stack operations that are initiated from the console use the token format /Console-StackOperation-ID/ , which helps you easily identify the stack operation . For example, if you create a stack using the console, each stack event would be assigned the same token in the following format: @Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002@ .+-- -- * 'csCapabilities' - A list of values that you must specify before AWS CloudFormation can create certain stacks. Some stack templates might include resources that can affect permissions in your AWS account, for example, by creating new AWS Identity and Access Management (IAM) users. For those stacks, you must explicitly acknowledge their capabilities by specifying this parameter. The only valid values are @CAPABILITY_IAM@ and @CAPABILITY_NAMED_IAM@ . The following resources require you to specify this parameter: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html AWS::IAM::AccessKey> , <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html AWS::IAM::Group> , <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html AWS::IAM::InstanceProfile> , <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html AWS::IAM::Policy> , <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html AWS::IAM::Role> , <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html AWS::IAM::User> , and <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html AWS::IAM::UserToGroupAddition> . If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary. If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify @CAPABILITY_NAMED_IAM@ . If you don't specify this parameter, this action returns an @InsufficientCapabilities@ error. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities Acknowledging IAM Resources in AWS CloudFormation Templates> . --+-- * 'csRollbackConfiguration' - The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.+-- -- * 'csOnFailure' - Determines what action will be taken if stack creation fails. This must be one of: DO_NOTHING, ROLLBACK, or DELETE. You can specify either @OnFailure@ or @DisableRollback@ , but not both. Default: @ROLLBACK@ -- -- * 'csResourceTypes' - The template resource types that you have permissions to work with for this create stack action, such as @AWS::EC2::Instance@ , @AWS::EC2::*@ , or @Custom::MyCustomInstance@ . Use the following syntax to describe template resource types: @AWS::*@ (for all AWS resource), @Custom::*@ (for all custom resources), @Custom::/logical_ID/ @ (for a specific custom resource), @AWS::/service_name/ ::*@ (for all resources of a particular AWS service), and @AWS::/service_name/ ::/resource_logical_ID/ @ (for a specific AWS resource). If the list of resource types doesn't include a resource that you're creating, the stack creation fails. By default, AWS CloudFormation grants permissions to all resource types. AWS Identity and Access Management (IAM) uses this parameter for AWS CloudFormation-specific condition keys in IAM policies. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html Controlling Access with AWS Identity and Access Management> . ----- * 'csTags' - Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 10 tags can be specified.+-- * 'csTags' - Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. -- -- * 'csTimeoutInMinutes' - The amount of time that can pass before the stack status becomes CREATE_FAILED; if @DisableRollback@ is not set or is set to @false@ , the stack will be rolled back. --@@ -114,31 +127,39 @@     :: Text -- ^ 'csStackName'     -> CreateStack createStack pStackName_ =-    CreateStack'-    { _csDisableRollback = Nothing-    , _csNotificationARNs = Nothing-    , _csStackPolicyBody = Nothing-    , _csParameters = Nothing-    , _csStackPolicyURL = Nothing-    , _csTemplateBody = Nothing-    , _csTemplateURL = Nothing-    , _csCapabilities = Nothing-    , _csOnFailure = Nothing-    , _csResourceTypes = Nothing-    , _csTags = Nothing-    , _csTimeoutInMinutes = Nothing-    , _csRoleARN = Nothing-    , _csStackName = pStackName_-    }+  CreateStack'+  { _csDisableRollback = Nothing+  , _csNotificationARNs = Nothing+  , _csEnableTerminationProtection = Nothing+  , _csStackPolicyBody = Nothing+  , _csParameters = Nothing+  , _csStackPolicyURL = Nothing+  , _csTemplateBody = Nothing+  , _csTemplateURL = Nothing+  , _csClientRequestToken = Nothing+  , _csCapabilities = Nothing+  , _csRollbackConfiguration = Nothing+  , _csOnFailure = Nothing+  , _csResourceTypes = Nothing+  , _csTags = Nothing+  , _csTimeoutInMinutes = Nothing+  , _csRoleARN = Nothing+  , _csStackName = pStackName_+  } + -- | Set to @true@ to disable rollback of the stack if stack creation failed. You can specify either @DisableRollback@ or @OnFailure@ , but not both. Default: @false@ csDisableRollback :: Lens' CreateStack (Maybe Bool) csDisableRollback = lens _csDisableRollback (\ s a -> s{_csDisableRollback = a}); --- | The Simple Notification Service (SNS) topic ARNs to publish stack related events. You can find your SNS topic ARNs using the <https://console.aws.amazon.com/sns SNS console> or your Command Line Interface (CLI).+-- | The Simple Notification Service (SNS) topic ARNs to publish stack related events. You can find your SNS topic ARNs using the SNS console or your Command Line Interface (CLI). csNotificationARNs :: Lens' CreateStack [Text] csNotificationARNs = lens _csNotificationARNs (\ s a -> s{_csNotificationARNs = a}) . _Default . _Coerce; +-- | Whether to enable termination protection on the specified stack. If a user attempts to delete a stack with termination protection enabled, the operation fails and the stack remains unchanged. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html Protecting a Stack From Being Deleted> in the /AWS CloudFormation User Guide/ . Termination protection is disabled on stacks by default.  For <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html nested stacks> , termination protection is set on the root stack and cannot be changed directly on the nested stack.+csEnableTerminationProtection :: Lens' CreateStack (Maybe Bool)+csEnableTerminationProtection = lens _csEnableTerminationProtection (\ s a -> s{_csEnableTerminationProtection = a});+ -- | Structure containing the stack policy body. For more information, go to <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html Prevent Updates to Stack Resources> in the /AWS CloudFormation User Guide/ . You can specify either the @StackPolicyBody@ or the @StackPolicyURL@ parameter, but not both. csStackPolicyBody :: Lens' CreateStack (Maybe Text) csStackPolicyBody = lens _csStackPolicyBody (\ s a -> s{_csStackPolicyBody = a});@@ -159,10 +180,18 @@ csTemplateURL :: Lens' CreateStack (Maybe Text) csTemplateURL = lens _csTemplateURL (\ s a -> s{_csTemplateURL = a}); +-- | A unique identifier for this @CreateStack@ request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to create a stack with the same name. You might retry @CreateStack@ requests to ensure that AWS CloudFormation successfully received them. All events triggered by a given stack operation are assigned the same client request token, which you can use to track operations. For example, if you execute a @CreateStack@ operation with the token @token1@ , then all the @StackEvents@ generated by that operation will have @ClientRequestToken@ set as @token1@ . In the console, stack operations display the client request token on the Events tab. Stack operations that are initiated from the console use the token format /Console-StackOperation-ID/ , which helps you easily identify the stack operation . For example, if you create a stack using the console, each stack event would be assigned the same token in the following format: @Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002@ .+csClientRequestToken :: Lens' CreateStack (Maybe Text)+csClientRequestToken = lens _csClientRequestToken (\ s a -> s{_csClientRequestToken = a});+ -- | A list of values that you must specify before AWS CloudFormation can create certain stacks. Some stack templates might include resources that can affect permissions in your AWS account, for example, by creating new AWS Identity and Access Management (IAM) users. For those stacks, you must explicitly acknowledge their capabilities by specifying this parameter. The only valid values are @CAPABILITY_IAM@ and @CAPABILITY_NAMED_IAM@ . The following resources require you to specify this parameter: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html AWS::IAM::AccessKey> , <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html AWS::IAM::Group> , <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html AWS::IAM::InstanceProfile> , <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html AWS::IAM::Policy> , <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html AWS::IAM::Role> , <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html AWS::IAM::User> , and <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html AWS::IAM::UserToGroupAddition> . If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary. If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify @CAPABILITY_NAMED_IAM@ . If you don't specify this parameter, this action returns an @InsufficientCapabilities@ error. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities Acknowledging IAM Resources in AWS CloudFormation Templates> . csCapabilities :: Lens' CreateStack [Capability] csCapabilities = lens _csCapabilities (\ s a -> s{_csCapabilities = a}) . _Default . _Coerce; +-- | The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.+csRollbackConfiguration :: Lens' CreateStack (Maybe RollbackConfiguration)+csRollbackConfiguration = lens _csRollbackConfiguration (\ s a -> s{_csRollbackConfiguration = a});+ -- | Determines what action will be taken if stack creation fails. This must be one of: DO_NOTHING, ROLLBACK, or DELETE. You can specify either @OnFailure@ or @DisableRollback@ , but not both. Default: @ROLLBACK@ csOnFailure :: Lens' CreateStack (Maybe OnFailure) csOnFailure = lens _csOnFailure (\ s a -> s{_csOnFailure = a});@@ -171,7 +200,7 @@ csResourceTypes :: Lens' CreateStack [Text] csResourceTypes = lens _csResourceTypes (\ s a -> s{_csResourceTypes = a}) . _Default . _Coerce; --- | Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 10 tags can be specified.+-- | Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. csTags :: Lens' CreateStack [Tag] csTags = lens _csTags (\ s a -> s{_csTags = a}) . _Default . _Coerce; @@ -196,9 +225,9 @@                  CreateStackResponse' <$>                    (x .@? "StackId") <*> (pure (fromEnum s))) -instance Hashable CreateStack+instance Hashable CreateStack where -instance NFData CreateStack+instance NFData CreateStack where  instance ToHeaders CreateStack where         toHeaders = const mempty@@ -215,14 +244,18 @@                "NotificationARNs" =:                  toQuery                    (toQueryList "member" <$> _csNotificationARNs),+               "EnableTerminationProtection" =:+                 _csEnableTerminationProtection,                "StackPolicyBody" =: _csStackPolicyBody,                "Parameters" =:                  toQuery (toQueryList "member" <$> _csParameters),                "StackPolicyURL" =: _csStackPolicyURL,                "TemplateBody" =: _csTemplateBody,                "TemplateURL" =: _csTemplateURL,+               "ClientRequestToken" =: _csClientRequestToken,                "Capabilities" =:                  toQuery (toQueryList "member" <$> _csCapabilities),+               "RollbackConfiguration" =: _csRollbackConfiguration,                "OnFailure" =: _csOnFailure,                "ResourceTypes" =:                  toQuery (toQueryList "member" <$> _csResourceTypes),@@ -236,10 +269,11 @@ -- -- /See:/ 'createStackResponse' smart constructor. data CreateStackResponse = CreateStackResponse'-    { _csrsStackId        :: !(Maybe Text)-    , _csrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _csrsStackId        :: !(Maybe Text)+  , _csrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateStackResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -251,11 +285,10 @@     :: Int -- ^ 'csrsResponseStatus'     -> CreateStackResponse createStackResponse pResponseStatus_ =-    CreateStackResponse'-    { _csrsStackId = Nothing-    , _csrsResponseStatus = pResponseStatus_-    }+  CreateStackResponse'+  {_csrsStackId = Nothing, _csrsResponseStatus = pResponseStatus_} + -- | Unique identifier of the stack. csrsStackId :: Lens' CreateStackResponse (Maybe Text) csrsStackId = lens _csrsStackId (\ s a -> s{_csrsStackId = a});@@ -264,4 +297,4 @@ csrsResponseStatus :: Lens' CreateStackResponse Int csrsResponseStatus = lens _csrsResponseStatus (\ s a -> s{_csrsResponseStatus = a}); -instance NFData CreateStackResponse+instance NFData CreateStackResponse where
+ gen/Network/AWS/CloudFormation/CreateStackInstances.hs view
@@ -0,0 +1,168 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CloudFormation.CreateStackInstances+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates stack instances for the specified accounts, within the specified regions. A stack instance refers to a stack in a specific account and region. @Accounts@ and @Regions@ are required parameters—you must specify at least one account and one region.+--+--+module Network.AWS.CloudFormation.CreateStackInstances+    (+    -- * Creating a Request+      createStackInstances+    , CreateStackInstances+    -- * Request Lenses+    , csiOperationPreferences+    , csiOperationId+    , csiStackSetName+    , csiAccounts+    , csiRegions++    -- * Destructuring the Response+    , createStackInstancesResponse+    , CreateStackInstancesResponse+    -- * Response Lenses+    , csirsOperationId+    , csirsResponseStatus+    ) where++import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createStackInstances' smart constructor.+data CreateStackInstances = CreateStackInstances'+  { _csiOperationPreferences :: !(Maybe StackSetOperationPreferences)+  , _csiOperationId          :: !(Maybe Text)+  , _csiStackSetName         :: !Text+  , _csiAccounts             :: ![Text]+  , _csiRegions              :: ![Text]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateStackInstances' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csiOperationPreferences' - Preferences for how AWS CloudFormation performs this stack set operation.+--+-- * 'csiOperationId' - The unique identifier for this stack set operation.  The operation ID also functions as an idempotency token, to ensure that AWS CloudFormation performs the stack set operation only once, even if you retry the request multiple times. You might retry stack set operation requests to ensure that AWS CloudFormation successfully received them. If you don't specify an operation ID, the SDK generates one automatically.  Repeating this stack set operation with a new operation ID retries all stack instances whose status is @OUTDATED@ .+--+-- * 'csiStackSetName' - The name or unique ID of the stack set that you want to create stack instances from.+--+-- * 'csiAccounts' - The names of one or more AWS accounts that you want to create stack instances in the specified region(s) for.+--+-- * 'csiRegions' - The names of one or more regions where you want to create stack instances using the specified AWS account(s).+createStackInstances+    :: Text -- ^ 'csiStackSetName'+    -> CreateStackInstances+createStackInstances pStackSetName_ =+  CreateStackInstances'+  { _csiOperationPreferences = Nothing+  , _csiOperationId = Nothing+  , _csiStackSetName = pStackSetName_+  , _csiAccounts = mempty+  , _csiRegions = mempty+  }+++-- | Preferences for how AWS CloudFormation performs this stack set operation.+csiOperationPreferences :: Lens' CreateStackInstances (Maybe StackSetOperationPreferences)+csiOperationPreferences = lens _csiOperationPreferences (\ s a -> s{_csiOperationPreferences = a});++-- | The unique identifier for this stack set operation.  The operation ID also functions as an idempotency token, to ensure that AWS CloudFormation performs the stack set operation only once, even if you retry the request multiple times. You might retry stack set operation requests to ensure that AWS CloudFormation successfully received them. If you don't specify an operation ID, the SDK generates one automatically.  Repeating this stack set operation with a new operation ID retries all stack instances whose status is @OUTDATED@ .+csiOperationId :: Lens' CreateStackInstances (Maybe Text)+csiOperationId = lens _csiOperationId (\ s a -> s{_csiOperationId = a});++-- | The name or unique ID of the stack set that you want to create stack instances from.+csiStackSetName :: Lens' CreateStackInstances Text+csiStackSetName = lens _csiStackSetName (\ s a -> s{_csiStackSetName = a});++-- | The names of one or more AWS accounts that you want to create stack instances in the specified region(s) for.+csiAccounts :: Lens' CreateStackInstances [Text]+csiAccounts = lens _csiAccounts (\ s a -> s{_csiAccounts = a}) . _Coerce;++-- | The names of one or more regions where you want to create stack instances using the specified AWS account(s).+csiRegions :: Lens' CreateStackInstances [Text]+csiRegions = lens _csiRegions (\ s a -> s{_csiRegions = a}) . _Coerce;++instance AWSRequest CreateStackInstances where+        type Rs CreateStackInstances =+             CreateStackInstancesResponse+        request = postQuery cloudFormation+        response+          = receiveXMLWrapper "CreateStackInstancesResult"+              (\ s h x ->+                 CreateStackInstancesResponse' <$>+                   (x .@? "OperationId") <*> (pure (fromEnum s)))++instance Hashable CreateStackInstances where++instance NFData CreateStackInstances where++instance ToHeaders CreateStackInstances where+        toHeaders = const mempty++instance ToPath CreateStackInstances where+        toPath = const "/"++instance ToQuery CreateStackInstances where+        toQuery CreateStackInstances'{..}+          = mconcat+              ["Action" =: ("CreateStackInstances" :: ByteString),+               "Version" =: ("2010-05-15" :: ByteString),+               "OperationPreferences" =: _csiOperationPreferences,+               "OperationId" =: _csiOperationId,+               "StackSetName" =: _csiStackSetName,+               "Accounts" =: toQueryList "member" _csiAccounts,+               "Regions" =: toQueryList "member" _csiRegions]++-- | /See:/ 'createStackInstancesResponse' smart constructor.+data CreateStackInstancesResponse = CreateStackInstancesResponse'+  { _csirsOperationId    :: !(Maybe Text)+  , _csirsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateStackInstancesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csirsOperationId' - The unique identifier for this stack set operation.+--+-- * 'csirsResponseStatus' - -- | The response status code.+createStackInstancesResponse+    :: Int -- ^ 'csirsResponseStatus'+    -> CreateStackInstancesResponse+createStackInstancesResponse pResponseStatus_ =+  CreateStackInstancesResponse'+  {_csirsOperationId = Nothing, _csirsResponseStatus = pResponseStatus_}+++-- | The unique identifier for this stack set operation.+csirsOperationId :: Lens' CreateStackInstancesResponse (Maybe Text)+csirsOperationId = lens _csirsOperationId (\ s a -> s{_csirsOperationId = a});++-- | -- | The response status code.+csirsResponseStatus :: Lens' CreateStackInstancesResponse Int+csirsResponseStatus = lens _csirsResponseStatus (\ s a -> s{_csirsResponseStatus = a});++instance NFData CreateStackInstancesResponse where
+ gen/Network/AWS/CloudFormation/CreateStackSet.hs view
@@ -0,0 +1,200 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CloudFormation.CreateStackSet+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a stack set.+--+--+module Network.AWS.CloudFormation.CreateStackSet+    (+    -- * Creating a Request+      createStackSet+    , CreateStackSet+    -- * Request Lenses+    , cssParameters+    , cssTemplateBody+    , cssTemplateURL+    , cssClientRequestToken+    , cssDescription+    , cssCapabilities+    , cssTags+    , cssStackSetName++    -- * Destructuring the Response+    , createStackSetResponse+    , CreateStackSetResponse+    -- * Response Lenses+    , cssrsStackSetId+    , cssrsResponseStatus+    ) where++import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'createStackSet' smart constructor.+data CreateStackSet = CreateStackSet'+  { _cssParameters         :: !(Maybe [Parameter])+  , _cssTemplateBody       :: !(Maybe Text)+  , _cssTemplateURL        :: !(Maybe Text)+  , _cssClientRequestToken :: !(Maybe Text)+  , _cssDescription        :: !(Maybe Text)+  , _cssCapabilities       :: !(Maybe [Capability])+  , _cssTags               :: !(Maybe [Tag])+  , _cssStackSetName       :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateStackSet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cssParameters' - The input parameters for the stack set template.+--+-- * 'cssTemplateBody' - The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html Template Anatomy> in the AWS CloudFormation User Guide. Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.+--+-- * 'cssTemplateURL' - The location of the file that contains the template body. The URL must point to a template (maximum size: 460,800 bytes) that's located in an Amazon S3 bucket. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html Template Anatomy> in the AWS CloudFormation User Guide. Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.+--+-- * 'cssClientRequestToken' - A unique identifier for this @CreateStackSet@ request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to create another stack set with the same name. You might retry @CreateStackSet@ requests to ensure that AWS CloudFormation successfully received them. If you don't specify an operation ID, the SDK generates one automatically.+--+-- * 'cssDescription' - A description of the stack set. You can use the description to identify the stack set's purpose or other important information.+--+-- * 'cssCapabilities' - A list of values that you must specify before AWS CloudFormation can create certain stack sets. Some stack set templates might include resources that can affect permissions in your AWS account—for example, by creating new AWS Identity and Access Management (IAM) users. For those stack sets, you must explicitly acknowledge their capabilities by specifying this parameter. The only valid values are CAPABILITY_IAM and CAPABILITY_NAMED_IAM. The following resources require you to specify this parameter:      * AWS::IAM::AccessKey     * AWS::IAM::Group     * AWS::IAM::InstanceProfile     * AWS::IAM::Policy     * AWS::IAM::Role     * AWS::IAM::User     * AWS::IAM::UserToGroupAddition If your stack template contains these resources, we recommend that you review all permissions that are associated with them and edit their permissions if necessary. If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If you don't specify this parameter, this action returns an @InsufficientCapabilities@ error. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities Acknowledging IAM Resources in AWS CloudFormation Templates.>+--+-- * 'cssTags' - The key-value pairs to associate with this stack set and the stacks created from it. AWS CloudFormation also propagates these tags to supported resources that are created in the stacks. A maximum number of 50 tags can be specified. If you specify tags as part of a @CreateStackSet@ action, AWS CloudFormation checks to see if you have the required IAM permission to tag resources. If you don't, the entire @CreateStackSet@ action fails with an @access denied@ error, and the stack set is not created.+--+-- * 'cssStackSetName' - The name to associate with the stack set. The name must be unique in the region where you create your stack set.+createStackSet+    :: Text -- ^ 'cssStackSetName'+    -> CreateStackSet+createStackSet pStackSetName_ =+  CreateStackSet'+  { _cssParameters = Nothing+  , _cssTemplateBody = Nothing+  , _cssTemplateURL = Nothing+  , _cssClientRequestToken = Nothing+  , _cssDescription = Nothing+  , _cssCapabilities = Nothing+  , _cssTags = Nothing+  , _cssStackSetName = pStackSetName_+  }+++-- | The input parameters for the stack set template.+cssParameters :: Lens' CreateStackSet [Parameter]+cssParameters = lens _cssParameters (\ s a -> s{_cssParameters = a}) . _Default . _Coerce;++-- | The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html Template Anatomy> in the AWS CloudFormation User Guide. Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.+cssTemplateBody :: Lens' CreateStackSet (Maybe Text)+cssTemplateBody = lens _cssTemplateBody (\ s a -> s{_cssTemplateBody = a});++-- | The location of the file that contains the template body. The URL must point to a template (maximum size: 460,800 bytes) that's located in an Amazon S3 bucket. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html Template Anatomy> in the AWS CloudFormation User Guide. Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.+cssTemplateURL :: Lens' CreateStackSet (Maybe Text)+cssTemplateURL = lens _cssTemplateURL (\ s a -> s{_cssTemplateURL = a});++-- | A unique identifier for this @CreateStackSet@ request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to create another stack set with the same name. You might retry @CreateStackSet@ requests to ensure that AWS CloudFormation successfully received them. If you don't specify an operation ID, the SDK generates one automatically.+cssClientRequestToken :: Lens' CreateStackSet (Maybe Text)+cssClientRequestToken = lens _cssClientRequestToken (\ s a -> s{_cssClientRequestToken = a});++-- | A description of the stack set. You can use the description to identify the stack set's purpose or other important information.+cssDescription :: Lens' CreateStackSet (Maybe Text)+cssDescription = lens _cssDescription (\ s a -> s{_cssDescription = a});++-- | A list of values that you must specify before AWS CloudFormation can create certain stack sets. Some stack set templates might include resources that can affect permissions in your AWS account—for example, by creating new AWS Identity and Access Management (IAM) users. For those stack sets, you must explicitly acknowledge their capabilities by specifying this parameter. The only valid values are CAPABILITY_IAM and CAPABILITY_NAMED_IAM. The following resources require you to specify this parameter:      * AWS::IAM::AccessKey     * AWS::IAM::Group     * AWS::IAM::InstanceProfile     * AWS::IAM::Policy     * AWS::IAM::Role     * AWS::IAM::User     * AWS::IAM::UserToGroupAddition If your stack template contains these resources, we recommend that you review all permissions that are associated with them and edit their permissions if necessary. If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If you don't specify this parameter, this action returns an @InsufficientCapabilities@ error. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities Acknowledging IAM Resources in AWS CloudFormation Templates.>+cssCapabilities :: Lens' CreateStackSet [Capability]+cssCapabilities = lens _cssCapabilities (\ s a -> s{_cssCapabilities = a}) . _Default . _Coerce;++-- | The key-value pairs to associate with this stack set and the stacks created from it. AWS CloudFormation also propagates these tags to supported resources that are created in the stacks. A maximum number of 50 tags can be specified. If you specify tags as part of a @CreateStackSet@ action, AWS CloudFormation checks to see if you have the required IAM permission to tag resources. If you don't, the entire @CreateStackSet@ action fails with an @access denied@ error, and the stack set is not created.+cssTags :: Lens' CreateStackSet [Tag]+cssTags = lens _cssTags (\ s a -> s{_cssTags = a}) . _Default . _Coerce;++-- | The name to associate with the stack set. The name must be unique in the region where you create your stack set.+cssStackSetName :: Lens' CreateStackSet Text+cssStackSetName = lens _cssStackSetName (\ s a -> s{_cssStackSetName = a});++instance AWSRequest CreateStackSet where+        type Rs CreateStackSet = CreateStackSetResponse+        request = postQuery cloudFormation+        response+          = receiveXMLWrapper "CreateStackSetResult"+              (\ s h x ->+                 CreateStackSetResponse' <$>+                   (x .@? "StackSetId") <*> (pure (fromEnum s)))++instance Hashable CreateStackSet where++instance NFData CreateStackSet where++instance ToHeaders CreateStackSet where+        toHeaders = const mempty++instance ToPath CreateStackSet where+        toPath = const "/"++instance ToQuery CreateStackSet where+        toQuery CreateStackSet'{..}+          = mconcat+              ["Action" =: ("CreateStackSet" :: ByteString),+               "Version" =: ("2010-05-15" :: ByteString),+               "Parameters" =:+                 toQuery (toQueryList "member" <$> _cssParameters),+               "TemplateBody" =: _cssTemplateBody,+               "TemplateURL" =: _cssTemplateURL,+               "ClientRequestToken" =: _cssClientRequestToken,+               "Description" =: _cssDescription,+               "Capabilities" =:+                 toQuery (toQueryList "member" <$> _cssCapabilities),+               "Tags" =:+                 toQuery (toQueryList "member" <$> _cssTags),+               "StackSetName" =: _cssStackSetName]++-- | /See:/ 'createStackSetResponse' smart constructor.+data CreateStackSetResponse = CreateStackSetResponse'+  { _cssrsStackSetId     :: !(Maybe Text)+  , _cssrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'CreateStackSetResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cssrsStackSetId' - The ID of the stack set that you're creating.+--+-- * 'cssrsResponseStatus' - -- | The response status code.+createStackSetResponse+    :: Int -- ^ 'cssrsResponseStatus'+    -> CreateStackSetResponse+createStackSetResponse pResponseStatus_ =+  CreateStackSetResponse'+  {_cssrsStackSetId = Nothing, _cssrsResponseStatus = pResponseStatus_}+++-- | The ID of the stack set that you're creating.+cssrsStackSetId :: Lens' CreateStackSetResponse (Maybe Text)+cssrsStackSetId = lens _cssrsStackSetId (\ s a -> s{_cssrsStackSetId = a});++-- | -- | The response status code.+cssrsResponseStatus :: Lens' CreateStackSetResponse Int+cssrsResponseStatus = lens _cssrsResponseStatus (\ s a -> s{_cssrsResponseStatus = a});++instance NFData CreateStackSetResponse where
gen/Network/AWS/CloudFormation/DeleteChangeSet.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.CloudFormation.DeleteChangeSet--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -39,12 +39,12 @@     , dcsrsResponseStatus     ) where -import           Network.AWS.CloudFormation.Types-import           Network.AWS.CloudFormation.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | The input for the 'DeleteChangeSet' action. --@@ -52,10 +52,11 @@ -- -- /See:/ 'deleteChangeSet' smart constructor. data DeleteChangeSet = DeleteChangeSet'-    { _dcsStackName     :: !(Maybe Text)-    , _dcsChangeSetName :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dcsStackName     :: !(Maybe Text)+  , _dcsChangeSetName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteChangeSet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -67,11 +68,10 @@     :: Text -- ^ 'dcsChangeSetName'     -> DeleteChangeSet deleteChangeSet pChangeSetName_ =-    DeleteChangeSet'-    { _dcsStackName = Nothing-    , _dcsChangeSetName = pChangeSetName_-    }+  DeleteChangeSet'+  {_dcsStackName = Nothing, _dcsChangeSetName = pChangeSetName_} + -- | If you specified the name of a change set to delete, specify the stack name or ID (ARN) that is associated with it. dcsStackName :: Lens' DeleteChangeSet (Maybe Text) dcsStackName = lens _dcsStackName (\ s a -> s{_dcsStackName = a});@@ -88,9 +88,9 @@               (\ s h x ->                  DeleteChangeSetResponse' <$> (pure (fromEnum s))) -instance Hashable DeleteChangeSet+instance Hashable DeleteChangeSet where -instance NFData DeleteChangeSet+instance NFData DeleteChangeSet where  instance ToHeaders DeleteChangeSet where         toHeaders = const mempty@@ -112,9 +112,10 @@ -- -- /See:/ 'deleteChangeSetResponse' smart constructor. newtype DeleteChangeSetResponse = DeleteChangeSetResponse'-    { _dcsrsResponseStatus :: Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dcsrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteChangeSetResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -124,12 +125,11 @@     :: Int -- ^ 'dcsrsResponseStatus'     -> DeleteChangeSetResponse deleteChangeSetResponse pResponseStatus_ =-    DeleteChangeSetResponse'-    { _dcsrsResponseStatus = pResponseStatus_-    }+  DeleteChangeSetResponse' {_dcsrsResponseStatus = pResponseStatus_} + -- | -- | The response status code. dcsrsResponseStatus :: Lens' DeleteChangeSetResponse Int dcsrsResponseStatus = lens _dcsrsResponseStatus (\ s a -> s{_dcsrsResponseStatus = a}); -instance NFData DeleteChangeSetResponse+instance NFData DeleteChangeSetResponse where
gen/Network/AWS/CloudFormation/DeleteStack.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.CloudFormation.DeleteStack--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -28,6 +28,7 @@     , DeleteStack     -- * Request Lenses     , dsRetainResources+    , dsClientRequestToken     , dsRoleARN     , dsStackName @@ -36,12 +37,12 @@     , DeleteStackResponse     ) where -import           Network.AWS.CloudFormation.Types-import           Network.AWS.CloudFormation.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | The input for 'DeleteStack' action. --@@ -49,17 +50,21 @@ -- -- /See:/ 'deleteStack' smart constructor. data DeleteStack = DeleteStack'-    { _dsRetainResources :: !(Maybe [Text])-    , _dsRoleARN         :: !(Maybe Text)-    , _dsStackName       :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dsRetainResources    :: !(Maybe [Text])+  , _dsClientRequestToken :: !(Maybe Text)+  , _dsRoleARN            :: !(Maybe Text)+  , _dsStackName          :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteStack' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'dsRetainResources' - For stacks in the @DELETE_FAILED@ state, a list of resource logical IDs that are associated with the resources you want to retain. During deletion, AWS CloudFormation deletes the stack but does not delete the retained resources. Retaining resources is useful when you cannot delete a resource, such as a non-empty S3 bucket, but you want to delete the stack. --+-- * 'dsClientRequestToken' - A unique identifier for this @DeleteStack@ request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to delete a stack with the same name. You might retry @DeleteStack@ requests to ensure that AWS CloudFormation successfully received them. All events triggered by a given stack operation are assigned the same client request token, which you can use to track operations. For example, if you execute a @CreateStack@ operation with the token @token1@ , then all the @StackEvents@ generated by that operation will have @ClientRequestToken@ set as @token1@ . In the console, stack operations display the client request token on the Events tab. Stack operations that are initiated from the console use the token format /Console-StackOperation-ID/ , which helps you easily identify the stack operation . For example, if you create a stack using the console, each stack event would be assigned the same token in the following format: @Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002@ .+-- -- * 'dsRoleARN' - The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that AWS CloudFormation assumes to delete the stack. AWS CloudFormation uses the role's credentials to make calls on your behalf. If you don't specify a value, AWS CloudFormation uses the role that was previously associated with the stack. If no role is available, AWS CloudFormation uses a temporary session that is generated from your user credentials. -- -- * 'dsStackName' - The name or the unique stack ID that is associated with the stack.@@ -67,16 +72,22 @@     :: Text -- ^ 'dsStackName'     -> DeleteStack deleteStack pStackName_ =-    DeleteStack'-    { _dsRetainResources = Nothing-    , _dsRoleARN = Nothing-    , _dsStackName = pStackName_-    }+  DeleteStack'+  { _dsRetainResources = Nothing+  , _dsClientRequestToken = Nothing+  , _dsRoleARN = Nothing+  , _dsStackName = pStackName_+  } + -- | For stacks in the @DELETE_FAILED@ state, a list of resource logical IDs that are associated with the resources you want to retain. During deletion, AWS CloudFormation deletes the stack but does not delete the retained resources. Retaining resources is useful when you cannot delete a resource, such as a non-empty S3 bucket, but you want to delete the stack. dsRetainResources :: Lens' DeleteStack [Text] dsRetainResources = lens _dsRetainResources (\ s a -> s{_dsRetainResources = a}) . _Default . _Coerce; +-- | A unique identifier for this @DeleteStack@ request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to delete a stack with the same name. You might retry @DeleteStack@ requests to ensure that AWS CloudFormation successfully received them. All events triggered by a given stack operation are assigned the same client request token, which you can use to track operations. For example, if you execute a @CreateStack@ operation with the token @token1@ , then all the @StackEvents@ generated by that operation will have @ClientRequestToken@ set as @token1@ . In the console, stack operations display the client request token on the Events tab. Stack operations that are initiated from the console use the token format /Console-StackOperation-ID/ , which helps you easily identify the stack operation . For example, if you create a stack using the console, each stack event would be assigned the same token in the following format: @Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002@ .+dsClientRequestToken :: Lens' DeleteStack (Maybe Text)+dsClientRequestToken = lens _dsClientRequestToken (\ s a -> s{_dsClientRequestToken = a});+ -- | The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that AWS CloudFormation assumes to delete the stack. AWS CloudFormation uses the role's credentials to make calls on your behalf. If you don't specify a value, AWS CloudFormation uses the role that was previously associated with the stack. If no role is available, AWS CloudFormation uses a temporary session that is generated from your user credentials. dsRoleARN :: Lens' DeleteStack (Maybe Text) dsRoleARN = lens _dsRoleARN (\ s a -> s{_dsRoleARN = a});@@ -90,9 +101,9 @@         request = postQuery cloudFormation         response = receiveNull DeleteStackResponse' -instance Hashable DeleteStack+instance Hashable DeleteStack where -instance NFData DeleteStack+instance NFData DeleteStack where  instance ToHeaders DeleteStack where         toHeaders = const mempty@@ -108,17 +119,20 @@                "RetainResources" =:                  toQuery                    (toQueryList "member" <$> _dsRetainResources),+               "ClientRequestToken" =: _dsClientRequestToken,                "RoleARN" =: _dsRoleARN, "StackName" =: _dsStackName]  -- | /See:/ 'deleteStackResponse' smart constructor. data DeleteStackResponse =-    DeleteStackResponse'-    deriving (Eq,Read,Show,Data,Typeable,Generic)+  DeleteStackResponse'+  deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteStackResponse' with the minimum fields required to make a request. -- deleteStackResponse     :: DeleteStackResponse deleteStackResponse = DeleteStackResponse' -instance NFData DeleteStackResponse++instance NFData DeleteStackResponse where
+ gen/Network/AWS/CloudFormation/DeleteStackInstances.hs view
@@ -0,0 +1,179 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CloudFormation.DeleteStackInstances+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes stack instances for the specified accounts, in the specified regions.+--+--+module Network.AWS.CloudFormation.DeleteStackInstances+    (+    -- * Creating a Request+      deleteStackInstances+    , DeleteStackInstances+    -- * Request Lenses+    , dsiOperationPreferences+    , dsiOperationId+    , dsiStackSetName+    , dsiAccounts+    , dsiRegions+    , dsiRetainStacks++    -- * Destructuring the Response+    , deleteStackInstancesResponse+    , DeleteStackInstancesResponse+    -- * Response Lenses+    , dsirsOperationId+    , dsirsResponseStatus+    ) where++import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteStackInstances' smart constructor.+data DeleteStackInstances = DeleteStackInstances'+  { _dsiOperationPreferences :: !(Maybe StackSetOperationPreferences)+  , _dsiOperationId          :: !(Maybe Text)+  , _dsiStackSetName         :: !Text+  , _dsiAccounts             :: ![Text]+  , _dsiRegions              :: ![Text]+  , _dsiRetainStacks         :: !Bool+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteStackInstances' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsiOperationPreferences' - Preferences for how AWS CloudFormation performs this stack set operation.+--+-- * 'dsiOperationId' - The unique identifier for this stack set operation.  If you don't specify an operation ID, the SDK generates one automatically.  The operation ID also functions as an idempotency token, to ensure that AWS CloudFormation performs the stack set operation only once, even if you retry the request multiple times. You can retry stack set operation requests to ensure that AWS CloudFormation successfully received them. Repeating this stack set operation with a new operation ID retries all stack instances whose status is @OUTDATED@ .+--+-- * 'dsiStackSetName' - The name or unique ID of the stack set that you want to delete stack instances for.+--+-- * 'dsiAccounts' - The names of the AWS accounts that you want to delete stack instances for.+--+-- * 'dsiRegions' - The regions where you want to delete stack set instances.+--+-- * 'dsiRetainStacks' - Removes the stack instances from the specified stack set, but doesn't delete the stacks. You can't reassociate a retained stack or add an existing, saved stack to a new stack set. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-ops-options Stack set operation options> .+deleteStackInstances+    :: Text -- ^ 'dsiStackSetName'+    -> Bool -- ^ 'dsiRetainStacks'+    -> DeleteStackInstances+deleteStackInstances pStackSetName_ pRetainStacks_ =+  DeleteStackInstances'+  { _dsiOperationPreferences = Nothing+  , _dsiOperationId = Nothing+  , _dsiStackSetName = pStackSetName_+  , _dsiAccounts = mempty+  , _dsiRegions = mempty+  , _dsiRetainStacks = pRetainStacks_+  }+++-- | Preferences for how AWS CloudFormation performs this stack set operation.+dsiOperationPreferences :: Lens' DeleteStackInstances (Maybe StackSetOperationPreferences)+dsiOperationPreferences = lens _dsiOperationPreferences (\ s a -> s{_dsiOperationPreferences = a});++-- | The unique identifier for this stack set operation.  If you don't specify an operation ID, the SDK generates one automatically.  The operation ID also functions as an idempotency token, to ensure that AWS CloudFormation performs the stack set operation only once, even if you retry the request multiple times. You can retry stack set operation requests to ensure that AWS CloudFormation successfully received them. Repeating this stack set operation with a new operation ID retries all stack instances whose status is @OUTDATED@ .+dsiOperationId :: Lens' DeleteStackInstances (Maybe Text)+dsiOperationId = lens _dsiOperationId (\ s a -> s{_dsiOperationId = a});++-- | The name or unique ID of the stack set that you want to delete stack instances for.+dsiStackSetName :: Lens' DeleteStackInstances Text+dsiStackSetName = lens _dsiStackSetName (\ s a -> s{_dsiStackSetName = a});++-- | The names of the AWS accounts that you want to delete stack instances for.+dsiAccounts :: Lens' DeleteStackInstances [Text]+dsiAccounts = lens _dsiAccounts (\ s a -> s{_dsiAccounts = a}) . _Coerce;++-- | The regions where you want to delete stack set instances.+dsiRegions :: Lens' DeleteStackInstances [Text]+dsiRegions = lens _dsiRegions (\ s a -> s{_dsiRegions = a}) . _Coerce;++-- | Removes the stack instances from the specified stack set, but doesn't delete the stacks. You can't reassociate a retained stack or add an existing, saved stack to a new stack set. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-ops-options Stack set operation options> .+dsiRetainStacks :: Lens' DeleteStackInstances Bool+dsiRetainStacks = lens _dsiRetainStacks (\ s a -> s{_dsiRetainStacks = a});++instance AWSRequest DeleteStackInstances where+        type Rs DeleteStackInstances =+             DeleteStackInstancesResponse+        request = postQuery cloudFormation+        response+          = receiveXMLWrapper "DeleteStackInstancesResult"+              (\ s h x ->+                 DeleteStackInstancesResponse' <$>+                   (x .@? "OperationId") <*> (pure (fromEnum s)))++instance Hashable DeleteStackInstances where++instance NFData DeleteStackInstances where++instance ToHeaders DeleteStackInstances where+        toHeaders = const mempty++instance ToPath DeleteStackInstances where+        toPath = const "/"++instance ToQuery DeleteStackInstances where+        toQuery DeleteStackInstances'{..}+          = mconcat+              ["Action" =: ("DeleteStackInstances" :: ByteString),+               "Version" =: ("2010-05-15" :: ByteString),+               "OperationPreferences" =: _dsiOperationPreferences,+               "OperationId" =: _dsiOperationId,+               "StackSetName" =: _dsiStackSetName,+               "Accounts" =: toQueryList "member" _dsiAccounts,+               "Regions" =: toQueryList "member" _dsiRegions,+               "RetainStacks" =: _dsiRetainStacks]++-- | /See:/ 'deleteStackInstancesResponse' smart constructor.+data DeleteStackInstancesResponse = DeleteStackInstancesResponse'+  { _dsirsOperationId    :: !(Maybe Text)+  , _dsirsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteStackInstancesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsirsOperationId' - The unique identifier for this stack set operation.+--+-- * 'dsirsResponseStatus' - -- | The response status code.+deleteStackInstancesResponse+    :: Int -- ^ 'dsirsResponseStatus'+    -> DeleteStackInstancesResponse+deleteStackInstancesResponse pResponseStatus_ =+  DeleteStackInstancesResponse'+  {_dsirsOperationId = Nothing, _dsirsResponseStatus = pResponseStatus_}+++-- | The unique identifier for this stack set operation.+dsirsOperationId :: Lens' DeleteStackInstancesResponse (Maybe Text)+dsirsOperationId = lens _dsirsOperationId (\ s a -> s{_dsirsOperationId = a});++-- | -- | The response status code.+dsirsResponseStatus :: Lens' DeleteStackInstancesResponse Int+dsirsResponseStatus = lens _dsirsResponseStatus (\ s a -> s{_dsirsResponseStatus = a});++instance NFData DeleteStackInstancesResponse where
+ gen/Network/AWS/CloudFormation/DeleteStackSet.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CloudFormation.DeleteStackSet+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a stack set. Before you can delete a stack set, all of its member stack instances must be deleted. For more information about how to do this, see 'DeleteStackInstances' .+--+--+module Network.AWS.CloudFormation.DeleteStackSet+    (+    -- * Creating a Request+      deleteStackSet+    , DeleteStackSet+    -- * Request Lenses+    , dssStackSetName++    -- * Destructuring the Response+    , deleteStackSetResponse+    , DeleteStackSetResponse+    -- * Response Lenses+    , dssrsResponseStatus+    ) where++import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'deleteStackSet' smart constructor.+newtype DeleteStackSet = DeleteStackSet'+  { _dssStackSetName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteStackSet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dssStackSetName' - The name or unique ID of the stack set that you're deleting. You can obtain this value by running 'ListStackSets' .+deleteStackSet+    :: Text -- ^ 'dssStackSetName'+    -> DeleteStackSet+deleteStackSet pStackSetName_ =+  DeleteStackSet' {_dssStackSetName = pStackSetName_}+++-- | The name or unique ID of the stack set that you're deleting. You can obtain this value by running 'ListStackSets' .+dssStackSetName :: Lens' DeleteStackSet Text+dssStackSetName = lens _dssStackSetName (\ s a -> s{_dssStackSetName = a});++instance AWSRequest DeleteStackSet where+        type Rs DeleteStackSet = DeleteStackSetResponse+        request = postQuery cloudFormation+        response+          = receiveXMLWrapper "DeleteStackSetResult"+              (\ s h x ->+                 DeleteStackSetResponse' <$> (pure (fromEnum s)))++instance Hashable DeleteStackSet where++instance NFData DeleteStackSet where++instance ToHeaders DeleteStackSet where+        toHeaders = const mempty++instance ToPath DeleteStackSet where+        toPath = const "/"++instance ToQuery DeleteStackSet where+        toQuery DeleteStackSet'{..}+          = mconcat+              ["Action" =: ("DeleteStackSet" :: ByteString),+               "Version" =: ("2010-05-15" :: ByteString),+               "StackSetName" =: _dssStackSetName]++-- | /See:/ 'deleteStackSetResponse' smart constructor.+newtype DeleteStackSetResponse = DeleteStackSetResponse'+  { _dssrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DeleteStackSetResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dssrsResponseStatus' - -- | The response status code.+deleteStackSetResponse+    :: Int -- ^ 'dssrsResponseStatus'+    -> DeleteStackSetResponse+deleteStackSetResponse pResponseStatus_ =+  DeleteStackSetResponse' {_dssrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+dssrsResponseStatus :: Lens' DeleteStackSetResponse Int+dssrsResponseStatus = lens _dssrsResponseStatus (\ s a -> s{_dssrsResponseStatus = a});++instance NFData DeleteStackSetResponse where
gen/Network/AWS/CloudFormation/DescribeAccountLimits.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.CloudFormation.DescribeAccountLimits--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -38,12 +38,12 @@     , dalrsResponseStatus     ) where -import           Network.AWS.CloudFormation.Types-import           Network.AWS.CloudFormation.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | The input for the 'DescribeAccountLimits' action. --@@ -51,9 +51,10 @@ -- -- /See:/ 'describeAccountLimits' smart constructor. newtype DescribeAccountLimits = DescribeAccountLimits'-    { _dalNextToken :: Maybe Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dalNextToken :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DescribeAccountLimits' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -61,11 +62,9 @@ -- * 'dalNextToken' - A string that identifies the next page of limits that you want to retrieve. describeAccountLimits     :: DescribeAccountLimits-describeAccountLimits =-    DescribeAccountLimits'-    { _dalNextToken = Nothing-    }+describeAccountLimits = DescribeAccountLimits' {_dalNextToken = Nothing} + -- | A string that identifies the next page of limits that you want to retrieve. dalNextToken :: Lens' DescribeAccountLimits (Maybe Text) dalNextToken = lens _dalNextToken (\ s a -> s{_dalNextToken = a});@@ -83,9 +82,9 @@                         may (parseXMLList "member"))                      <*> (pure (fromEnum s))) -instance Hashable DescribeAccountLimits+instance Hashable DescribeAccountLimits where -instance NFData DescribeAccountLimits+instance NFData DescribeAccountLimits where  instance ToHeaders DescribeAccountLimits where         toHeaders = const mempty@@ -106,11 +105,12 @@ -- -- /See:/ 'describeAccountLimitsResponse' smart constructor. data DescribeAccountLimitsResponse = DescribeAccountLimitsResponse'-    { _dalrsNextToken      :: !(Maybe Text)-    , _dalrsAccountLimits  :: !(Maybe [AccountLimit])-    , _dalrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dalrsNextToken      :: !(Maybe Text)+  , _dalrsAccountLimits  :: !(Maybe [AccountLimit])+  , _dalrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DescribeAccountLimitsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -124,12 +124,13 @@     :: Int -- ^ 'dalrsResponseStatus'     -> DescribeAccountLimitsResponse describeAccountLimitsResponse pResponseStatus_ =-    DescribeAccountLimitsResponse'-    { _dalrsNextToken = Nothing-    , _dalrsAccountLimits = Nothing-    , _dalrsResponseStatus = pResponseStatus_-    }+  DescribeAccountLimitsResponse'+  { _dalrsNextToken = Nothing+  , _dalrsAccountLimits = Nothing+  , _dalrsResponseStatus = pResponseStatus_+  } + -- | If the output exceeds 1 MB in size, a string that identifies the next page of limits. If no additional page exists, this value is null. dalrsNextToken :: Lens' DescribeAccountLimitsResponse (Maybe Text) dalrsNextToken = lens _dalrsNextToken (\ s a -> s{_dalrsNextToken = a});@@ -142,4 +143,4 @@ dalrsResponseStatus :: Lens' DescribeAccountLimitsResponse Int dalrsResponseStatus = lens _dalrsResponseStatus (\ s a -> s{_dalrsResponseStatus = a}); -instance NFData DescribeAccountLimitsResponse+instance NFData DescribeAccountLimitsResponse where
gen/Network/AWS/CloudFormation/DescribeChangeSet.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.CloudFormation.DescribeChangeSet--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -35,30 +35,31 @@     , describeChangeSetResponse     , DescribeChangeSetResponse     -- * Response Lenses-    , drsCreationTime-    , drsChanges-    , drsNotificationARNs-    , drsChangeSetName-    , drsExecutionStatus-    , drsChangeSetId-    , drsNextToken-    , drsParameters-    , drsStatusReason-    , drsStackId-    , drsDescription-    , drsCapabilities-    , drsTags-    , drsStackName-    , drsResponseStatus-    , drsStatus+    , desrsCreationTime+    , desrsChanges+    , desrsNotificationARNs+    , desrsChangeSetName+    , desrsExecutionStatus+    , desrsChangeSetId+    , desrsNextToken+    , desrsParameters+    , desrsStatusReason+    , desrsStackId+    , desrsDescription+    , desrsCapabilities+    , desrsRollbackConfiguration+    , desrsTags+    , desrsStackName+    , desrsResponseStatus+    , desrsStatus     ) where -import           Network.AWS.CloudFormation.Types-import           Network.AWS.CloudFormation.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | The input for the 'DescribeChangeSet' action. --@@ -66,11 +67,12 @@ -- -- /See:/ 'describeChangeSet' smart constructor. data DescribeChangeSet = DescribeChangeSet'-    { _desNextToken     :: !(Maybe Text)-    , _desStackName     :: !(Maybe Text)-    , _desChangeSetName :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _desNextToken     :: !(Maybe Text)+  , _desStackName     :: !(Maybe Text)+  , _desChangeSetName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DescribeChangeSet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -84,12 +86,13 @@     :: Text -- ^ 'desChangeSetName'     -> DescribeChangeSet describeChangeSet pChangeSetName_ =-    DescribeChangeSet'-    { _desNextToken = Nothing-    , _desStackName = Nothing-    , _desChangeSetName = pChangeSetName_-    }+  DescribeChangeSet'+  { _desNextToken = Nothing+  , _desStackName = Nothing+  , _desChangeSetName = pChangeSetName_+  } + -- | A string (provided by the 'DescribeChangeSet' response output) that identifies the next page of information that you want to retrieve. desNextToken :: Lens' DescribeChangeSet (Maybe Text) desNextToken = lens _desNextToken (\ s a -> s{_desNextToken = a});@@ -128,6 +131,7 @@                      <*>                      (x .@? "Capabilities" .!@ mempty >>=                         may (parseXMLList "member"))+                     <*> (x .@? "RollbackConfiguration")                      <*>                      (x .@? "Tags" .!@ mempty >>=                         may (parseXMLList "member"))@@ -135,9 +139,9 @@                      <*> (pure (fromEnum s))                      <*> (x .@ "Status")) -instance Hashable DescribeChangeSet+instance Hashable DescribeChangeSet where -instance NFData DescribeChangeSet+instance NFData DescribeChangeSet where  instance ToHeaders DescribeChangeSet where         toHeaders = const mempty@@ -160,145 +164,155 @@ -- -- /See:/ 'describeChangeSetResponse' smart constructor. data DescribeChangeSetResponse = DescribeChangeSetResponse'-    { _drsCreationTime     :: !(Maybe ISO8601)-    , _drsChanges          :: !(Maybe [Change])-    , _drsNotificationARNs :: !(Maybe [Text])-    , _drsChangeSetName    :: !(Maybe Text)-    , _drsExecutionStatus  :: !(Maybe ExecutionStatus)-    , _drsChangeSetId      :: !(Maybe Text)-    , _drsNextToken        :: !(Maybe Text)-    , _drsParameters       :: !(Maybe [Parameter])-    , _drsStatusReason     :: !(Maybe Text)-    , _drsStackId          :: !(Maybe Text)-    , _drsDescription      :: !(Maybe Text)-    , _drsCapabilities     :: !(Maybe [Capability])-    , _drsTags             :: !(Maybe [Tag])-    , _drsStackName        :: !(Maybe Text)-    , _drsResponseStatus   :: !Int-    , _drsStatus           :: !ChangeSetStatus-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _desrsCreationTime          :: !(Maybe ISO8601)+  , _desrsChanges               :: !(Maybe [Change])+  , _desrsNotificationARNs      :: !(Maybe [Text])+  , _desrsChangeSetName         :: !(Maybe Text)+  , _desrsExecutionStatus       :: !(Maybe ExecutionStatus)+  , _desrsChangeSetId           :: !(Maybe Text)+  , _desrsNextToken             :: !(Maybe Text)+  , _desrsParameters            :: !(Maybe [Parameter])+  , _desrsStatusReason          :: !(Maybe Text)+  , _desrsStackId               :: !(Maybe Text)+  , _desrsDescription           :: !(Maybe Text)+  , _desrsCapabilities          :: !(Maybe [Capability])+  , _desrsRollbackConfiguration :: !(Maybe RollbackConfiguration)+  , _desrsTags                  :: !(Maybe [Tag])+  , _desrsStackName             :: !(Maybe Text)+  , _desrsResponseStatus        :: !Int+  , _desrsStatus                :: !ChangeSetStatus+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DescribeChangeSetResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'drsCreationTime' - The start time when the change set was created, in UTC.+-- * 'desrsCreationTime' - The start time when the change set was created, in UTC. ----- * 'drsChanges' - A list of @Change@ structures that describes the resources AWS CloudFormation changes if you execute the change set.+-- * 'desrsChanges' - A list of @Change@ structures that describes the resources AWS CloudFormation changes if you execute the change set. ----- * 'drsNotificationARNs' - The ARNs of the Amazon Simple Notification Service (Amazon SNS) topics that will be associated with the stack if you execute the change set.+-- * 'desrsNotificationARNs' - The ARNs of the Amazon Simple Notification Service (Amazon SNS) topics that will be associated with the stack if you execute the change set. ----- * 'drsChangeSetName' - The name of the change set.+-- * 'desrsChangeSetName' - The name of the change set. ----- * 'drsExecutionStatus' - If the change set execution status is @AVAILABLE@ , you can execute the change set. If you can’t execute the change set, the status indicates why. For example, a change set might be in an @UNAVAILABLE@ state because AWS CloudFormation is still creating it or in an @OBSOLETE@ state because the stack was already updated.+-- * 'desrsExecutionStatus' - If the change set execution status is @AVAILABLE@ , you can execute the change set. If you can’t execute the change set, the status indicates why. For example, a change set might be in an @UNAVAILABLE@ state because AWS CloudFormation is still creating it or in an @OBSOLETE@ state because the stack was already updated. ----- * 'drsChangeSetId' - The ARN of the change set.+-- * 'desrsChangeSetId' - The ARN of the change set. ----- * 'drsNextToken' - If the output exceeds 1 MB, a string that identifies the next page of changes. If there is no additional page, this value is null.+-- * 'desrsNextToken' - If the output exceeds 1 MB, a string that identifies the next page of changes. If there is no additional page, this value is null. ----- * 'drsParameters' - A list of @Parameter@ structures that describes the input parameters and their values used to create the change set. For more information, see the <http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Parameter.html Parameter> data type.+-- * 'desrsParameters' - A list of @Parameter@ structures that describes the input parameters and their values used to create the change set. For more information, see the <http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Parameter.html Parameter> data type. ----- * 'drsStatusReason' - A description of the change set's status. For example, if your attempt to create a change set failed, AWS CloudFormation shows the error message.+-- * 'desrsStatusReason' - A description of the change set's status. For example, if your attempt to create a change set failed, AWS CloudFormation shows the error message. ----- * 'drsStackId' - The ARN of the stack that is associated with the change set.+-- * 'desrsStackId' - The ARN of the stack that is associated with the change set. ----- * 'drsDescription' - Information about the change set.+-- * 'desrsDescription' - Information about the change set. ----- * 'drsCapabilities' - If you execute the change set, the list of capabilities that were explicitly acknowledged when the change set was created.+-- * 'desrsCapabilities' - If you execute the change set, the list of capabilities that were explicitly acknowledged when the change set was created. ----- * 'drsTags' - If you execute the change set, the tags that will be associated with the stack.+-- * 'desrsRollbackConfiguration' - The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards. ----- * 'drsStackName' - The name of the stack that is associated with the change set.+-- * 'desrsTags' - If you execute the change set, the tags that will be associated with the stack. ----- * 'drsResponseStatus' - -- | The response status code.+-- * 'desrsStackName' - The name of the stack that is associated with the change set. ----- * 'drsStatus' - The current status of the change set, such as @CREATE_IN_PROGRESS@ , @CREATE_COMPLETE@ , or @FAILED@ .+-- * 'desrsResponseStatus' - -- | The response status code.+--+-- * 'desrsStatus' - The current status of the change set, such as @CREATE_IN_PROGRESS@ , @CREATE_COMPLETE@ , or @FAILED@ . describeChangeSetResponse-    :: Int -- ^ 'drsResponseStatus'-    -> ChangeSetStatus -- ^ 'drsStatus'+    :: Int -- ^ 'desrsResponseStatus'+    -> ChangeSetStatus -- ^ 'desrsStatus'     -> DescribeChangeSetResponse describeChangeSetResponse pResponseStatus_ pStatus_ =-    DescribeChangeSetResponse'-    { _drsCreationTime = Nothing-    , _drsChanges = Nothing-    , _drsNotificationARNs = Nothing-    , _drsChangeSetName = Nothing-    , _drsExecutionStatus = Nothing-    , _drsChangeSetId = Nothing-    , _drsNextToken = Nothing-    , _drsParameters = Nothing-    , _drsStatusReason = Nothing-    , _drsStackId = Nothing-    , _drsDescription = Nothing-    , _drsCapabilities = Nothing-    , _drsTags = Nothing-    , _drsStackName = Nothing-    , _drsResponseStatus = pResponseStatus_-    , _drsStatus = pStatus_-    }+  DescribeChangeSetResponse'+  { _desrsCreationTime = Nothing+  , _desrsChanges = Nothing+  , _desrsNotificationARNs = Nothing+  , _desrsChangeSetName = Nothing+  , _desrsExecutionStatus = Nothing+  , _desrsChangeSetId = Nothing+  , _desrsNextToken = Nothing+  , _desrsParameters = Nothing+  , _desrsStatusReason = Nothing+  , _desrsStackId = Nothing+  , _desrsDescription = Nothing+  , _desrsCapabilities = Nothing+  , _desrsRollbackConfiguration = Nothing+  , _desrsTags = Nothing+  , _desrsStackName = Nothing+  , _desrsResponseStatus = pResponseStatus_+  , _desrsStatus = pStatus_+  } + -- | The start time when the change set was created, in UTC.-drsCreationTime :: Lens' DescribeChangeSetResponse (Maybe UTCTime)-drsCreationTime = lens _drsCreationTime (\ s a -> s{_drsCreationTime = a}) . mapping _Time;+desrsCreationTime :: Lens' DescribeChangeSetResponse (Maybe UTCTime)+desrsCreationTime = lens _desrsCreationTime (\ s a -> s{_desrsCreationTime = a}) . mapping _Time;  -- | A list of @Change@ structures that describes the resources AWS CloudFormation changes if you execute the change set.-drsChanges :: Lens' DescribeChangeSetResponse [Change]-drsChanges = lens _drsChanges (\ s a -> s{_drsChanges = a}) . _Default . _Coerce;+desrsChanges :: Lens' DescribeChangeSetResponse [Change]+desrsChanges = lens _desrsChanges (\ s a -> s{_desrsChanges = a}) . _Default . _Coerce;  -- | The ARNs of the Amazon Simple Notification Service (Amazon SNS) topics that will be associated with the stack if you execute the change set.-drsNotificationARNs :: Lens' DescribeChangeSetResponse [Text]-drsNotificationARNs = lens _drsNotificationARNs (\ s a -> s{_drsNotificationARNs = a}) . _Default . _Coerce;+desrsNotificationARNs :: Lens' DescribeChangeSetResponse [Text]+desrsNotificationARNs = lens _desrsNotificationARNs (\ s a -> s{_desrsNotificationARNs = a}) . _Default . _Coerce;  -- | The name of the change set.-drsChangeSetName :: Lens' DescribeChangeSetResponse (Maybe Text)-drsChangeSetName = lens _drsChangeSetName (\ s a -> s{_drsChangeSetName = a});+desrsChangeSetName :: Lens' DescribeChangeSetResponse (Maybe Text)+desrsChangeSetName = lens _desrsChangeSetName (\ s a -> s{_desrsChangeSetName = a});  -- | If the change set execution status is @AVAILABLE@ , you can execute the change set. If you can’t execute the change set, the status indicates why. For example, a change set might be in an @UNAVAILABLE@ state because AWS CloudFormation is still creating it or in an @OBSOLETE@ state because the stack was already updated.-drsExecutionStatus :: Lens' DescribeChangeSetResponse (Maybe ExecutionStatus)-drsExecutionStatus = lens _drsExecutionStatus (\ s a -> s{_drsExecutionStatus = a});+desrsExecutionStatus :: Lens' DescribeChangeSetResponse (Maybe ExecutionStatus)+desrsExecutionStatus = lens _desrsExecutionStatus (\ s a -> s{_desrsExecutionStatus = a});  -- | The ARN of the change set.-drsChangeSetId :: Lens' DescribeChangeSetResponse (Maybe Text)-drsChangeSetId = lens _drsChangeSetId (\ s a -> s{_drsChangeSetId = a});+desrsChangeSetId :: Lens' DescribeChangeSetResponse (Maybe Text)+desrsChangeSetId = lens _desrsChangeSetId (\ s a -> s{_desrsChangeSetId = a});  -- | If the output exceeds 1 MB, a string that identifies the next page of changes. If there is no additional page, this value is null.-drsNextToken :: Lens' DescribeChangeSetResponse (Maybe Text)-drsNextToken = lens _drsNextToken (\ s a -> s{_drsNextToken = a});+desrsNextToken :: Lens' DescribeChangeSetResponse (Maybe Text)+desrsNextToken = lens _desrsNextToken (\ s a -> s{_desrsNextToken = a});  -- | A list of @Parameter@ structures that describes the input parameters and their values used to create the change set. For more information, see the <http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Parameter.html Parameter> data type.-drsParameters :: Lens' DescribeChangeSetResponse [Parameter]-drsParameters = lens _drsParameters (\ s a -> s{_drsParameters = a}) . _Default . _Coerce;+desrsParameters :: Lens' DescribeChangeSetResponse [Parameter]+desrsParameters = lens _desrsParameters (\ s a -> s{_desrsParameters = a}) . _Default . _Coerce;  -- | A description of the change set's status. For example, if your attempt to create a change set failed, AWS CloudFormation shows the error message.-drsStatusReason :: Lens' DescribeChangeSetResponse (Maybe Text)-drsStatusReason = lens _drsStatusReason (\ s a -> s{_drsStatusReason = a});+desrsStatusReason :: Lens' DescribeChangeSetResponse (Maybe Text)+desrsStatusReason = lens _desrsStatusReason (\ s a -> s{_desrsStatusReason = a});  -- | The ARN of the stack that is associated with the change set.-drsStackId :: Lens' DescribeChangeSetResponse (Maybe Text)-drsStackId = lens _drsStackId (\ s a -> s{_drsStackId = a});+desrsStackId :: Lens' DescribeChangeSetResponse (Maybe Text)+desrsStackId = lens _desrsStackId (\ s a -> s{_desrsStackId = a});  -- | Information about the change set.-drsDescription :: Lens' DescribeChangeSetResponse (Maybe Text)-drsDescription = lens _drsDescription (\ s a -> s{_drsDescription = a});+desrsDescription :: Lens' DescribeChangeSetResponse (Maybe Text)+desrsDescription = lens _desrsDescription (\ s a -> s{_desrsDescription = a});  -- | If you execute the change set, the list of capabilities that were explicitly acknowledged when the change set was created.-drsCapabilities :: Lens' DescribeChangeSetResponse [Capability]-drsCapabilities = lens _drsCapabilities (\ s a -> s{_drsCapabilities = a}) . _Default . _Coerce;+desrsCapabilities :: Lens' DescribeChangeSetResponse [Capability]+desrsCapabilities = lens _desrsCapabilities (\ s a -> s{_desrsCapabilities = a}) . _Default . _Coerce; +-- | The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.+desrsRollbackConfiguration :: Lens' DescribeChangeSetResponse (Maybe RollbackConfiguration)+desrsRollbackConfiguration = lens _desrsRollbackConfiguration (\ s a -> s{_desrsRollbackConfiguration = a});+ -- | If you execute the change set, the tags that will be associated with the stack.-drsTags :: Lens' DescribeChangeSetResponse [Tag]-drsTags = lens _drsTags (\ s a -> s{_drsTags = a}) . _Default . _Coerce;+desrsTags :: Lens' DescribeChangeSetResponse [Tag]+desrsTags = lens _desrsTags (\ s a -> s{_desrsTags = a}) . _Default . _Coerce;  -- | The name of the stack that is associated with the change set.-drsStackName :: Lens' DescribeChangeSetResponse (Maybe Text)-drsStackName = lens _drsStackName (\ s a -> s{_drsStackName = a});+desrsStackName :: Lens' DescribeChangeSetResponse (Maybe Text)+desrsStackName = lens _desrsStackName (\ s a -> s{_desrsStackName = a});  -- | -- | The response status code.-drsResponseStatus :: Lens' DescribeChangeSetResponse Int-drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a});+desrsResponseStatus :: Lens' DescribeChangeSetResponse Int+desrsResponseStatus = lens _desrsResponseStatus (\ s a -> s{_desrsResponseStatus = a});  -- | The current status of the change set, such as @CREATE_IN_PROGRESS@ , @CREATE_COMPLETE@ , or @FAILED@ .-drsStatus :: Lens' DescribeChangeSetResponse ChangeSetStatus-drsStatus = lens _drsStatus (\ s a -> s{_drsStatus = a});+desrsStatus :: Lens' DescribeChangeSetResponse ChangeSetStatus+desrsStatus = lens _desrsStatus (\ s a -> s{_desrsStatus = a}); -instance NFData DescribeChangeSetResponse+instance NFData DescribeChangeSetResponse where
gen/Network/AWS/CloudFormation/DescribeStackEvents.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.CloudFormation.DescribeStackEvents--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -41,13 +41,13 @@     , dsersResponseStatus     ) where -import           Network.AWS.CloudFormation.Types-import           Network.AWS.CloudFormation.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Pager-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | The input for 'DescribeStackEvents' action. --@@ -55,10 +55,11 @@ -- -- /See:/ 'describeStackEvents' smart constructor. data DescribeStackEvents = DescribeStackEvents'-    { _dseNextToken :: !(Maybe Text)-    , _dseStackName :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dseNextToken :: !(Maybe Text)+  , _dseStackName :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DescribeStackEvents' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -69,11 +70,9 @@ describeStackEvents     :: DescribeStackEvents describeStackEvents =-    DescribeStackEvents'-    { _dseNextToken = Nothing-    , _dseStackName = Nothing-    }+  DescribeStackEvents' {_dseNextToken = Nothing, _dseStackName = Nothing} + -- | A string that identifies the next page of events that you want to retrieve. dseNextToken :: Lens' DescribeStackEvents (Maybe Text) dseNextToken = lens _dseNextToken (\ s a -> s{_dseNextToken = a});@@ -102,9 +101,9 @@                         may (parseXMLList "member"))                      <*> (pure (fromEnum s))) -instance Hashable DescribeStackEvents+instance Hashable DescribeStackEvents where -instance NFData DescribeStackEvents+instance NFData DescribeStackEvents where  instance ToHeaders DescribeStackEvents where         toHeaders = const mempty@@ -126,11 +125,12 @@ -- -- /See:/ 'describeStackEventsResponse' smart constructor. data DescribeStackEventsResponse = DescribeStackEventsResponse'-    { _dsersNextToken      :: !(Maybe Text)-    , _dsersStackEvents    :: !(Maybe [StackEvent])-    , _dsersResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dsersNextToken      :: !(Maybe Text)+  , _dsersStackEvents    :: !(Maybe [StackEvent])+  , _dsersResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DescribeStackEventsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -144,12 +144,13 @@     :: Int -- ^ 'dsersResponseStatus'     -> DescribeStackEventsResponse describeStackEventsResponse pResponseStatus_ =-    DescribeStackEventsResponse'-    { _dsersNextToken = Nothing-    , _dsersStackEvents = Nothing-    , _dsersResponseStatus = pResponseStatus_-    }+  DescribeStackEventsResponse'+  { _dsersNextToken = Nothing+  , _dsersStackEvents = Nothing+  , _dsersResponseStatus = pResponseStatus_+  } + -- | If the output exceeds 1 MB in size, a string that identifies the next page of events. If no additional page exists, this value is null. dsersNextToken :: Lens' DescribeStackEventsResponse (Maybe Text) dsersNextToken = lens _dsersNextToken (\ s a -> s{_dsersNextToken = a});@@ -162,4 +163,4 @@ dsersResponseStatus :: Lens' DescribeStackEventsResponse Int dsersResponseStatus = lens _dsersResponseStatus (\ s a -> s{_dsersResponseStatus = a}); -instance NFData DescribeStackEventsResponse+instance NFData DescribeStackEventsResponse where
+ gen/Network/AWS/CloudFormation/DescribeStackInstance.hs view
@@ -0,0 +1,152 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CloudFormation.DescribeStackInstance+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the stack instance that's associated with the specified stack set, AWS account, and region.+--+--+-- For a list of stack instances that are associated with a specific stack set, use 'ListStackInstances' .+--+module Network.AWS.CloudFormation.DescribeStackInstance+    (+    -- * Creating a Request+      describeStackInstance+    , DescribeStackInstance+    -- * Request Lenses+    , dStackSetName+    , dStackInstanceAccount+    , dStackInstanceRegion++    -- * Destructuring the Response+    , describeStackInstanceResponse+    , DescribeStackInstanceResponse+    -- * Response Lenses+    , dsisrsStackInstance+    , dsisrsResponseStatus+    ) where++import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'describeStackInstance' smart constructor.+data DescribeStackInstance = DescribeStackInstance'+  { _dStackSetName         :: !Text+  , _dStackInstanceAccount :: !Text+  , _dStackInstanceRegion  :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeStackInstance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dStackSetName' - The name or the unique stack ID of the stack set that you want to get stack instance information for.+--+-- * 'dStackInstanceAccount' - The ID of an AWS account that's associated with this stack instance.+--+-- * 'dStackInstanceRegion' - The name of a region that's associated with this stack instance.+describeStackInstance+    :: Text -- ^ 'dStackSetName'+    -> Text -- ^ 'dStackInstanceAccount'+    -> Text -- ^ 'dStackInstanceRegion'+    -> DescribeStackInstance+describeStackInstance pStackSetName_ pStackInstanceAccount_ pStackInstanceRegion_ =+  DescribeStackInstance'+  { _dStackSetName = pStackSetName_+  , _dStackInstanceAccount = pStackInstanceAccount_+  , _dStackInstanceRegion = pStackInstanceRegion_+  }+++-- | The name or the unique stack ID of the stack set that you want to get stack instance information for.+dStackSetName :: Lens' DescribeStackInstance Text+dStackSetName = lens _dStackSetName (\ s a -> s{_dStackSetName = a});++-- | The ID of an AWS account that's associated with this stack instance.+dStackInstanceAccount :: Lens' DescribeStackInstance Text+dStackInstanceAccount = lens _dStackInstanceAccount (\ s a -> s{_dStackInstanceAccount = a});++-- | The name of a region that's associated with this stack instance.+dStackInstanceRegion :: Lens' DescribeStackInstance Text+dStackInstanceRegion = lens _dStackInstanceRegion (\ s a -> s{_dStackInstanceRegion = a});++instance AWSRequest DescribeStackInstance where+        type Rs DescribeStackInstance =+             DescribeStackInstanceResponse+        request = postQuery cloudFormation+        response+          = receiveXMLWrapper "DescribeStackInstanceResult"+              (\ s h x ->+                 DescribeStackInstanceResponse' <$>+                   (x .@? "StackInstance") <*> (pure (fromEnum s)))++instance Hashable DescribeStackInstance where++instance NFData DescribeStackInstance where++instance ToHeaders DescribeStackInstance where+        toHeaders = const mempty++instance ToPath DescribeStackInstance where+        toPath = const "/"++instance ToQuery DescribeStackInstance where+        toQuery DescribeStackInstance'{..}+          = mconcat+              ["Action" =: ("DescribeStackInstance" :: ByteString),+               "Version" =: ("2010-05-15" :: ByteString),+               "StackSetName" =: _dStackSetName,+               "StackInstanceAccount" =: _dStackInstanceAccount,+               "StackInstanceRegion" =: _dStackInstanceRegion]++-- | /See:/ 'describeStackInstanceResponse' smart constructor.+data DescribeStackInstanceResponse = DescribeStackInstanceResponse'+  { _dsisrsStackInstance  :: !(Maybe StackInstance)+  , _dsisrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeStackInstanceResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsisrsStackInstance' - The stack instance that matches the specified request parameters.+--+-- * 'dsisrsResponseStatus' - -- | The response status code.+describeStackInstanceResponse+    :: Int -- ^ 'dsisrsResponseStatus'+    -> DescribeStackInstanceResponse+describeStackInstanceResponse pResponseStatus_ =+  DescribeStackInstanceResponse'+  {_dsisrsStackInstance = Nothing, _dsisrsResponseStatus = pResponseStatus_}+++-- | The stack instance that matches the specified request parameters.+dsisrsStackInstance :: Lens' DescribeStackInstanceResponse (Maybe StackInstance)+dsisrsStackInstance = lens _dsisrsStackInstance (\ s a -> s{_dsisrsStackInstance = a});++-- | -- | The response status code.+dsisrsResponseStatus :: Lens' DescribeStackInstanceResponse Int+dsisrsResponseStatus = lens _dsisrsResponseStatus (\ s a -> s{_dsisrsResponseStatus = a});++instance NFData DescribeStackInstanceResponse where
gen/Network/AWS/CloudFormation/DescribeStackResource.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.CloudFormation.DescribeStackResource--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -40,12 +40,12 @@     , dsrrsResponseStatus     ) where -import           Network.AWS.CloudFormation.Types-import           Network.AWS.CloudFormation.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | The input for 'DescribeStackResource' action. --@@ -53,10 +53,11 @@ -- -- /See:/ 'describeStackResource' smart constructor. data DescribeStackResource = DescribeStackResource'-    { _dsrsStackName         :: !Text-    , _dsrsLogicalResourceId :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dsrsStackName         :: !Text+  , _dsrsLogicalResourceId :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DescribeStackResource' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -69,11 +70,10 @@     -> Text -- ^ 'dsrsLogicalResourceId'     -> DescribeStackResource describeStackResource pStackName_ pLogicalResourceId_ =-    DescribeStackResource'-    { _dsrsStackName = pStackName_-    , _dsrsLogicalResourceId = pLogicalResourceId_-    }+  DescribeStackResource'+  {_dsrsStackName = pStackName_, _dsrsLogicalResourceId = pLogicalResourceId_} + -- | The name or the unique stack ID that is associated with the stack, which are not always interchangeable:     * Running stacks: You can specify either the stack's name or its unique stack ID.     * Deleted stacks: You must specify the unique stack ID. Default: There is no default value. dsrsStackName :: Lens' DescribeStackResource Text dsrsStackName = lens _dsrsStackName (\ s a -> s{_dsrsStackName = a});@@ -93,9 +93,9 @@                    (x .@? "StackResourceDetail") <*>                      (pure (fromEnum s))) -instance Hashable DescribeStackResource+instance Hashable DescribeStackResource where -instance NFData DescribeStackResource+instance NFData DescribeStackResource where  instance ToHeaders DescribeStackResource where         toHeaders = const mempty@@ -117,10 +117,11 @@ -- -- /See:/ 'describeStackResourceResponse' smart constructor. data DescribeStackResourceResponse = DescribeStackResourceResponse'-    { _dsrrsStackResourceDetail :: !(Maybe StackResourceDetail)-    , _dsrrsResponseStatus      :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dsrrsStackResourceDetail :: !(Maybe StackResourceDetail)+  , _dsrrsResponseStatus      :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DescribeStackResourceResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -132,11 +133,10 @@     :: Int -- ^ 'dsrrsResponseStatus'     -> DescribeStackResourceResponse describeStackResourceResponse pResponseStatus_ =-    DescribeStackResourceResponse'-    { _dsrrsStackResourceDetail = Nothing-    , _dsrrsResponseStatus = pResponseStatus_-    }+  DescribeStackResourceResponse'+  {_dsrrsStackResourceDetail = Nothing, _dsrrsResponseStatus = pResponseStatus_} + -- | A @StackResourceDetail@ structure containing the description of the specified resource in the specified stack. dsrrsStackResourceDetail :: Lens' DescribeStackResourceResponse (Maybe StackResourceDetail) dsrrsStackResourceDetail = lens _dsrrsStackResourceDetail (\ s a -> s{_dsrrsStackResourceDetail = a});@@ -145,4 +145,4 @@ dsrrsResponseStatus :: Lens' DescribeStackResourceResponse Int dsrrsResponseStatus = lens _dsrrsResponseStatus (\ s a -> s{_dsrrsResponseStatus = a}); -instance NFData DescribeStackResourceResponse+instance NFData DescribeStackResourceResponse where
gen/Network/AWS/CloudFormation/DescribeStackResources.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.CloudFormation.DescribeStackResources--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -43,12 +43,12 @@     , dsrsrsResponseStatus     ) where -import           Network.AWS.CloudFormation.Types-import           Network.AWS.CloudFormation.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | The input for 'DescribeStackResources' action. --@@ -56,11 +56,12 @@ -- -- /See:/ 'describeStackResources' smart constructor. data DescribeStackResources = DescribeStackResources'-    { _dsrLogicalResourceId  :: !(Maybe Text)-    , _dsrPhysicalResourceId :: !(Maybe Text)-    , _dsrStackName          :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dsrLogicalResourceId  :: !(Maybe Text)+  , _dsrPhysicalResourceId :: !(Maybe Text)+  , _dsrStackName          :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DescribeStackResources' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -73,12 +74,13 @@ describeStackResources     :: DescribeStackResources describeStackResources =-    DescribeStackResources'-    { _dsrLogicalResourceId = Nothing-    , _dsrPhysicalResourceId = Nothing-    , _dsrStackName = Nothing-    }+  DescribeStackResources'+  { _dsrLogicalResourceId = Nothing+  , _dsrPhysicalResourceId = Nothing+  , _dsrStackName = Nothing+  } + -- | The logical name of the resource as specified in the template. Default: There is no default value. dsrLogicalResourceId :: Lens' DescribeStackResources (Maybe Text) dsrLogicalResourceId = lens _dsrLogicalResourceId (\ s a -> s{_dsrLogicalResourceId = a});@@ -103,9 +105,9 @@                       may (parseXMLList "member"))                      <*> (pure (fromEnum s))) -instance Hashable DescribeStackResources+instance Hashable DescribeStackResources where -instance NFData DescribeStackResources+instance NFData DescribeStackResources where  instance ToHeaders DescribeStackResources where         toHeaders = const mempty@@ -129,10 +131,11 @@ -- -- /See:/ 'describeStackResourcesResponse' smart constructor. data DescribeStackResourcesResponse = DescribeStackResourcesResponse'-    { _dsrsrsStackResources :: !(Maybe [StackResource])-    , _dsrsrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dsrsrsStackResources :: !(Maybe [StackResource])+  , _dsrsrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DescribeStackResourcesResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -144,11 +147,10 @@     :: Int -- ^ 'dsrsrsResponseStatus'     -> DescribeStackResourcesResponse describeStackResourcesResponse pResponseStatus_ =-    DescribeStackResourcesResponse'-    { _dsrsrsStackResources = Nothing-    , _dsrsrsResponseStatus = pResponseStatus_-    }+  DescribeStackResourcesResponse'+  {_dsrsrsStackResources = Nothing, _dsrsrsResponseStatus = pResponseStatus_} + -- | A list of @StackResource@ structures. dsrsrsStackResources :: Lens' DescribeStackResourcesResponse [StackResource] dsrsrsStackResources = lens _dsrsrsStackResources (\ s a -> s{_dsrsrsStackResources = a}) . _Default . _Coerce;@@ -157,4 +159,4 @@ dsrsrsResponseStatus :: Lens' DescribeStackResourcesResponse Int dsrsrsResponseStatus = lens _dsrsrsResponseStatus (\ s a -> s{_dsrsrsResponseStatus = a}); -instance NFData DescribeStackResourcesResponse+instance NFData DescribeStackResourcesResponse where
+ gen/Network/AWS/CloudFormation/DescribeStackSet.hs view
@@ -0,0 +1,125 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CloudFormation.DescribeStackSet+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the description of the specified stack set.+--+--+module Network.AWS.CloudFormation.DescribeStackSet+    (+    -- * Creating a Request+      describeStackSet+    , DescribeStackSet+    -- * Request Lenses+    , desStackSetName++    -- * Destructuring the Response+    , describeStackSetResponse+    , DescribeStackSetResponse+    -- * Response Lenses+    , drsStackSet+    , drsResponseStatus+    ) where++import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'describeStackSet' smart constructor.+newtype DescribeStackSet = DescribeStackSet'+  { _desStackSetName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeStackSet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'desStackSetName' - The name or unique ID of the stack set whose description you want.+describeStackSet+    :: Text -- ^ 'desStackSetName'+    -> DescribeStackSet+describeStackSet pStackSetName_ =+  DescribeStackSet' {_desStackSetName = pStackSetName_}+++-- | The name or unique ID of the stack set whose description you want.+desStackSetName :: Lens' DescribeStackSet Text+desStackSetName = lens _desStackSetName (\ s a -> s{_desStackSetName = a});++instance AWSRequest DescribeStackSet where+        type Rs DescribeStackSet = DescribeStackSetResponse+        request = postQuery cloudFormation+        response+          = receiveXMLWrapper "DescribeStackSetResult"+              (\ s h x ->+                 DescribeStackSetResponse' <$>+                   (x .@? "StackSet") <*> (pure (fromEnum s)))++instance Hashable DescribeStackSet where++instance NFData DescribeStackSet where++instance ToHeaders DescribeStackSet where+        toHeaders = const mempty++instance ToPath DescribeStackSet where+        toPath = const "/"++instance ToQuery DescribeStackSet where+        toQuery DescribeStackSet'{..}+          = mconcat+              ["Action" =: ("DescribeStackSet" :: ByteString),+               "Version" =: ("2010-05-15" :: ByteString),+               "StackSetName" =: _desStackSetName]++-- | /See:/ 'describeStackSetResponse' smart constructor.+data DescribeStackSetResponse = DescribeStackSetResponse'+  { _drsStackSet       :: !(Maybe StackSet)+  , _drsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeStackSetResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drsStackSet' - The specified stack set.+--+-- * 'drsResponseStatus' - -- | The response status code.+describeStackSetResponse+    :: Int -- ^ 'drsResponseStatus'+    -> DescribeStackSetResponse+describeStackSetResponse pResponseStatus_ =+  DescribeStackSetResponse'+  {_drsStackSet = Nothing, _drsResponseStatus = pResponseStatus_}+++-- | The specified stack set.+drsStackSet :: Lens' DescribeStackSetResponse (Maybe StackSet)+drsStackSet = lens _drsStackSet (\ s a -> s{_drsStackSet = a});++-- | -- | The response status code.+drsResponseStatus :: Lens' DescribeStackSetResponse Int+drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a});++instance NFData DescribeStackSetResponse where
+ gen/Network/AWS/CloudFormation/DescribeStackSetOperation.hs view
@@ -0,0 +1,139 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CloudFormation.DescribeStackSetOperation+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the description of the specified stack set operation.+--+--+module Network.AWS.CloudFormation.DescribeStackSetOperation+    (+    -- * Creating a Request+      describeStackSetOperation+    , DescribeStackSetOperation+    -- * Request Lenses+    , dssoStackSetName+    , dssoOperationId++    -- * Destructuring the Response+    , describeStackSetOperationResponse+    , DescribeStackSetOperationResponse+    -- * Response Lenses+    , dssorsStackSetOperation+    , dssorsResponseStatus+    ) where++import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'describeStackSetOperation' smart constructor.+data DescribeStackSetOperation = DescribeStackSetOperation'+  { _dssoStackSetName :: !Text+  , _dssoOperationId  :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeStackSetOperation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dssoStackSetName' - The name or the unique stack ID of the stack set for the stack operation.+--+-- * 'dssoOperationId' - The unique ID of the stack set operation.+describeStackSetOperation+    :: Text -- ^ 'dssoStackSetName'+    -> Text -- ^ 'dssoOperationId'+    -> DescribeStackSetOperation+describeStackSetOperation pStackSetName_ pOperationId_ =+  DescribeStackSetOperation'+  {_dssoStackSetName = pStackSetName_, _dssoOperationId = pOperationId_}+++-- | The name or the unique stack ID of the stack set for the stack operation.+dssoStackSetName :: Lens' DescribeStackSetOperation Text+dssoStackSetName = lens _dssoStackSetName (\ s a -> s{_dssoStackSetName = a});++-- | The unique ID of the stack set operation.+dssoOperationId :: Lens' DescribeStackSetOperation Text+dssoOperationId = lens _dssoOperationId (\ s a -> s{_dssoOperationId = a});++instance AWSRequest DescribeStackSetOperation where+        type Rs DescribeStackSetOperation =+             DescribeStackSetOperationResponse+        request = postQuery cloudFormation+        response+          = receiveXMLWrapper "DescribeStackSetOperationResult"+              (\ s h x ->+                 DescribeStackSetOperationResponse' <$>+                   (x .@? "StackSetOperation") <*> (pure (fromEnum s)))++instance Hashable DescribeStackSetOperation where++instance NFData DescribeStackSetOperation where++instance ToHeaders DescribeStackSetOperation where+        toHeaders = const mempty++instance ToPath DescribeStackSetOperation where+        toPath = const "/"++instance ToQuery DescribeStackSetOperation where+        toQuery DescribeStackSetOperation'{..}+          = mconcat+              ["Action" =:+                 ("DescribeStackSetOperation" :: ByteString),+               "Version" =: ("2010-05-15" :: ByteString),+               "StackSetName" =: _dssoStackSetName,+               "OperationId" =: _dssoOperationId]++-- | /See:/ 'describeStackSetOperationResponse' smart constructor.+data DescribeStackSetOperationResponse = DescribeStackSetOperationResponse'+  { _dssorsStackSetOperation :: !(Maybe StackSetOperation)+  , _dssorsResponseStatus    :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DescribeStackSetOperationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dssorsStackSetOperation' - The specified stack set operation.+--+-- * 'dssorsResponseStatus' - -- | The response status code.+describeStackSetOperationResponse+    :: Int -- ^ 'dssorsResponseStatus'+    -> DescribeStackSetOperationResponse+describeStackSetOperationResponse pResponseStatus_ =+  DescribeStackSetOperationResponse'+  {_dssorsStackSetOperation = Nothing, _dssorsResponseStatus = pResponseStatus_}+++-- | The specified stack set operation.+dssorsStackSetOperation :: Lens' DescribeStackSetOperationResponse (Maybe StackSetOperation)+dssorsStackSetOperation = lens _dssorsStackSetOperation (\ s a -> s{_dssorsStackSetOperation = a});++-- | -- | The response status code.+dssorsResponseStatus :: Lens' DescribeStackSetOperationResponse Int+dssorsResponseStatus = lens _dssorsResponseStatus (\ s a -> s{_dssorsResponseStatus = a});++instance NFData DescribeStackSetOperationResponse+         where
gen/Network/AWS/CloudFormation/DescribeStacks.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.CloudFormation.DescribeStacks--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -41,13 +41,13 @@     , dsrsResponseStatus     ) where -import           Network.AWS.CloudFormation.Types-import           Network.AWS.CloudFormation.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Pager-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | The input for 'DescribeStacks' action. --@@ -55,10 +55,11 @@ -- -- /See:/ 'describeStacks' smart constructor. data DescribeStacks = DescribeStacks'-    { _dNextToken :: !(Maybe Text)-    , _dStackName :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dNextToken :: !(Maybe Text)+  , _dStackName :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DescribeStacks' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -68,12 +69,9 @@ -- * 'dStackName' - The name or the unique stack ID that is associated with the stack, which are not always interchangeable:     * Running stacks: You can specify either the stack's name or its unique stack ID.     * Deleted stacks: You must specify the unique stack ID. Default: There is no default value. describeStacks     :: DescribeStacks-describeStacks =-    DescribeStacks'-    { _dNextToken = Nothing-    , _dStackName = Nothing-    }+describeStacks = DescribeStacks' {_dNextToken = Nothing, _dStackName = Nothing} + -- | A string that identifies the next page of stacks that you want to retrieve. dNextToken :: Lens' DescribeStacks (Maybe Text) dNextToken = lens _dNextToken (\ s a -> s{_dNextToken = a});@@ -101,9 +99,9 @@                         may (parseXMLList "member"))                      <*> (pure (fromEnum s))) -instance Hashable DescribeStacks+instance Hashable DescribeStacks where -instance NFData DescribeStacks+instance NFData DescribeStacks where  instance ToHeaders DescribeStacks where         toHeaders = const mempty@@ -125,11 +123,12 @@ -- -- /See:/ 'describeStacksResponse' smart constructor. data DescribeStacksResponse = DescribeStacksResponse'-    { _dsrsNextToken      :: !(Maybe Text)-    , _dsrsStacks         :: !(Maybe [Stack])-    , _dsrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dsrsNextToken      :: !(Maybe Text)+  , _dsrsStacks         :: !(Maybe [Stack])+  , _dsrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DescribeStacksResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -143,12 +142,13 @@     :: Int -- ^ 'dsrsResponseStatus'     -> DescribeStacksResponse describeStacksResponse pResponseStatus_ =-    DescribeStacksResponse'-    { _dsrsNextToken = Nothing-    , _dsrsStacks = Nothing-    , _dsrsResponseStatus = pResponseStatus_-    }+  DescribeStacksResponse'+  { _dsrsNextToken = Nothing+  , _dsrsStacks = Nothing+  , _dsrsResponseStatus = pResponseStatus_+  } + -- | If the output exceeds 1 MB in size, a string that identifies the next page of stacks. If no additional page exists, this value is null. dsrsNextToken :: Lens' DescribeStacksResponse (Maybe Text) dsrsNextToken = lens _dsrsNextToken (\ s a -> s{_dsrsNextToken = a});@@ -161,4 +161,4 @@ dsrsResponseStatus :: Lens' DescribeStacksResponse Int dsrsResponseStatus = lens _dsrsResponseStatus (\ s a -> s{_dsrsResponseStatus = a}); -instance NFData DescribeStacksResponse+instance NFData DescribeStacksResponse where
gen/Network/AWS/CloudFormation/EstimateTemplateCost.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.CloudFormation.EstimateTemplateCost--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -39,12 +39,12 @@     , etcrsResponseStatus     ) where -import           Network.AWS.CloudFormation.Types-import           Network.AWS.CloudFormation.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | The input for an 'EstimateTemplateCost' action. --@@ -52,11 +52,12 @@ -- -- /See:/ 'estimateTemplateCost' smart constructor. data EstimateTemplateCost = EstimateTemplateCost'-    { _etcParameters   :: !(Maybe [Parameter])-    , _etcTemplateBody :: !(Maybe Text)-    , _etcTemplateURL  :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _etcParameters   :: !(Maybe [Parameter])+  , _etcTemplateBody :: !(Maybe Text)+  , _etcTemplateURL  :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'EstimateTemplateCost' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -69,12 +70,13 @@ estimateTemplateCost     :: EstimateTemplateCost estimateTemplateCost =-    EstimateTemplateCost'-    { _etcParameters = Nothing-    , _etcTemplateBody = Nothing-    , _etcTemplateURL = Nothing-    }+  EstimateTemplateCost'+  { _etcParameters = Nothing+  , _etcTemplateBody = Nothing+  , _etcTemplateURL = Nothing+  } + -- | A list of @Parameter@ structures that specify input parameters. etcParameters :: Lens' EstimateTemplateCost [Parameter] etcParameters = lens _etcParameters (\ s a -> s{_etcParameters = a}) . _Default . _Coerce;@@ -97,9 +99,9 @@                  EstimateTemplateCostResponse' <$>                    (x .@? "Url") <*> (pure (fromEnum s))) -instance Hashable EstimateTemplateCost+instance Hashable EstimateTemplateCost where -instance NFData EstimateTemplateCost+instance NFData EstimateTemplateCost where  instance ToHeaders EstimateTemplateCost where         toHeaders = const mempty@@ -123,10 +125,11 @@ -- -- /See:/ 'estimateTemplateCostResponse' smart constructor. data EstimateTemplateCostResponse = EstimateTemplateCostResponse'-    { _etcrsURL            :: !(Maybe Text)-    , _etcrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _etcrsURL            :: !(Maybe Text)+  , _etcrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'EstimateTemplateCostResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -138,11 +141,10 @@     :: Int -- ^ 'etcrsResponseStatus'     -> EstimateTemplateCostResponse estimateTemplateCostResponse pResponseStatus_ =-    EstimateTemplateCostResponse'-    { _etcrsURL = Nothing-    , _etcrsResponseStatus = pResponseStatus_-    }+  EstimateTemplateCostResponse'+  {_etcrsURL = Nothing, _etcrsResponseStatus = pResponseStatus_} + -- | An AWS Simple Monthly Calculator URL with a query string that describes the resources required to run the template. etcrsURL :: Lens' EstimateTemplateCostResponse (Maybe Text) etcrsURL = lens _etcrsURL (\ s a -> s{_etcrsURL = a});@@ -151,4 +153,4 @@ etcrsResponseStatus :: Lens' EstimateTemplateCostResponse Int etcrsResponseStatus = lens _etcrsResponseStatus (\ s a -> s{_etcrsResponseStatus = a}); -instance NFData EstimateTemplateCostResponse+instance NFData EstimateTemplateCostResponse where
gen/Network/AWS/CloudFormation/ExecuteChangeSet.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.CloudFormation.ExecuteChangeSet--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -31,6 +31,7 @@       executeChangeSet     , ExecuteChangeSet     -- * Request Lenses+    , ecsClientRequestToken     , ecsStackName     , ecsChangeSetName @@ -41,12 +42,12 @@     , ecsrsResponseStatus     ) where -import           Network.AWS.CloudFormation.Types-import           Network.AWS.CloudFormation.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | The input for the 'ExecuteChangeSet' action. --@@ -54,14 +55,18 @@ -- -- /See:/ 'executeChangeSet' smart constructor. data ExecuteChangeSet = ExecuteChangeSet'-    { _ecsStackName     :: !(Maybe Text)-    , _ecsChangeSetName :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ecsClientRequestToken :: !(Maybe Text)+  , _ecsStackName          :: !(Maybe Text)+  , _ecsChangeSetName      :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ExecuteChangeSet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: --+-- * 'ecsClientRequestToken' - A unique identifier for this @ExecuteChangeSet@ request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to execute a change set to update a stack with the same name. You might retry @ExecuteChangeSet@ requests to ensure that AWS CloudFormation successfully received them.+-- -- * 'ecsStackName' - If you specified the name of a change set, specify the stack name or ID (ARN) that is associated with the change set you want to execute. -- -- * 'ecsChangeSetName' - The name or ARN of the change set that you want use to update the specified stack.@@ -69,11 +74,17 @@     :: Text -- ^ 'ecsChangeSetName'     -> ExecuteChangeSet executeChangeSet pChangeSetName_ =-    ExecuteChangeSet'-    { _ecsStackName = Nothing-    , _ecsChangeSetName = pChangeSetName_-    }+  ExecuteChangeSet'+  { _ecsClientRequestToken = Nothing+  , _ecsStackName = Nothing+  , _ecsChangeSetName = pChangeSetName_+  } ++-- | A unique identifier for this @ExecuteChangeSet@ request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to execute a change set to update a stack with the same name. You might retry @ExecuteChangeSet@ requests to ensure that AWS CloudFormation successfully received them.+ecsClientRequestToken :: Lens' ExecuteChangeSet (Maybe Text)+ecsClientRequestToken = lens _ecsClientRequestToken (\ s a -> s{_ecsClientRequestToken = a});+ -- | If you specified the name of a change set, specify the stack name or ID (ARN) that is associated with the change set you want to execute. ecsStackName :: Lens' ExecuteChangeSet (Maybe Text) ecsStackName = lens _ecsStackName (\ s a -> s{_ecsStackName = a});@@ -90,9 +101,9 @@               (\ s h x ->                  ExecuteChangeSetResponse' <$> (pure (fromEnum s))) -instance Hashable ExecuteChangeSet+instance Hashable ExecuteChangeSet where -instance NFData ExecuteChangeSet+instance NFData ExecuteChangeSet where  instance ToHeaders ExecuteChangeSet where         toHeaders = const mempty@@ -105,6 +116,7 @@           = mconcat               ["Action" =: ("ExecuteChangeSet" :: ByteString),                "Version" =: ("2010-05-15" :: ByteString),+               "ClientRequestToken" =: _ecsClientRequestToken,                "StackName" =: _ecsStackName,                "ChangeSetName" =: _ecsChangeSetName] @@ -114,9 +126,10 @@ -- -- /See:/ 'executeChangeSetResponse' smart constructor. newtype ExecuteChangeSetResponse = ExecuteChangeSetResponse'-    { _ecsrsResponseStatus :: Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ecsrsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ExecuteChangeSetResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -126,12 +139,11 @@     :: Int -- ^ 'ecsrsResponseStatus'     -> ExecuteChangeSetResponse executeChangeSetResponse pResponseStatus_ =-    ExecuteChangeSetResponse'-    { _ecsrsResponseStatus = pResponseStatus_-    }+  ExecuteChangeSetResponse' {_ecsrsResponseStatus = pResponseStatus_} + -- | -- | The response status code. ecsrsResponseStatus :: Lens' ExecuteChangeSetResponse Int ecsrsResponseStatus = lens _ecsrsResponseStatus (\ s a -> s{_ecsrsResponseStatus = a}); -instance NFData ExecuteChangeSetResponse+instance NFData ExecuteChangeSetResponse where
gen/Network/AWS/CloudFormation/GetStackPolicy.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.CloudFormation.GetStackPolicy--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,12 +37,12 @@     , gsprsResponseStatus     ) where -import           Network.AWS.CloudFormation.Types-import           Network.AWS.CloudFormation.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | The input for the 'GetStackPolicy' action. --@@ -50,9 +50,10 @@ -- -- /See:/ 'getStackPolicy' smart constructor. newtype GetStackPolicy = GetStackPolicy'-    { _gspStackName :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gspStackName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetStackPolicy' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -61,11 +62,9 @@ getStackPolicy     :: Text -- ^ 'gspStackName'     -> GetStackPolicy-getStackPolicy pStackName_ =-    GetStackPolicy'-    { _gspStackName = pStackName_-    }+getStackPolicy pStackName_ = GetStackPolicy' {_gspStackName = pStackName_} + -- | The name or unique stack ID that is associated with the stack whose policy you want to get. gspStackName :: Lens' GetStackPolicy Text gspStackName = lens _gspStackName (\ s a -> s{_gspStackName = a});@@ -79,9 +78,9 @@                  GetStackPolicyResponse' <$>                    (x .@? "StackPolicyBody") <*> (pure (fromEnum s))) -instance Hashable GetStackPolicy+instance Hashable GetStackPolicy where -instance NFData GetStackPolicy+instance NFData GetStackPolicy where  instance ToHeaders GetStackPolicy where         toHeaders = const mempty@@ -102,10 +101,11 @@ -- -- /See:/ 'getStackPolicyResponse' smart constructor. data GetStackPolicyResponse = GetStackPolicyResponse'-    { _gsprsStackPolicyBody :: !(Maybe Text)-    , _gsprsResponseStatus  :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gsprsStackPolicyBody :: !(Maybe Text)+  , _gsprsResponseStatus  :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetStackPolicyResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -117,11 +117,10 @@     :: Int -- ^ 'gsprsResponseStatus'     -> GetStackPolicyResponse getStackPolicyResponse pResponseStatus_ =-    GetStackPolicyResponse'-    { _gsprsStackPolicyBody = Nothing-    , _gsprsResponseStatus = pResponseStatus_-    }+  GetStackPolicyResponse'+  {_gsprsStackPolicyBody = Nothing, _gsprsResponseStatus = pResponseStatus_} + -- | Structure containing the stack policy body. (For more information, go to <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html Prevent Updates to Stack Resources> in the AWS CloudFormation User Guide.) gsprsStackPolicyBody :: Lens' GetStackPolicyResponse (Maybe Text) gsprsStackPolicyBody = lens _gsprsStackPolicyBody (\ s a -> s{_gsprsStackPolicyBody = a});@@ -130,4 +129,4 @@ gsprsResponseStatus :: Lens' GetStackPolicyResponse Int gsprsResponseStatus = lens _gsprsResponseStatus (\ s a -> s{_gsprsResponseStatus = a}); -instance NFData GetStackPolicyResponse+instance NFData GetStackPolicyResponse where
gen/Network/AWS/CloudFormation/GetTemplate.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.CloudFormation.GetTemplate--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -42,12 +42,12 @@     , gtrsResponseStatus     ) where -import           Network.AWS.CloudFormation.Types-import           Network.AWS.CloudFormation.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | The input for a 'GetTemplate' action. --@@ -55,11 +55,12 @@ -- -- /See:/ 'getTemplate' smart constructor. data GetTemplate = GetTemplate'-    { _gtChangeSetName :: !(Maybe Text)-    , _gtTemplateStage :: !(Maybe TemplateStage)-    , _gtStackName     :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gtChangeSetName :: !(Maybe Text)+  , _gtTemplateStage :: !(Maybe TemplateStage)+  , _gtStackName     :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetTemplate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,12 +73,13 @@ getTemplate     :: GetTemplate getTemplate =-    GetTemplate'-    { _gtChangeSetName = Nothing-    , _gtTemplateStage = Nothing-    , _gtStackName = Nothing-    }+  GetTemplate'+  { _gtChangeSetName = Nothing+  , _gtTemplateStage = Nothing+  , _gtStackName = Nothing+  } + -- | The name or Amazon Resource Name (ARN) of a change set for which AWS CloudFormation returns the associated template. If you specify a name, you must also specify the @StackName@ . gtChangeSetName :: Lens' GetTemplate (Maybe Text) gtChangeSetName = lens _gtChangeSetName (\ s a -> s{_gtChangeSetName = a});@@ -102,9 +104,9 @@                      <*> (x .@? "TemplateBody")                      <*> (pure (fromEnum s))) -instance Hashable GetTemplate+instance Hashable GetTemplate where -instance NFData GetTemplate+instance NFData GetTemplate where  instance ToHeaders GetTemplate where         toHeaders = const mempty@@ -127,11 +129,12 @@ -- -- /See:/ 'getTemplateResponse' smart constructor. data GetTemplateResponse = GetTemplateResponse'-    { _gtrsStagesAvailable :: !(Maybe [TemplateStage])-    , _gtrsTemplateBody    :: !(Maybe Text)-    , _gtrsResponseStatus  :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gtrsStagesAvailable :: !(Maybe [TemplateStage])+  , _gtrsTemplateBody    :: !(Maybe Text)+  , _gtrsResponseStatus  :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetTemplateResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -145,12 +148,13 @@     :: Int -- ^ 'gtrsResponseStatus'     -> GetTemplateResponse getTemplateResponse pResponseStatus_ =-    GetTemplateResponse'-    { _gtrsStagesAvailable = Nothing-    , _gtrsTemplateBody = Nothing-    , _gtrsResponseStatus = pResponseStatus_-    }+  GetTemplateResponse'+  { _gtrsStagesAvailable = Nothing+  , _gtrsTemplateBody = Nothing+  , _gtrsResponseStatus = pResponseStatus_+  } + -- | The stage of the template that you can retrieve. For stacks, the @Original@ and @Processed@ templates are always available. For change sets, the @Original@ template is always available. After AWS CloudFormation finishes creating the change set, the @Processed@ template becomes available. gtrsStagesAvailable :: Lens' GetTemplateResponse [TemplateStage] gtrsStagesAvailable = lens _gtrsStagesAvailable (\ s a -> s{_gtrsStagesAvailable = a}) . _Default . _Coerce;@@ -163,4 +167,4 @@ gtrsResponseStatus :: Lens' GetTemplateResponse Int gtrsResponseStatus = lens _gtrsResponseStatus (\ s a -> s{_gtrsResponseStatus = a}); -instance NFData GetTemplateResponse+instance NFData GetTemplateResponse where
gen/Network/AWS/CloudFormation/GetTemplateSummary.hs view
@@ -12,16 +12,16 @@  -- | -- Module      : Network.AWS.CloudFormation.GetTemplateSummary--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Returns information about a new or existing template. The @GetTemplateSummary@ action is useful for viewing parameter information, such as default parameter values and parameter types, before you create or update a stack.+-- Returns information about a new or existing template. The @GetTemplateSummary@ action is useful for viewing parameter information, such as default parameter values and parameter types, before you create or update a stack or stack set. -- ----- You can use the @GetTemplateSummary@ action when you submit a template, or you can get template information for a running or deleted stack.+-- You can use the @GetTemplateSummary@ action when you submit a template, or you can get template information for a stack set, or a running or deleted stack. -- -- For deleted stacks, @GetTemplateSummary@ returns the template information for up to 90 days after the stack has been deleted. If the template does not exist, a @ValidationError@ is returned. --@@ -33,6 +33,7 @@     -- * Request Lenses     , gtsTemplateBody     , gtsTemplateURL+    , gtsStackSetName     , gtsStackName      -- * Destructuring the Response@@ -50,12 +51,12 @@     , gtsrsResponseStatus     ) where -import           Network.AWS.CloudFormation.Types-import           Network.AWS.CloudFormation.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | The input for the 'GetTemplateSummary' action. --@@ -63,38 +64,48 @@ -- -- /See:/ 'getTemplateSummary' smart constructor. data GetTemplateSummary = GetTemplateSummary'-    { _gtsTemplateBody :: !(Maybe Text)-    , _gtsTemplateURL  :: !(Maybe Text)-    , _gtsStackName    :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gtsTemplateBody :: !(Maybe Text)+  , _gtsTemplateURL  :: !(Maybe Text)+  , _gtsStackSetName :: !(Maybe Text)+  , _gtsStackName    :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetTemplateSummary' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'gtsTemplateBody' - Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information about templates, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html Template Anatomy> in the AWS CloudFormation User Guide. Conditional: You must specify only one of the following parameters: @StackName@ , @TemplateBody@ , or @TemplateURL@ .+-- * 'gtsTemplateBody' - Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information about templates, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html Template Anatomy> in the AWS CloudFormation User Guide. Conditional: You must specify only one of the following parameters: @StackName@ , @StackSetName@ , @TemplateBody@ , or @TemplateURL@ . ----- * 'gtsTemplateURL' - Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information about templates, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html Template Anatomy> in the AWS CloudFormation User Guide. Conditional: You must specify only one of the following parameters: @StackName@ , @TemplateBody@ , or @TemplateURL@ .+-- * 'gtsTemplateURL' - Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information about templates, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html Template Anatomy> in the AWS CloudFormation User Guide. Conditional: You must specify only one of the following parameters: @StackName@ , @StackSetName@ , @TemplateBody@ , or @TemplateURL@ . ----- * 'gtsStackName' - The name or the stack ID that is associated with the stack, which are not always interchangeable. For running stacks, you can specify either the stack's name or its unique stack ID. For deleted stack, you must specify the unique stack ID. Conditional: You must specify only one of the following parameters: @StackName@ , @TemplateBody@ , or @TemplateURL@ .+-- * 'gtsStackSetName' - The name or unique ID of the stack set from which the stack was created. Conditional: You must specify only one of the following parameters: @StackName@ , @StackSetName@ , @TemplateBody@ , or @TemplateURL@ .+--+-- * 'gtsStackName' - The name or the stack ID that is associated with the stack, which are not always interchangeable. For running stacks, you can specify either the stack's name or its unique stack ID. For deleted stack, you must specify the unique stack ID. Conditional: You must specify only one of the following parameters: @StackName@ , @StackSetName@ , @TemplateBody@ , or @TemplateURL@ . getTemplateSummary     :: GetTemplateSummary getTemplateSummary =-    GetTemplateSummary'-    { _gtsTemplateBody = Nothing-    , _gtsTemplateURL = Nothing-    , _gtsStackName = Nothing-    }+  GetTemplateSummary'+  { _gtsTemplateBody = Nothing+  , _gtsTemplateURL = Nothing+  , _gtsStackSetName = Nothing+  , _gtsStackName = Nothing+  } --- | Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information about templates, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html Template Anatomy> in the AWS CloudFormation User Guide. Conditional: You must specify only one of the following parameters: @StackName@ , @TemplateBody@ , or @TemplateURL@ .++-- | Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information about templates, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html Template Anatomy> in the AWS CloudFormation User Guide. Conditional: You must specify only one of the following parameters: @StackName@ , @StackSetName@ , @TemplateBody@ , or @TemplateURL@ . gtsTemplateBody :: Lens' GetTemplateSummary (Maybe Text) gtsTemplateBody = lens _gtsTemplateBody (\ s a -> s{_gtsTemplateBody = a}); --- | Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information about templates, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html Template Anatomy> in the AWS CloudFormation User Guide. Conditional: You must specify only one of the following parameters: @StackName@ , @TemplateBody@ , or @TemplateURL@ .+-- | Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information about templates, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html Template Anatomy> in the AWS CloudFormation User Guide. Conditional: You must specify only one of the following parameters: @StackName@ , @StackSetName@ , @TemplateBody@ , or @TemplateURL@ . gtsTemplateURL :: Lens' GetTemplateSummary (Maybe Text) gtsTemplateURL = lens _gtsTemplateURL (\ s a -> s{_gtsTemplateURL = a}); --- | The name or the stack ID that is associated with the stack, which are not always interchangeable. For running stacks, you can specify either the stack's name or its unique stack ID. For deleted stack, you must specify the unique stack ID. Conditional: You must specify only one of the following parameters: @StackName@ , @TemplateBody@ , or @TemplateURL@ .+-- | The name or unique ID of the stack set from which the stack was created. Conditional: You must specify only one of the following parameters: @StackName@ , @StackSetName@ , @TemplateBody@ , or @TemplateURL@ .+gtsStackSetName :: Lens' GetTemplateSummary (Maybe Text)+gtsStackSetName = lens _gtsStackSetName (\ s a -> s{_gtsStackSetName = a});++-- | The name or the stack ID that is associated with the stack, which are not always interchangeable. For running stacks, you can specify either the stack's name or its unique stack ID. For deleted stack, you must specify the unique stack ID. Conditional: You must specify only one of the following parameters: @StackName@ , @StackSetName@ , @TemplateBody@ , or @TemplateURL@ . gtsStackName :: Lens' GetTemplateSummary (Maybe Text) gtsStackName = lens _gtsStackName (\ s a -> s{_gtsStackName = a}); @@ -123,9 +134,9 @@                         may (parseXMLList "member"))                      <*> (pure (fromEnum s))) -instance Hashable GetTemplateSummary+instance Hashable GetTemplateSummary where -instance NFData GetTemplateSummary+instance NFData GetTemplateSummary where  instance ToHeaders GetTemplateSummary where         toHeaders = const mempty@@ -140,6 +151,7 @@                "Version" =: ("2010-05-15" :: ByteString),                "TemplateBody" =: _gtsTemplateBody,                "TemplateURL" =: _gtsTemplateURL,+               "StackSetName" =: _gtsStackSetName,                "StackName" =: _gtsStackName]  -- | The output for the 'GetTemplateSummary' action.@@ -148,17 +160,18 @@ -- -- /See:/ 'getTemplateSummaryResponse' smart constructor. data GetTemplateSummaryResponse = GetTemplateSummaryResponse'-    { _gtsrsDeclaredTransforms :: !(Maybe [Text])-    , _gtsrsVersion            :: !(Maybe Text)-    , _gtsrsCapabilitiesReason :: !(Maybe Text)-    , _gtsrsParameters         :: !(Maybe [ParameterDeclaration])-    , _gtsrsMetadata           :: !(Maybe Text)-    , _gtsrsDescription        :: !(Maybe Text)-    , _gtsrsCapabilities       :: !(Maybe [Capability])-    , _gtsrsResourceTypes      :: !(Maybe [Text])-    , _gtsrsResponseStatus     :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gtsrsDeclaredTransforms :: !(Maybe [Text])+  , _gtsrsVersion            :: !(Maybe Text)+  , _gtsrsCapabilitiesReason :: !(Maybe Text)+  , _gtsrsParameters         :: !(Maybe [ParameterDeclaration])+  , _gtsrsMetadata           :: !(Maybe Text)+  , _gtsrsDescription        :: !(Maybe Text)+  , _gtsrsCapabilities       :: !(Maybe [Capability])+  , _gtsrsResourceTypes      :: !(Maybe [Text])+  , _gtsrsResponseStatus     :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetTemplateSummaryResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -184,18 +197,19 @@     :: Int -- ^ 'gtsrsResponseStatus'     -> GetTemplateSummaryResponse getTemplateSummaryResponse pResponseStatus_ =-    GetTemplateSummaryResponse'-    { _gtsrsDeclaredTransforms = Nothing-    , _gtsrsVersion = Nothing-    , _gtsrsCapabilitiesReason = Nothing-    , _gtsrsParameters = Nothing-    , _gtsrsMetadata = Nothing-    , _gtsrsDescription = Nothing-    , _gtsrsCapabilities = Nothing-    , _gtsrsResourceTypes = Nothing-    , _gtsrsResponseStatus = pResponseStatus_-    }+  GetTemplateSummaryResponse'+  { _gtsrsDeclaredTransforms = Nothing+  , _gtsrsVersion = Nothing+  , _gtsrsCapabilitiesReason = Nothing+  , _gtsrsParameters = Nothing+  , _gtsrsMetadata = Nothing+  , _gtsrsDescription = Nothing+  , _gtsrsCapabilities = Nothing+  , _gtsrsResourceTypes = Nothing+  , _gtsrsResponseStatus = pResponseStatus_+  } + -- | A list of the transforms that are declared in the template. gtsrsDeclaredTransforms :: Lens' GetTemplateSummaryResponse [Text] gtsrsDeclaredTransforms = lens _gtsrsDeclaredTransforms (\ s a -> s{_gtsrsDeclaredTransforms = a}) . _Default . _Coerce;@@ -232,4 +246,4 @@ gtsrsResponseStatus :: Lens' GetTemplateSummaryResponse Int gtsrsResponseStatus = lens _gtsrsResponseStatus (\ s a -> s{_gtsrsResponseStatus = a}); -instance NFData GetTemplateSummaryResponse+instance NFData GetTemplateSummaryResponse where
gen/Network/AWS/CloudFormation/ListChangeSets.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.CloudFormation.ListChangeSets--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -39,12 +39,12 @@     , lcsrsResponseStatus     ) where -import           Network.AWS.CloudFormation.Types-import           Network.AWS.CloudFormation.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | The input for the 'ListChangeSets' action. --@@ -52,10 +52,11 @@ -- -- /See:/ 'listChangeSets' smart constructor. data ListChangeSets = ListChangeSets'-    { _lcsNextToken :: !(Maybe Text)-    , _lcsStackName :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lcsNextToken :: !(Maybe Text)+  , _lcsStackName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListChangeSets' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -67,11 +68,9 @@     :: Text -- ^ 'lcsStackName'     -> ListChangeSets listChangeSets pStackName_ =-    ListChangeSets'-    { _lcsNextToken = Nothing-    , _lcsStackName = pStackName_-    }+  ListChangeSets' {_lcsNextToken = Nothing, _lcsStackName = pStackName_} + -- | A string (provided by the 'ListChangeSets' response output) that identifies the next page of change sets that you want to retrieve. lcsNextToken :: Lens' ListChangeSets (Maybe Text) lcsNextToken = lens _lcsNextToken (\ s a -> s{_lcsNextToken = a});@@ -92,9 +91,9 @@                         may (parseXMLList "member"))                      <*> (pure (fromEnum s))) -instance Hashable ListChangeSets+instance Hashable ListChangeSets where -instance NFData ListChangeSets+instance NFData ListChangeSets where  instance ToHeaders ListChangeSets where         toHeaders = const mempty@@ -116,11 +115,12 @@ -- -- /See:/ 'listChangeSetsResponse' smart constructor. data ListChangeSetsResponse = ListChangeSetsResponse'-    { _lcsrsNextToken      :: !(Maybe Text)-    , _lcsrsSummaries      :: !(Maybe [ChangeSetSummary])-    , _lcsrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lcsrsNextToken      :: !(Maybe Text)+  , _lcsrsSummaries      :: !(Maybe [ChangeSetSummary])+  , _lcsrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListChangeSetsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -134,12 +134,13 @@     :: Int -- ^ 'lcsrsResponseStatus'     -> ListChangeSetsResponse listChangeSetsResponse pResponseStatus_ =-    ListChangeSetsResponse'-    { _lcsrsNextToken = Nothing-    , _lcsrsSummaries = Nothing-    , _lcsrsResponseStatus = pResponseStatus_-    }+  ListChangeSetsResponse'+  { _lcsrsNextToken = Nothing+  , _lcsrsSummaries = Nothing+  , _lcsrsResponseStatus = pResponseStatus_+  } + -- | If the output exceeds 1 MB, a string that identifies the next page of change sets. If there is no additional page, this value is null. lcsrsNextToken :: Lens' ListChangeSetsResponse (Maybe Text) lcsrsNextToken = lens _lcsrsNextToken (\ s a -> s{_lcsrsNextToken = a});@@ -152,4 +153,4 @@ lcsrsResponseStatus :: Lens' ListChangeSetsResponse Int lcsrsResponseStatus = lens _lcsrsResponseStatus (\ s a -> s{_lcsrsResponseStatus = a}); -instance NFData ListChangeSetsResponse+instance NFData ListChangeSetsResponse where
gen/Network/AWS/CloudFormation/ListExports.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.CloudFormation.ListExports--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -23,6 +23,8 @@ -- -- For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-exports.html AWS CloudFormation Export Stack Output Values> . --+--+-- This operation returns paginated results. module Network.AWS.CloudFormation.ListExports     (     -- * Creating a Request@@ -40,18 +42,20 @@     , lersResponseStatus     ) where -import           Network.AWS.CloudFormation.Types-import           Network.AWS.CloudFormation.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'listExports' smart constructor. newtype ListExports = ListExports'-    { _leNextToken :: Maybe Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _leNextToken :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListExports' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -59,15 +63,20 @@ -- * 'leNextToken' - A string (provided by the 'ListExports' response output) that identifies the next page of exported output values that you asked to retrieve. listExports     :: ListExports-listExports =-    ListExports'-    { _leNextToken = Nothing-    }+listExports = ListExports' {_leNextToken = Nothing} + -- | A string (provided by the 'ListExports' response output) that identifies the next page of exported output values that you asked to retrieve. leNextToken :: Lens' ListExports (Maybe Text) leNextToken = lens _leNextToken (\ s a -> s{_leNextToken = a}); +instance AWSPager ListExports where+        page rq rs+          | stop (rs ^. lersNextToken) = Nothing+          | stop (rs ^. lersExports) = Nothing+          | otherwise =+            Just $ rq & leNextToken .~ rs ^. lersNextToken+ instance AWSRequest ListExports where         type Rs ListExports = ListExportsResponse         request = postQuery cloudFormation@@ -80,9 +89,9 @@                         may (parseXMLList "member"))                      <*> (pure (fromEnum s))) -instance Hashable ListExports+instance Hashable ListExports where -instance NFData ListExports+instance NFData ListExports where  instance ToHeaders ListExports where         toHeaders = const mempty@@ -99,11 +108,12 @@  -- | /See:/ 'listExportsResponse' smart constructor. data ListExportsResponse = ListExportsResponse'-    { _lersNextToken      :: !(Maybe Text)-    , _lersExports        :: !(Maybe [Export])-    , _lersResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lersNextToken      :: !(Maybe Text)+  , _lersExports        :: !(Maybe [Export])+  , _lersResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListExportsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -117,12 +127,13 @@     :: Int -- ^ 'lersResponseStatus'     -> ListExportsResponse listExportsResponse pResponseStatus_ =-    ListExportsResponse'-    { _lersNextToken = Nothing-    , _lersExports = Nothing-    , _lersResponseStatus = pResponseStatus_-    }+  ListExportsResponse'+  { _lersNextToken = Nothing+  , _lersExports = Nothing+  , _lersResponseStatus = pResponseStatus_+  } + -- | If the output exceeds 100 exported output values, a string that identifies the next page of exports. If there is no additional page, this value is null. lersNextToken :: Lens' ListExportsResponse (Maybe Text) lersNextToken = lens _lersNextToken (\ s a -> s{_lersNextToken = a});@@ -135,4 +146,4 @@ lersResponseStatus :: Lens' ListExportsResponse Int lersResponseStatus = lens _lersResponseStatus (\ s a -> s{_lersResponseStatus = a}); -instance NFData ListExportsResponse+instance NFData ListExportsResponse where
gen/Network/AWS/CloudFormation/ListImports.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.CloudFormation.ListImports--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -23,6 +23,8 @@ -- -- For more information about importing an exported output value, see the <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-importvalue.html @Fn::ImportValue@ > function. --+--+-- This operation returns paginated results. module Network.AWS.CloudFormation.ListImports     (     -- * Creating a Request@@ -41,19 +43,21 @@     , lirsResponseStatus     ) where -import           Network.AWS.CloudFormation.Types-import           Network.AWS.CloudFormation.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'listImports' smart constructor. data ListImports = ListImports'-    { _liNextToken  :: !(Maybe Text)-    , _liExportName :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _liNextToken  :: !(Maybe Text)+  , _liExportName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListImports' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -65,11 +69,9 @@     :: Text -- ^ 'liExportName'     -> ListImports listImports pExportName_ =-    ListImports'-    { _liNextToken = Nothing-    , _liExportName = pExportName_-    }+  ListImports' {_liNextToken = Nothing, _liExportName = pExportName_} + -- | A string (provided by the 'ListImports' response output) that identifies the next page of stacks that are importing the specified exported output value. liNextToken :: Lens' ListImports (Maybe Text) liNextToken = lens _liNextToken (\ s a -> s{_liNextToken = a});@@ -78,6 +80,13 @@ liExportName :: Lens' ListImports Text liExportName = lens _liExportName (\ s a -> s{_liExportName = a}); +instance AWSPager ListImports where+        page rq rs+          | stop (rs ^. lirsNextToken) = Nothing+          | stop (rs ^. lirsImports) = Nothing+          | otherwise =+            Just $ rq & liNextToken .~ rs ^. lirsNextToken+ instance AWSRequest ListImports where         type Rs ListImports = ListImportsResponse         request = postQuery cloudFormation@@ -90,9 +99,9 @@                      <*> (x .@? "NextToken")                      <*> (pure (fromEnum s))) -instance Hashable ListImports+instance Hashable ListImports where -instance NFData ListImports+instance NFData ListImports where  instance ToHeaders ListImports where         toHeaders = const mempty@@ -110,11 +119,12 @@  -- | /See:/ 'listImportsResponse' smart constructor. data ListImportsResponse = ListImportsResponse'-    { _lirsImports        :: !(Maybe [Text])-    , _lirsNextToken      :: !(Maybe Text)-    , _lirsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lirsImports        :: !(Maybe [Text])+  , _lirsNextToken      :: !(Maybe Text)+  , _lirsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListImportsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -128,12 +138,13 @@     :: Int -- ^ 'lirsResponseStatus'     -> ListImportsResponse listImportsResponse pResponseStatus_ =-    ListImportsResponse'-    { _lirsImports = Nothing-    , _lirsNextToken = Nothing-    , _lirsResponseStatus = pResponseStatus_-    }+  ListImportsResponse'+  { _lirsImports = Nothing+  , _lirsNextToken = Nothing+  , _lirsResponseStatus = pResponseStatus_+  } + -- | A list of stack names that are importing the specified exported output value. lirsImports :: Lens' ListImportsResponse [Text] lirsImports = lens _lirsImports (\ s a -> s{_lirsImports = a}) . _Default . _Coerce;@@ -146,4 +157,4 @@ lirsResponseStatus :: Lens' ListImportsResponse Int lirsResponseStatus = lens _lirsResponseStatus (\ s a -> s{_lirsResponseStatus = a}); -instance NFData ListImportsResponse+instance NFData ListImportsResponse where
+ gen/Network/AWS/CloudFormation/ListStackInstances.hs view
@@ -0,0 +1,182 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CloudFormation.ListStackInstances+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns summary information about stack instances that are associated with the specified stack set. You can filter for stack instances that are associated with a specific AWS account name or region.+--+--+module Network.AWS.CloudFormation.ListStackInstances+    (+    -- * Creating a Request+      listStackInstances+    , ListStackInstances+    -- * Request Lenses+    , lsiStackInstanceRegion+    , lsiNextToken+    , lsiStackInstanceAccount+    , lsiMaxResults+    , lsiStackSetName++    -- * Destructuring the Response+    , listStackInstancesResponse+    , ListStackInstancesResponse+    -- * Response Lenses+    , lsirsNextToken+    , lsirsSummaries+    , lsirsResponseStatus+    ) where++import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'listStackInstances' smart constructor.+data ListStackInstances = ListStackInstances'+  { _lsiStackInstanceRegion  :: !(Maybe Text)+  , _lsiNextToken            :: !(Maybe Text)+  , _lsiStackInstanceAccount :: !(Maybe Text)+  , _lsiMaxResults           :: !(Maybe Nat)+  , _lsiStackSetName         :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListStackInstances' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lsiStackInstanceRegion' - The name of the region where you want to list stack instances.+--+-- * 'lsiNextToken' - If the previous request didn't return all of the remaining results, the response's @NextToken@ parameter value is set to a token. To retrieve the next set of results, call @ListStackInstances@ again and assign that token to the request object's @NextToken@ parameter. If there are no remaining results, the previous response object's @NextToken@ parameter is set to @null@ .+--+-- * 'lsiStackInstanceAccount' - The name of the AWS account that you want to list stack instances for.+--+-- * 'lsiMaxResults' - The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a @NextToken@ value that you can assign to the @NextToken@ request parameter to get the next set of results.+--+-- * 'lsiStackSetName' - The name or unique ID of the stack set that you want to list stack instances for.+listStackInstances+    :: Text -- ^ 'lsiStackSetName'+    -> ListStackInstances+listStackInstances pStackSetName_ =+  ListStackInstances'+  { _lsiStackInstanceRegion = Nothing+  , _lsiNextToken = Nothing+  , _lsiStackInstanceAccount = Nothing+  , _lsiMaxResults = Nothing+  , _lsiStackSetName = pStackSetName_+  }+++-- | The name of the region where you want to list stack instances.+lsiStackInstanceRegion :: Lens' ListStackInstances (Maybe Text)+lsiStackInstanceRegion = lens _lsiStackInstanceRegion (\ s a -> s{_lsiStackInstanceRegion = a});++-- | If the previous request didn't return all of the remaining results, the response's @NextToken@ parameter value is set to a token. To retrieve the next set of results, call @ListStackInstances@ again and assign that token to the request object's @NextToken@ parameter. If there are no remaining results, the previous response object's @NextToken@ parameter is set to @null@ .+lsiNextToken :: Lens' ListStackInstances (Maybe Text)+lsiNextToken = lens _lsiNextToken (\ s a -> s{_lsiNextToken = a});++-- | The name of the AWS account that you want to list stack instances for.+lsiStackInstanceAccount :: Lens' ListStackInstances (Maybe Text)+lsiStackInstanceAccount = lens _lsiStackInstanceAccount (\ s a -> s{_lsiStackInstanceAccount = a});++-- | The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a @NextToken@ value that you can assign to the @NextToken@ request parameter to get the next set of results.+lsiMaxResults :: Lens' ListStackInstances (Maybe Natural)+lsiMaxResults = lens _lsiMaxResults (\ s a -> s{_lsiMaxResults = a}) . mapping _Nat;++-- | The name or unique ID of the stack set that you want to list stack instances for.+lsiStackSetName :: Lens' ListStackInstances Text+lsiStackSetName = lens _lsiStackSetName (\ s a -> s{_lsiStackSetName = a});++instance AWSRequest ListStackInstances where+        type Rs ListStackInstances =+             ListStackInstancesResponse+        request = postQuery cloudFormation+        response+          = receiveXMLWrapper "ListStackInstancesResult"+              (\ s h x ->+                 ListStackInstancesResponse' <$>+                   (x .@? "NextToken") <*>+                     (x .@? "Summaries" .!@ mempty >>=+                        may (parseXMLList "member"))+                     <*> (pure (fromEnum s)))++instance Hashable ListStackInstances where++instance NFData ListStackInstances where++instance ToHeaders ListStackInstances where+        toHeaders = const mempty++instance ToPath ListStackInstances where+        toPath = const "/"++instance ToQuery ListStackInstances where+        toQuery ListStackInstances'{..}+          = mconcat+              ["Action" =: ("ListStackInstances" :: ByteString),+               "Version" =: ("2010-05-15" :: ByteString),+               "StackInstanceRegion" =: _lsiStackInstanceRegion,+               "NextToken" =: _lsiNextToken,+               "StackInstanceAccount" =: _lsiStackInstanceAccount,+               "MaxResults" =: _lsiMaxResults,+               "StackSetName" =: _lsiStackSetName]++-- | /See:/ 'listStackInstancesResponse' smart constructor.+data ListStackInstancesResponse = ListStackInstancesResponse'+  { _lsirsNextToken      :: !(Maybe Text)+  , _lsirsSummaries      :: !(Maybe [StackInstanceSummary])+  , _lsirsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListStackInstancesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lsirsNextToken' - If the request doesn't return all of the remaining results, @NextToken@ is set to a token. To retrieve the next set of results, call @ListStackInstances@ again and assign that token to the request object's @NextToken@ parameter. If the request returns all results, @NextToken@ is set to @null@ .+--+-- * 'lsirsSummaries' - A list of @StackInstanceSummary@ structures that contain information about the specified stack instances.+--+-- * 'lsirsResponseStatus' - -- | The response status code.+listStackInstancesResponse+    :: Int -- ^ 'lsirsResponseStatus'+    -> ListStackInstancesResponse+listStackInstancesResponse pResponseStatus_ =+  ListStackInstancesResponse'+  { _lsirsNextToken = Nothing+  , _lsirsSummaries = Nothing+  , _lsirsResponseStatus = pResponseStatus_+  }+++-- | If the request doesn't return all of the remaining results, @NextToken@ is set to a token. To retrieve the next set of results, call @ListStackInstances@ again and assign that token to the request object's @NextToken@ parameter. If the request returns all results, @NextToken@ is set to @null@ .+lsirsNextToken :: Lens' ListStackInstancesResponse (Maybe Text)+lsirsNextToken = lens _lsirsNextToken (\ s a -> s{_lsirsNextToken = a});++-- | A list of @StackInstanceSummary@ structures that contain information about the specified stack instances.+lsirsSummaries :: Lens' ListStackInstancesResponse [StackInstanceSummary]+lsirsSummaries = lens _lsirsSummaries (\ s a -> s{_lsirsSummaries = a}) . _Default . _Coerce;++-- | -- | The response status code.+lsirsResponseStatus :: Lens' ListStackInstancesResponse Int+lsirsResponseStatus = lens _lsirsResponseStatus (\ s a -> s{_lsirsResponseStatus = a});++instance NFData ListStackInstancesResponse where
gen/Network/AWS/CloudFormation/ListStackResources.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.CloudFormation.ListStackResources--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -43,13 +43,13 @@     , lsrrsResponseStatus     ) where -import           Network.AWS.CloudFormation.Types-import           Network.AWS.CloudFormation.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Pager-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | The input for the 'ListStackResource' action. --@@ -57,10 +57,11 @@ -- -- /See:/ 'listStackResources' smart constructor. data ListStackResources = ListStackResources'-    { _lsrNextToken :: !(Maybe Text)-    , _lsrStackName :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lsrNextToken :: !(Maybe Text)+  , _lsrStackName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListStackResources' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -72,11 +73,9 @@     :: Text -- ^ 'lsrStackName'     -> ListStackResources listStackResources pStackName_ =-    ListStackResources'-    { _lsrNextToken = Nothing-    , _lsrStackName = pStackName_-    }+  ListStackResources' {_lsrNextToken = Nothing, _lsrStackName = pStackName_} + -- | A string that identifies the next page of stack resources that you want to retrieve. lsrNextToken :: Lens' ListStackResources (Maybe Text) lsrNextToken = lens _lsrNextToken (\ s a -> s{_lsrNextToken = a});@@ -105,9 +104,9 @@                         may (parseXMLList "member"))                      <*> (pure (fromEnum s))) -instance Hashable ListStackResources+instance Hashable ListStackResources where -instance NFData ListStackResources+instance NFData ListStackResources where  instance ToHeaders ListStackResources where         toHeaders = const mempty@@ -129,11 +128,12 @@ -- -- /See:/ 'listStackResourcesResponse' smart constructor. data ListStackResourcesResponse = ListStackResourcesResponse'-    { _lsrrsNextToken              :: !(Maybe Text)-    , _lsrrsStackResourceSummaries :: !(Maybe [StackResourceSummary])-    , _lsrrsResponseStatus         :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lsrrsNextToken              :: !(Maybe Text)+  , _lsrrsStackResourceSummaries :: !(Maybe [StackResourceSummary])+  , _lsrrsResponseStatus         :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListStackResourcesResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -147,12 +147,13 @@     :: Int -- ^ 'lsrrsResponseStatus'     -> ListStackResourcesResponse listStackResourcesResponse pResponseStatus_ =-    ListStackResourcesResponse'-    { _lsrrsNextToken = Nothing-    , _lsrrsStackResourceSummaries = Nothing-    , _lsrrsResponseStatus = pResponseStatus_-    }+  ListStackResourcesResponse'+  { _lsrrsNextToken = Nothing+  , _lsrrsStackResourceSummaries = Nothing+  , _lsrrsResponseStatus = pResponseStatus_+  } + -- | If the output exceeds 1 MB, a string that identifies the next page of stack resources. If no additional page exists, this value is null. lsrrsNextToken :: Lens' ListStackResourcesResponse (Maybe Text) lsrrsNextToken = lens _lsrrsNextToken (\ s a -> s{_lsrrsNextToken = a});@@ -165,4 +166,4 @@ lsrrsResponseStatus :: Lens' ListStackResourcesResponse Int lsrrsResponseStatus = lens _lsrrsResponseStatus (\ s a -> s{_lsrrsResponseStatus = a}); -instance NFData ListStackResourcesResponse+instance NFData ListStackResourcesResponse where
+ gen/Network/AWS/CloudFormation/ListStackSetOperationResults.hs view
@@ -0,0 +1,177 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CloudFormation.ListStackSetOperationResults+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns summary information about the results of a stack set operation.+--+--+module Network.AWS.CloudFormation.ListStackSetOperationResults+    (+    -- * Creating a Request+      listStackSetOperationResults+    , ListStackSetOperationResults+    -- * Request Lenses+    , lssorNextToken+    , lssorMaxResults+    , lssorStackSetName+    , lssorOperationId++    -- * Destructuring the Response+    , listStackSetOperationResultsResponse+    , ListStackSetOperationResultsResponse+    -- * Response Lenses+    , lssorrsNextToken+    , lssorrsSummaries+    , lssorrsResponseStatus+    ) where++import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'listStackSetOperationResults' smart constructor.+data ListStackSetOperationResults = ListStackSetOperationResults'+  { _lssorNextToken    :: !(Maybe Text)+  , _lssorMaxResults   :: !(Maybe Nat)+  , _lssorStackSetName :: !Text+  , _lssorOperationId  :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListStackSetOperationResults' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lssorNextToken' - If the previous request didn't return all of the remaining results, the response object's @NextToken@ parameter value is set to a token. To retrieve the next set of results, call @ListStackSetOperationResults@ again and assign that token to the request object's @NextToken@ parameter. If there are no remaining results, the previous response object's @NextToken@ parameter is set to @null@ .+--+-- * 'lssorMaxResults' - The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a @NextToken@ value that you can assign to the @NextToken@ request parameter to get the next set of results.+--+-- * 'lssorStackSetName' - The name or unique ID of the stack set that you want to get operation results for.+--+-- * 'lssorOperationId' - The ID of the stack set operation.+listStackSetOperationResults+    :: Text -- ^ 'lssorStackSetName'+    -> Text -- ^ 'lssorOperationId'+    -> ListStackSetOperationResults+listStackSetOperationResults pStackSetName_ pOperationId_ =+  ListStackSetOperationResults'+  { _lssorNextToken = Nothing+  , _lssorMaxResults = Nothing+  , _lssorStackSetName = pStackSetName_+  , _lssorOperationId = pOperationId_+  }+++-- | If the previous request didn't return all of the remaining results, the response object's @NextToken@ parameter value is set to a token. To retrieve the next set of results, call @ListStackSetOperationResults@ again and assign that token to the request object's @NextToken@ parameter. If there are no remaining results, the previous response object's @NextToken@ parameter is set to @null@ .+lssorNextToken :: Lens' ListStackSetOperationResults (Maybe Text)+lssorNextToken = lens _lssorNextToken (\ s a -> s{_lssorNextToken = a});++-- | The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a @NextToken@ value that you can assign to the @NextToken@ request parameter to get the next set of results.+lssorMaxResults :: Lens' ListStackSetOperationResults (Maybe Natural)+lssorMaxResults = lens _lssorMaxResults (\ s a -> s{_lssorMaxResults = a}) . mapping _Nat;++-- | The name or unique ID of the stack set that you want to get operation results for.+lssorStackSetName :: Lens' ListStackSetOperationResults Text+lssorStackSetName = lens _lssorStackSetName (\ s a -> s{_lssorStackSetName = a});++-- | The ID of the stack set operation.+lssorOperationId :: Lens' ListStackSetOperationResults Text+lssorOperationId = lens _lssorOperationId (\ s a -> s{_lssorOperationId = a});++instance AWSRequest ListStackSetOperationResults+         where+        type Rs ListStackSetOperationResults =+             ListStackSetOperationResultsResponse+        request = postQuery cloudFormation+        response+          = receiveXMLWrapper+              "ListStackSetOperationResultsResult"+              (\ s h x ->+                 ListStackSetOperationResultsResponse' <$>+                   (x .@? "NextToken") <*>+                     (x .@? "Summaries" .!@ mempty >>=+                        may (parseXMLList "member"))+                     <*> (pure (fromEnum s)))++instance Hashable ListStackSetOperationResults where++instance NFData ListStackSetOperationResults where++instance ToHeaders ListStackSetOperationResults where+        toHeaders = const mempty++instance ToPath ListStackSetOperationResults where+        toPath = const "/"++instance ToQuery ListStackSetOperationResults where+        toQuery ListStackSetOperationResults'{..}+          = mconcat+              ["Action" =:+                 ("ListStackSetOperationResults" :: ByteString),+               "Version" =: ("2010-05-15" :: ByteString),+               "NextToken" =: _lssorNextToken,+               "MaxResults" =: _lssorMaxResults,+               "StackSetName" =: _lssorStackSetName,+               "OperationId" =: _lssorOperationId]++-- | /See:/ 'listStackSetOperationResultsResponse' smart constructor.+data ListStackSetOperationResultsResponse = ListStackSetOperationResultsResponse'+  { _lssorrsNextToken      :: !(Maybe Text)+  , _lssorrsSummaries      :: !(Maybe [StackSetOperationResultSummary])+  , _lssorrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListStackSetOperationResultsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lssorrsNextToken' - If the request doesn't return all results, @NextToken@ is set to a token. To retrieve the next set of results, call @ListOperationResults@ again and assign that token to the request object's @NextToken@ parameter. If there are no remaining results, @NextToken@ is set to @null@ .+--+-- * 'lssorrsSummaries' - A list of @StackSetOperationResultSummary@ structures that contain information about the specified operation results, for accounts and regions that are included in the operation.+--+-- * 'lssorrsResponseStatus' - -- | The response status code.+listStackSetOperationResultsResponse+    :: Int -- ^ 'lssorrsResponseStatus'+    -> ListStackSetOperationResultsResponse+listStackSetOperationResultsResponse pResponseStatus_ =+  ListStackSetOperationResultsResponse'+  { _lssorrsNextToken = Nothing+  , _lssorrsSummaries = Nothing+  , _lssorrsResponseStatus = pResponseStatus_+  }+++-- | If the request doesn't return all results, @NextToken@ is set to a token. To retrieve the next set of results, call @ListOperationResults@ again and assign that token to the request object's @NextToken@ parameter. If there are no remaining results, @NextToken@ is set to @null@ .+lssorrsNextToken :: Lens' ListStackSetOperationResultsResponse (Maybe Text)+lssorrsNextToken = lens _lssorrsNextToken (\ s a -> s{_lssorrsNextToken = a});++-- | A list of @StackSetOperationResultSummary@ structures that contain information about the specified operation results, for accounts and regions that are included in the operation.+lssorrsSummaries :: Lens' ListStackSetOperationResultsResponse [StackSetOperationResultSummary]+lssorrsSummaries = lens _lssorrsSummaries (\ s a -> s{_lssorrsSummaries = a}) . _Default . _Coerce;++-- | -- | The response status code.+lssorrsResponseStatus :: Lens' ListStackSetOperationResultsResponse Int+lssorrsResponseStatus = lens _lssorrsResponseStatus (\ s a -> s{_lssorrsResponseStatus = a});++instance NFData ListStackSetOperationResultsResponse+         where
+ gen/Network/AWS/CloudFormation/ListStackSetOperations.hs view
@@ -0,0 +1,163 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CloudFormation.ListStackSetOperations+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns summary information about operations performed on a stack set.+--+--+module Network.AWS.CloudFormation.ListStackSetOperations+    (+    -- * Creating a Request+      listStackSetOperations+    , ListStackSetOperations+    -- * Request Lenses+    , lssoNextToken+    , lssoMaxResults+    , lssoStackSetName++    -- * Destructuring the Response+    , listStackSetOperationsResponse+    , ListStackSetOperationsResponse+    -- * Response Lenses+    , lssorsNextToken+    , lssorsSummaries+    , lssorsResponseStatus+    ) where++import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'listStackSetOperations' smart constructor.+data ListStackSetOperations = ListStackSetOperations'+  { _lssoNextToken    :: !(Maybe Text)+  , _lssoMaxResults   :: !(Maybe Nat)+  , _lssoStackSetName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListStackSetOperations' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lssoNextToken' - If the previous paginated request didn't return all of the remaining results, the response object's @NextToken@ parameter value is set to a token. To retrieve the next set of results, call @ListStackSetOperations@ again and assign that token to the request object's @NextToken@ parameter. If there are no remaining results, the previous response object's @NextToken@ parameter is set to @null@ .+--+-- * 'lssoMaxResults' - The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a @NextToken@ value that you can assign to the @NextToken@ request parameter to get the next set of results.+--+-- * 'lssoStackSetName' - The name or unique ID of the stack set that you want to get operation summaries for.+listStackSetOperations+    :: Text -- ^ 'lssoStackSetName'+    -> ListStackSetOperations+listStackSetOperations pStackSetName_ =+  ListStackSetOperations'+  { _lssoNextToken = Nothing+  , _lssoMaxResults = Nothing+  , _lssoStackSetName = pStackSetName_+  }+++-- | If the previous paginated request didn't return all of the remaining results, the response object's @NextToken@ parameter value is set to a token. To retrieve the next set of results, call @ListStackSetOperations@ again and assign that token to the request object's @NextToken@ parameter. If there are no remaining results, the previous response object's @NextToken@ parameter is set to @null@ .+lssoNextToken :: Lens' ListStackSetOperations (Maybe Text)+lssoNextToken = lens _lssoNextToken (\ s a -> s{_lssoNextToken = a});++-- | The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a @NextToken@ value that you can assign to the @NextToken@ request parameter to get the next set of results.+lssoMaxResults :: Lens' ListStackSetOperations (Maybe Natural)+lssoMaxResults = lens _lssoMaxResults (\ s a -> s{_lssoMaxResults = a}) . mapping _Nat;++-- | The name or unique ID of the stack set that you want to get operation summaries for.+lssoStackSetName :: Lens' ListStackSetOperations Text+lssoStackSetName = lens _lssoStackSetName (\ s a -> s{_lssoStackSetName = a});++instance AWSRequest ListStackSetOperations where+        type Rs ListStackSetOperations =+             ListStackSetOperationsResponse+        request = postQuery cloudFormation+        response+          = receiveXMLWrapper "ListStackSetOperationsResult"+              (\ s h x ->+                 ListStackSetOperationsResponse' <$>+                   (x .@? "NextToken") <*>+                     (x .@? "Summaries" .!@ mempty >>=+                        may (parseXMLList "member"))+                     <*> (pure (fromEnum s)))++instance Hashable ListStackSetOperations where++instance NFData ListStackSetOperations where++instance ToHeaders ListStackSetOperations where+        toHeaders = const mempty++instance ToPath ListStackSetOperations where+        toPath = const "/"++instance ToQuery ListStackSetOperations where+        toQuery ListStackSetOperations'{..}+          = mconcat+              ["Action" =:+                 ("ListStackSetOperations" :: ByteString),+               "Version" =: ("2010-05-15" :: ByteString),+               "NextToken" =: _lssoNextToken,+               "MaxResults" =: _lssoMaxResults,+               "StackSetName" =: _lssoStackSetName]++-- | /See:/ 'listStackSetOperationsResponse' smart constructor.+data ListStackSetOperationsResponse = ListStackSetOperationsResponse'+  { _lssorsNextToken      :: !(Maybe Text)+  , _lssorsSummaries      :: !(Maybe [StackSetOperationSummary])+  , _lssorsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListStackSetOperationsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lssorsNextToken' - If the request doesn't return all results, @NextToken@ is set to a token. To retrieve the next set of results, call @ListOperationResults@ again and assign that token to the request object's @NextToken@ parameter. If there are no remaining results, @NextToken@ is set to @null@ .+--+-- * 'lssorsSummaries' - A list of @StackSetOperationSummary@ structures that contain summary information about operations for the specified stack set.+--+-- * 'lssorsResponseStatus' - -- | The response status code.+listStackSetOperationsResponse+    :: Int -- ^ 'lssorsResponseStatus'+    -> ListStackSetOperationsResponse+listStackSetOperationsResponse pResponseStatus_ =+  ListStackSetOperationsResponse'+  { _lssorsNextToken = Nothing+  , _lssorsSummaries = Nothing+  , _lssorsResponseStatus = pResponseStatus_+  }+++-- | If the request doesn't return all results, @NextToken@ is set to a token. To retrieve the next set of results, call @ListOperationResults@ again and assign that token to the request object's @NextToken@ parameter. If there are no remaining results, @NextToken@ is set to @null@ .+lssorsNextToken :: Lens' ListStackSetOperationsResponse (Maybe Text)+lssorsNextToken = lens _lssorsNextToken (\ s a -> s{_lssorsNextToken = a});++-- | A list of @StackSetOperationSummary@ structures that contain summary information about operations for the specified stack set.+lssorsSummaries :: Lens' ListStackSetOperationsResponse [StackSetOperationSummary]+lssorsSummaries = lens _lssorsSummaries (\ s a -> s{_lssorsSummaries = a}) . _Default . _Coerce;++-- | -- | The response status code.+lssorsResponseStatus :: Lens' ListStackSetOperationsResponse Int+lssorsResponseStatus = lens _lssorsResponseStatus (\ s a -> s{_lssorsResponseStatus = a});++instance NFData ListStackSetOperationsResponse where
+ gen/Network/AWS/CloudFormation/ListStackSets.hs view
@@ -0,0 +1,156 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CloudFormation.ListStackSets+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns summary information about stack sets that are associated with the user.+--+--+module Network.AWS.CloudFormation.ListStackSets+    (+    -- * Creating a Request+      listStackSets+    , ListStackSets+    -- * Request Lenses+    , lssStatus+    , lssNextToken+    , lssMaxResults++    -- * Destructuring the Response+    , listStackSetsResponse+    , ListStackSetsResponse+    -- * Response Lenses+    , lssrsNextToken+    , lssrsSummaries+    , lssrsResponseStatus+    ) where++import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'listStackSets' smart constructor.+data ListStackSets = ListStackSets'+  { _lssStatus     :: !(Maybe StackSetStatus)+  , _lssNextToken  :: !(Maybe Text)+  , _lssMaxResults :: !(Maybe Nat)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListStackSets' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lssStatus' - The status of the stack sets that you want to get summary information about.+--+-- * 'lssNextToken' - If the previous paginated request didn't return all of the remaining results, the response object's @NextToken@ parameter value is set to a token. To retrieve the next set of results, call @ListStackSets@ again and assign that token to the request object's @NextToken@ parameter. If there are no remaining results, the previous response object's @NextToken@ parameter is set to @null@ .+--+-- * 'lssMaxResults' - The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a @NextToken@ value that you can assign to the @NextToken@ request parameter to get the next set of results.+listStackSets+    :: ListStackSets+listStackSets =+  ListStackSets'+  {_lssStatus = Nothing, _lssNextToken = Nothing, _lssMaxResults = Nothing}+++-- | The status of the stack sets that you want to get summary information about.+lssStatus :: Lens' ListStackSets (Maybe StackSetStatus)+lssStatus = lens _lssStatus (\ s a -> s{_lssStatus = a});++-- | If the previous paginated request didn't return all of the remaining results, the response object's @NextToken@ parameter value is set to a token. To retrieve the next set of results, call @ListStackSets@ again and assign that token to the request object's @NextToken@ parameter. If there are no remaining results, the previous response object's @NextToken@ parameter is set to @null@ .+lssNextToken :: Lens' ListStackSets (Maybe Text)+lssNextToken = lens _lssNextToken (\ s a -> s{_lssNextToken = a});++-- | The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a @NextToken@ value that you can assign to the @NextToken@ request parameter to get the next set of results.+lssMaxResults :: Lens' ListStackSets (Maybe Natural)+lssMaxResults = lens _lssMaxResults (\ s a -> s{_lssMaxResults = a}) . mapping _Nat;++instance AWSRequest ListStackSets where+        type Rs ListStackSets = ListStackSetsResponse+        request = postQuery cloudFormation+        response+          = receiveXMLWrapper "ListStackSetsResult"+              (\ s h x ->+                 ListStackSetsResponse' <$>+                   (x .@? "NextToken") <*>+                     (x .@? "Summaries" .!@ mempty >>=+                        may (parseXMLList "member"))+                     <*> (pure (fromEnum s)))++instance Hashable ListStackSets where++instance NFData ListStackSets where++instance ToHeaders ListStackSets where+        toHeaders = const mempty++instance ToPath ListStackSets where+        toPath = const "/"++instance ToQuery ListStackSets where+        toQuery ListStackSets'{..}+          = mconcat+              ["Action" =: ("ListStackSets" :: ByteString),+               "Version" =: ("2010-05-15" :: ByteString),+               "Status" =: _lssStatus, "NextToken" =: _lssNextToken,+               "MaxResults" =: _lssMaxResults]++-- | /See:/ 'listStackSetsResponse' smart constructor.+data ListStackSetsResponse = ListStackSetsResponse'+  { _lssrsNextToken      :: !(Maybe Text)+  , _lssrsSummaries      :: !(Maybe [StackSetSummary])+  , _lssrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ListStackSetsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lssrsNextToken' - If the request doesn't return all of the remaining results, @NextToken@ is set to a token. To retrieve the next set of results, call @ListStackInstances@ again and assign that token to the request object's @NextToken@ parameter. If the request returns all results, @NextToken@ is set to @null@ .+--+-- * 'lssrsSummaries' - A list of @StackSetSummary@ structures that contain information about the user's stack sets.+--+-- * 'lssrsResponseStatus' - -- | The response status code.+listStackSetsResponse+    :: Int -- ^ 'lssrsResponseStatus'+    -> ListStackSetsResponse+listStackSetsResponse pResponseStatus_ =+  ListStackSetsResponse'+  { _lssrsNextToken = Nothing+  , _lssrsSummaries = Nothing+  , _lssrsResponseStatus = pResponseStatus_+  }+++-- | If the request doesn't return all of the remaining results, @NextToken@ is set to a token. To retrieve the next set of results, call @ListStackInstances@ again and assign that token to the request object's @NextToken@ parameter. If the request returns all results, @NextToken@ is set to @null@ .+lssrsNextToken :: Lens' ListStackSetsResponse (Maybe Text)+lssrsNextToken = lens _lssrsNextToken (\ s a -> s{_lssrsNextToken = a});++-- | A list of @StackSetSummary@ structures that contain information about the user's stack sets.+lssrsSummaries :: Lens' ListStackSetsResponse [StackSetSummary]+lssrsSummaries = lens _lssrsSummaries (\ s a -> s{_lssrsSummaries = a}) . _Default . _Coerce;++-- | -- | The response status code.+lssrsResponseStatus :: Lens' ListStackSetsResponse Int+lssrsResponseStatus = lens _lssrsResponseStatus (\ s a -> s{_lssrsResponseStatus = a});++instance NFData ListStackSetsResponse where
gen/Network/AWS/CloudFormation/ListStacks.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.CloudFormation.ListStacks--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -41,13 +41,13 @@     , lsrsResponseStatus     ) where -import           Network.AWS.CloudFormation.Types-import           Network.AWS.CloudFormation.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Pager-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | The input for 'ListStacks' action. --@@ -55,10 +55,11 @@ -- -- /See:/ 'listStacks' smart constructor. data ListStacks = ListStacks'-    { _lsNextToken         :: !(Maybe Text)-    , _lsStackStatusFilter :: !(Maybe [StackStatus])-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lsNextToken         :: !(Maybe Text)+  , _lsStackStatusFilter :: !(Maybe [StackStatus])+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListStacks' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -69,11 +70,9 @@ listStacks     :: ListStacks listStacks =-    ListStacks'-    { _lsNextToken = Nothing-    , _lsStackStatusFilter = Nothing-    }+  ListStacks' {_lsNextToken = Nothing, _lsStackStatusFilter = Nothing} + -- | A string that identifies the next page of stacks that you want to retrieve. lsNextToken :: Lens' ListStacks (Maybe Text) lsNextToken = lens _lsNextToken (\ s a -> s{_lsNextToken = a});@@ -101,9 +100,9 @@                         may (parseXMLList "member"))                      <*> (pure (fromEnum s))) -instance Hashable ListStacks+instance Hashable ListStacks where -instance NFData ListStacks+instance NFData ListStacks where  instance ToHeaders ListStacks where         toHeaders = const mempty@@ -127,11 +126,12 @@ -- -- /See:/ 'listStacksResponse' smart constructor. data ListStacksResponse = ListStacksResponse'-    { _lsrsNextToken      :: !(Maybe Text)-    , _lsrsStackSummaries :: !(Maybe [StackSummary])-    , _lsrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _lsrsNextToken      :: !(Maybe Text)+  , _lsrsStackSummaries :: !(Maybe [StackSummary])+  , _lsrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ListStacksResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -145,12 +145,13 @@     :: Int -- ^ 'lsrsResponseStatus'     -> ListStacksResponse listStacksResponse pResponseStatus_ =-    ListStacksResponse'-    { _lsrsNextToken = Nothing-    , _lsrsStackSummaries = Nothing-    , _lsrsResponseStatus = pResponseStatus_-    }+  ListStacksResponse'+  { _lsrsNextToken = Nothing+  , _lsrsStackSummaries = Nothing+  , _lsrsResponseStatus = pResponseStatus_+  } + -- | If the output exceeds 1 MB in size, a string that identifies the next page of stacks. If no additional page exists, this value is null. lsrsNextToken :: Lens' ListStacksResponse (Maybe Text) lsrsNextToken = lens _lsrsNextToken (\ s a -> s{_lsrsNextToken = a});@@ -163,4 +164,4 @@ lsrsResponseStatus :: Lens' ListStacksResponse Int lsrsResponseStatus = lens _lsrsResponseStatus (\ s a -> s{_lsrsResponseStatus = a}); -instance NFData ListStacksResponse+instance NFData ListStacksResponse where
gen/Network/AWS/CloudFormation/SetStackPolicy.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.CloudFormation.SetStackPolicy--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -36,12 +36,12 @@     , SetStackPolicyResponse     ) where -import           Network.AWS.CloudFormation.Types-import           Network.AWS.CloudFormation.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | The input for the 'SetStackPolicy' action. --@@ -49,11 +49,12 @@ -- -- /See:/ 'setStackPolicy' smart constructor. data SetStackPolicy = SetStackPolicy'-    { _sspStackPolicyBody :: !(Maybe Text)-    , _sspStackPolicyURL  :: !(Maybe Text)-    , _sspStackName       :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _sspStackPolicyBody :: !(Maybe Text)+  , _sspStackPolicyURL  :: !(Maybe Text)+  , _sspStackName       :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'SetStackPolicy' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -67,12 +68,13 @@     :: Text -- ^ 'sspStackName'     -> SetStackPolicy setStackPolicy pStackName_ =-    SetStackPolicy'-    { _sspStackPolicyBody = Nothing-    , _sspStackPolicyURL = Nothing-    , _sspStackName = pStackName_-    }+  SetStackPolicy'+  { _sspStackPolicyBody = Nothing+  , _sspStackPolicyURL = Nothing+  , _sspStackName = pStackName_+  } + -- | Structure containing the stack policy body. For more information, go to <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html Prevent Updates to Stack Resources> in the AWS CloudFormation User Guide. You can specify either the @StackPolicyBody@ or the @StackPolicyURL@ parameter, but not both. sspStackPolicyBody :: Lens' SetStackPolicy (Maybe Text) sspStackPolicyBody = lens _sspStackPolicyBody (\ s a -> s{_sspStackPolicyBody = a});@@ -90,9 +92,9 @@         request = postQuery cloudFormation         response = receiveNull SetStackPolicyResponse' -instance Hashable SetStackPolicy+instance Hashable SetStackPolicy where -instance NFData SetStackPolicy+instance NFData SetStackPolicy where  instance ToHeaders SetStackPolicy where         toHeaders = const mempty@@ -111,13 +113,15 @@  -- | /See:/ 'setStackPolicyResponse' smart constructor. data SetStackPolicyResponse =-    SetStackPolicyResponse'-    deriving (Eq,Read,Show,Data,Typeable,Generic)+  SetStackPolicyResponse'+  deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'SetStackPolicyResponse' with the minimum fields required to make a request. -- setStackPolicyResponse     :: SetStackPolicyResponse setStackPolicyResponse = SetStackPolicyResponse' -instance NFData SetStackPolicyResponse++instance NFData SetStackPolicyResponse where
gen/Network/AWS/CloudFormation/SignalResource.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.CloudFormation.SignalResource--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,12 +37,12 @@     , SignalResourceResponse     ) where -import           Network.AWS.CloudFormation.Types-import           Network.AWS.CloudFormation.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | The input for the 'SignalResource' action. --@@ -50,12 +50,13 @@ -- -- /See:/ 'signalResource' smart constructor. data SignalResource = SignalResource'-    { _sigStackName         :: !Text-    , _sigLogicalResourceId :: !Text-    , _sigUniqueId          :: !Text-    , _sigStatus            :: !ResourceSignalStatus-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _sigStackName         :: !Text+  , _sigLogicalResourceId :: !Text+  , _sigUniqueId          :: !Text+  , _sigStatus            :: !ResourceSignalStatus+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'SignalResource' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -74,13 +75,14 @@     -> ResourceSignalStatus -- ^ 'sigStatus'     -> SignalResource signalResource pStackName_ pLogicalResourceId_ pUniqueId_ pStatus_ =-    SignalResource'-    { _sigStackName = pStackName_-    , _sigLogicalResourceId = pLogicalResourceId_-    , _sigUniqueId = pUniqueId_-    , _sigStatus = pStatus_-    }+  SignalResource'+  { _sigStackName = pStackName_+  , _sigLogicalResourceId = pLogicalResourceId_+  , _sigUniqueId = pUniqueId_+  , _sigStatus = pStatus_+  } + -- | The stack name or unique stack ID that includes the resource that you want to signal. sigStackName :: Lens' SignalResource Text sigStackName = lens _sigStackName (\ s a -> s{_sigStackName = a});@@ -102,9 +104,9 @@         request = postQuery cloudFormation         response = receiveNull SignalResourceResponse' -instance Hashable SignalResource+instance Hashable SignalResource where -instance NFData SignalResource+instance NFData SignalResource where  instance ToHeaders SignalResource where         toHeaders = const mempty@@ -123,13 +125,15 @@  -- | /See:/ 'signalResourceResponse' smart constructor. data SignalResourceResponse =-    SignalResourceResponse'-    deriving (Eq,Read,Show,Data,Typeable,Generic)+  SignalResourceResponse'+  deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'SignalResourceResponse' with the minimum fields required to make a request. -- signalResourceResponse     :: SignalResourceResponse signalResourceResponse = SignalResourceResponse' -instance NFData SignalResourceResponse++instance NFData SignalResourceResponse where
+ gen/Network/AWS/CloudFormation/StopStackSetOperation.hs view
@@ -0,0 +1,128 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CloudFormation.StopStackSetOperation+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Stops an in-progress operation on a stack set and its associated stack instances.+--+--+module Network.AWS.CloudFormation.StopStackSetOperation+    (+    -- * Creating a Request+      stopStackSetOperation+    , StopStackSetOperation+    -- * Request Lenses+    , sssoStackSetName+    , sssoOperationId++    -- * Destructuring the Response+    , stopStackSetOperationResponse+    , StopStackSetOperationResponse+    -- * Response Lenses+    , sssorsResponseStatus+    ) where++import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'stopStackSetOperation' smart constructor.+data StopStackSetOperation = StopStackSetOperation'+  { _sssoStackSetName :: !Text+  , _sssoOperationId  :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StopStackSetOperation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sssoStackSetName' - The name or unique ID of the stack set that you want to stop the operation for.+--+-- * 'sssoOperationId' - The ID of the stack operation.+stopStackSetOperation+    :: Text -- ^ 'sssoStackSetName'+    -> Text -- ^ 'sssoOperationId'+    -> StopStackSetOperation+stopStackSetOperation pStackSetName_ pOperationId_ =+  StopStackSetOperation'+  {_sssoStackSetName = pStackSetName_, _sssoOperationId = pOperationId_}+++-- | The name or unique ID of the stack set that you want to stop the operation for.+sssoStackSetName :: Lens' StopStackSetOperation Text+sssoStackSetName = lens _sssoStackSetName (\ s a -> s{_sssoStackSetName = a});++-- | The ID of the stack operation.+sssoOperationId :: Lens' StopStackSetOperation Text+sssoOperationId = lens _sssoOperationId (\ s a -> s{_sssoOperationId = a});++instance AWSRequest StopStackSetOperation where+        type Rs StopStackSetOperation =+             StopStackSetOperationResponse+        request = postQuery cloudFormation+        response+          = receiveXMLWrapper "StopStackSetOperationResult"+              (\ s h x ->+                 StopStackSetOperationResponse' <$>+                   (pure (fromEnum s)))++instance Hashable StopStackSetOperation where++instance NFData StopStackSetOperation where++instance ToHeaders StopStackSetOperation where+        toHeaders = const mempty++instance ToPath StopStackSetOperation where+        toPath = const "/"++instance ToQuery StopStackSetOperation where+        toQuery StopStackSetOperation'{..}+          = mconcat+              ["Action" =: ("StopStackSetOperation" :: ByteString),+               "Version" =: ("2010-05-15" :: ByteString),+               "StackSetName" =: _sssoStackSetName,+               "OperationId" =: _sssoOperationId]++-- | /See:/ 'stopStackSetOperationResponse' smart constructor.+newtype StopStackSetOperationResponse = StopStackSetOperationResponse'+  { _sssorsResponseStatus :: Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StopStackSetOperationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sssorsResponseStatus' - -- | The response status code.+stopStackSetOperationResponse+    :: Int -- ^ 'sssorsResponseStatus'+    -> StopStackSetOperationResponse+stopStackSetOperationResponse pResponseStatus_ =+  StopStackSetOperationResponse' {_sssorsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+sssorsResponseStatus :: Lens' StopStackSetOperationResponse Int+sssorsResponseStatus = lens _sssorsResponseStatus (\ s a -> s{_sssorsResponseStatus = a});++instance NFData StopStackSetOperationResponse where
gen/Network/AWS/CloudFormation/Types.hs view
@@ -4,9 +4,9 @@  -- | -- Module      : Network.AWS.CloudFormation.Types--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -16,12 +16,26 @@       cloudFormation      -- * Errors+    , _CreatedButModifiedException     , _ChangeSetNotFoundException+    , _OperationInProgressException     , _InvalidChangeSetStatusException+    , _OperationNotFoundException+    , _OperationIdAlreadyExistsException     , _InsufficientCapabilitiesException+    , _TokenAlreadyExistsException+    , _StackSetNotFoundException+    , _StackInstanceNotFoundException+    , _StackSetNotEmptyException+    , _InvalidOperationException+    , _NameAlreadyExistsException+    , _StaleRequestException     , _AlreadyExistsException     , _LimitExceededException +    -- * AccountGateStatus+    , AccountGateStatus (..)+     -- * Capability     , Capability (..) @@ -64,12 +78,33 @@     -- * ResourceStatus     , ResourceStatus (..) +    -- * StackInstanceStatus+    , StackInstanceStatus (..)++    -- * StackSetOperationAction+    , StackSetOperationAction (..)++    -- * StackSetOperationResultStatus+    , StackSetOperationResultStatus (..)++    -- * StackSetOperationStatus+    , StackSetOperationStatus (..)++    -- * StackSetStatus+    , StackSetStatus (..)+     -- * StackStatus     , StackStatus (..)      -- * TemplateStage     , TemplateStage (..) +    -- * AccountGateResult+    , AccountGateResult+    , accountGateResult+    , agrStatus+    , agrStatusReason+     -- * AccountLimit     , AccountLimit     , accountLimit@@ -85,15 +120,15 @@     -- * ChangeSetSummary     , ChangeSetSummary     , changeSetSummary-    , cssCreationTime-    , cssStatus-    , cssChangeSetName-    , cssExecutionStatus-    , cssChangeSetId-    , cssStatusReason-    , cssStackId-    , cssDescription-    , cssStackName+    , cCreationTime+    , cStatus+    , cChangeSetName+    , cExecutionStatus+    , cChangeSetId+    , cStatusReason+    , cStackId+    , cDescription+    , cStackName      -- * Export     , Export@@ -107,6 +142,7 @@     , output     , oOutputValue     , oOutputKey+    , oExportName     , oDescription      -- * Parameter@@ -157,21 +193,38 @@     , rtdRequiresRecreation     , rtdName +    -- * RollbackConfiguration+    , RollbackConfiguration+    , rollbackConfiguration+    , rcRollbackTriggers+    , rcMonitoringTimeInMinutes++    -- * RollbackTrigger+    , RollbackTrigger+    , rollbackTrigger+    , rtARN+    , rtType+     -- * Stack     , Stack     , stack     , sDisableRollback     , sLastUpdatedTime+    , sRootId     , sNotificationARNs     , sStackStatusReason+    , sEnableTerminationProtection     , sChangeSetId+    , sDeletionTime     , sOutputs     , sParameters     , sStackId     , sDescription     , sCapabilities+    , sRollbackConfiguration     , sTags     , sTimeoutInMinutes+    , sParentId     , sRoleARN     , sStackName     , sCreationTime@@ -186,11 +239,32 @@     , seResourceStatusReason     , seResourceProperties     , seResourceStatus+    , seClientRequestToken     , seStackId     , seEventId     , seStackName     , seTimestamp +    -- * StackInstance+    , StackInstance+    , stackInstance+    , siStatus+    , siAccount+    , siRegion+    , siStatusReason+    , siStackId+    , siStackSetId++    -- * StackInstanceSummary+    , StackInstanceSummary+    , stackInstanceSummary+    , sisStatus+    , sisAccount+    , sisRegion+    , sisStatusReason+    , sisStackId+    , sisStackSetId+     -- * StackResource     , StackResource     , stackResource@@ -228,14 +302,75 @@     , srsLastUpdatedTimestamp     , srsResourceStatus +    -- * StackSet+    , StackSet+    , stackSet+    , ssStatus+    , ssParameters+    , ssTemplateBody+    , ssStackSetName+    , ssDescription+    , ssCapabilities+    , ssTags+    , ssStackSetId++    -- * StackSetOperation+    , StackSetOperation+    , stackSetOperation+    , ssoStatus+    , ssoAction+    , ssoEndTimestamp+    , ssoCreationTimestamp+    , ssoOperationPreferences+    , ssoOperationId+    , ssoRetainStacks+    , ssoStackSetId++    -- * StackSetOperationPreferences+    , StackSetOperationPreferences+    , stackSetOperationPreferences+    , ssopRegionOrder+    , ssopMaxConcurrentCount+    , ssopMaxConcurrentPercentage+    , ssopFailureToleranceCount+    , ssopFailureTolerancePercentage++    -- * StackSetOperationResultSummary+    , StackSetOperationResultSummary+    , stackSetOperationResultSummary+    , ssorsStatus+    , ssorsAccount+    , ssorsAccountGateResult+    , ssorsRegion+    , ssorsStatusReason++    -- * StackSetOperationSummary+    , StackSetOperationSummary+    , stackSetOperationSummary+    , ssosStatus+    , ssosAction+    , ssosEndTimestamp+    , ssosCreationTimestamp+    , ssosOperationId++    -- * StackSetSummary+    , StackSetSummary+    , stackSetSummary+    , sssStatus+    , sssStackSetName+    , sssDescription+    , sssStackSetId+     -- * StackSummary     , StackSummary     , stackSummary     , ssLastUpdatedTime+    , ssRootId     , ssStackStatusReason     , ssTemplateDescription     , ssDeletionTime     , ssStackId+    , ssParentId     , ssStackName     , ssCreationTime     , ssStackStatus@@ -243,8 +378,8 @@     -- * Tag     , Tag     , tag-    , tagValue     , tagKey+    , tagValue      -- * TemplateParameter     , TemplateParameter@@ -255,38 +390,40 @@     , tpDescription     ) where -import           Network.AWS.CloudFormation.Types.Product-import           Network.AWS.CloudFormation.Types.Sum-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Sign.V4+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.CloudFormation.Types.Sum+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Sign.V4  -- | API version @2010-05-15@ of the Amazon CloudFormation SDK configuration. cloudFormation :: Service cloudFormation =-    Service-    { _svcAbbrev = "CloudFormation"-    , _svcSigner = v4-    , _svcPrefix = "cloudformation"-    , _svcVersion = "2010-05-15"-    , _svcEndpoint = defaultEndpoint cloudFormation-    , _svcTimeout = Just 70-    , _svcCheck = statusSuccess-    , _svcError = parseXMLError "CloudFormation"-    , _svcRetry = retry-    }+  Service+  { _svcAbbrev = "CloudFormation"+  , _svcSigner = v4+  , _svcPrefix = "cloudformation"+  , _svcVersion = "2010-05-15"+  , _svcEndpoint = defaultEndpoint cloudFormation+  , _svcTimeout = Just 70+  , _svcCheck = statusSuccess+  , _svcError = parseXMLError "CloudFormation"+  , _svcRetry = retry+  }   where     retry =-        Exponential-        { _retryBase = 5.0e-2-        , _retryGrowth = 2-        , _retryAttempts = 5-        , _retryCheck = check-        }+      Exponential+      { _retryBase = 5.0e-2+      , _retryGrowth = 2+      , _retryAttempts = 5+      , _retryCheck = check+      }     check e+      | has (hasCode "ThrottledException" . hasStatus 400) e =+        Just "throttled_exception"       | has (hasStatus 429) e = Just "too_many_requests"       | has (hasCode "ThrottlingException" . hasStatus 400) e =-          Just "throttling_exception"+        Just "throttling_exception"       | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"       | has (hasStatus 504) e = Just "gateway_timeout"       | has (hasStatus 502) e = Just "bad_gateway"@@ -295,37 +432,139 @@       | has (hasStatus 509) e = Just "limit_exceeded"       | otherwise = Nothing ++-- | The specified resource exists, but has been changed.+--+--+_CreatedButModifiedException :: AsError a => Getting (First ServiceError) a ServiceError+_CreatedButModifiedException =+  _MatchServiceError cloudFormation "CreatedButModifiedException" .+  hasStatus 409++ -- | The specified change set name or ID doesn't exit. To view valid change sets for a stack, use the @ListChangeSets@ action. -- -- _ChangeSetNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError _ChangeSetNotFoundException =-    _ServiceError . hasStatus 404 . hasCode "ChangeSetNotFound"+  _MatchServiceError cloudFormation "ChangeSetNotFound" . hasStatus 404 --- | The specified change set cannot be used to update the stack. For example, the change set status might be @CREATE_IN_PROGRESS@ or the stack status might be @UPDATE_IN_PROGRESS@ .++-- | Another operation is currently in progress for this stack set. Only one operation can be performed for a stack set at a given time. -- --+_OperationInProgressException :: AsError a => Getting (First ServiceError) a ServiceError+_OperationInProgressException =+  _MatchServiceError cloudFormation "OperationInProgressException" .+  hasStatus 409+++-- | The specified change set can't be used to update the stack. For example, the change set status might be @CREATE_IN_PROGRESS@ , or the stack status might be @UPDATE_IN_PROGRESS@ .+--+-- _InvalidChangeSetStatusException :: AsError a => Getting (First ServiceError) a ServiceError _InvalidChangeSetStatusException =-    _ServiceError . hasStatus 400 . hasCode "InvalidChangeSetStatus"+  _MatchServiceError cloudFormation "InvalidChangeSetStatus" . hasStatus 400 --- | The template contains resources with capabilities that were not specified in the Capabilities parameter.++-- | The specified ID refers to an operation that doesn't exist. -- --+_OperationNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError+_OperationNotFoundException =+  _MatchServiceError cloudFormation "OperationNotFoundException" . hasStatus 404+++-- | The specified operation ID already exists.+--+--+_OperationIdAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError+_OperationIdAlreadyExistsException =+  _MatchServiceError cloudFormation "OperationIdAlreadyExistsException" .+  hasStatus 409+++-- | The template contains resources with capabilities that weren't specified in the Capabilities parameter.+--+-- _InsufficientCapabilitiesException :: AsError a => Getting (First ServiceError) a ServiceError _InsufficientCapabilitiesException =-    _ServiceError . hasStatus 400 . hasCode "InsufficientCapabilitiesException"+  _MatchServiceError cloudFormation "InsufficientCapabilitiesException" .+  hasStatus 400 --- | Resource with the name requested already exists.++-- | A client request token already exists. -- --+_TokenAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError+_TokenAlreadyExistsException =+  _MatchServiceError cloudFormation "TokenAlreadyExistsException" .+  hasStatus 400+++-- | The specified stack set doesn't exist.+--+--+_StackSetNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError+_StackSetNotFoundException =+  _MatchServiceError cloudFormation "StackSetNotFoundException" . hasStatus 404+++-- | The specified stack instance doesn't exist.+--+--+_StackInstanceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError+_StackInstanceNotFoundException =+  _MatchServiceError cloudFormation "StackInstanceNotFoundException" .+  hasStatus 404+++-- | You can't yet delete this stack set, because it still contains one or more stack instances. Delete all stack instances from the stack set before deleting the stack set.+--+--+_StackSetNotEmptyException :: AsError a => Getting (First ServiceError) a ServiceError+_StackSetNotEmptyException =+  _MatchServiceError cloudFormation "StackSetNotEmptyException" . hasStatus 409+++-- | The specified operation isn't valid.+--+--+_InvalidOperationException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidOperationException =+  _MatchServiceError cloudFormation "InvalidOperationException" . hasStatus 400+++-- | The specified name is already in use.+--+--+_NameAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError+_NameAlreadyExistsException =+  _MatchServiceError cloudFormation "NameAlreadyExistsException" . hasStatus 409+++-- | Another operation has been performed on this stack set since the specified operation was performed.+--+--+_StaleRequestException :: AsError a => Getting (First ServiceError) a ServiceError+_StaleRequestException =+  _MatchServiceError cloudFormation "StaleRequestException" . hasStatus 409+++-- | The resource with the name requested already exists.+--+-- _AlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError _AlreadyExistsException =-    _ServiceError . hasStatus 400 . hasCode "AlreadyExistsException"+  _MatchServiceError cloudFormation "AlreadyExistsException" . hasStatus 400 --- | Quota for the resource has already been reached.++-- | The quota for the resource has already been reached. -- --+-- For information on stack set limitations, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-limitations.html Limitations of StackSets> .+-- _LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError _LimitExceededException =-    _ServiceError . hasStatus 400 . hasCode "LimitExceededException"+  _MatchServiceError cloudFormation "LimitExceededException" . hasStatus 400+
gen/Network/AWS/CloudFormation/Types/Product.hs view
@@ -9,1497 +9,2402 @@  -- | -- Module      : Network.AWS.CloudFormation.Types.Product--- Copyright   : (c) 2013-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.CloudFormation.Types.Product where--import           Network.AWS.CloudFormation.Types.Sum-import           Network.AWS.Lens-import           Network.AWS.Prelude---- | The AccountLimit data type.------------ /See:/ 'accountLimit' smart constructor.-data AccountLimit = AccountLimit'-    { _alValue :: !(Maybe Int)-    , _alName  :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'AccountLimit' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'alValue' - The value that is associated with the account limit name.------ * 'alName' - The name of the account limit. Currently, the only account limit is @StackLimit@ .-accountLimit-    :: AccountLimit-accountLimit =-    AccountLimit'-    { _alValue = Nothing-    , _alName = Nothing-    }---- | The value that is associated with the account limit name.-alValue :: Lens' AccountLimit (Maybe Int)-alValue = lens _alValue (\ s a -> s{_alValue = a});---- | The name of the account limit. Currently, the only account limit is @StackLimit@ .-alName :: Lens' AccountLimit (Maybe Text)-alName = lens _alName (\ s a -> s{_alName = a});--instance FromXML AccountLimit where-        parseXML x-          = AccountLimit' <$>-              (x .@? "Value") <*> (x .@? "Name")--instance Hashable AccountLimit--instance NFData AccountLimit---- | The @Change@ structure describes the changes AWS CloudFormation will perform if you execute the change set.------------ /See:/ 'change' smart constructor.-data Change = Change'-    { _cResourceChange :: !(Maybe ResourceChange)-    , _cType           :: !(Maybe ChangeType)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Change' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cResourceChange' - A @ResourceChange@ structure that describes the resource and action that AWS CloudFormation will perform.------ * 'cType' - The type of entity that AWS CloudFormation changes. Currently, the only entity type is @Resource@ .-change-    :: Change-change =-    Change'-    { _cResourceChange = Nothing-    , _cType = Nothing-    }---- | A @ResourceChange@ structure that describes the resource and action that AWS CloudFormation will perform.-cResourceChange :: Lens' Change (Maybe ResourceChange)-cResourceChange = lens _cResourceChange (\ s a -> s{_cResourceChange = a});---- | The type of entity that AWS CloudFormation changes. Currently, the only entity type is @Resource@ .-cType :: Lens' Change (Maybe ChangeType)-cType = lens _cType (\ s a -> s{_cType = a});--instance FromXML Change where-        parseXML x-          = Change' <$>-              (x .@? "ResourceChange") <*> (x .@? "Type")--instance Hashable Change--instance NFData Change---- | The @ChangeSetSummary@ structure describes a change set, its status, and the stack with which it's associated.------------ /See:/ 'changeSetSummary' smart constructor.-data ChangeSetSummary = ChangeSetSummary'-    { _cssCreationTime    :: !(Maybe ISO8601)-    , _cssStatus          :: !(Maybe ChangeSetStatus)-    , _cssChangeSetName   :: !(Maybe Text)-    , _cssExecutionStatus :: !(Maybe ExecutionStatus)-    , _cssChangeSetId     :: !(Maybe Text)-    , _cssStatusReason    :: !(Maybe Text)-    , _cssStackId         :: !(Maybe Text)-    , _cssDescription     :: !(Maybe Text)-    , _cssStackName       :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ChangeSetSummary' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cssCreationTime' - The start time when the change set was created, in UTC.------ * 'cssStatus' - The state of the change set, such as @CREATE_IN_PROGRESS@ , @CREATE_COMPLETE@ , or @FAILED@ .------ * 'cssChangeSetName' - The name of the change set.------ * 'cssExecutionStatus' - If the change set execution status is @AVAILABLE@ , you can execute the change set. If you can’t execute the change set, the status indicates why. For example, a change set might be in an @UNAVAILABLE@ state because AWS CloudFormation is still creating it or in an @OBSOLETE@ state because the stack was already updated.------ * 'cssChangeSetId' - The ID of the change set.------ * 'cssStatusReason' - A description of the change set's status. For example, if your change set is in the @FAILED@ state, AWS CloudFormation shows the error message.------ * 'cssStackId' - The ID of the stack with which the change set is associated.------ * 'cssDescription' - Descriptive information about the change set.------ * 'cssStackName' - The name of the stack with which the change set is associated.-changeSetSummary-    :: ChangeSetSummary-changeSetSummary =-    ChangeSetSummary'-    { _cssCreationTime = Nothing-    , _cssStatus = Nothing-    , _cssChangeSetName = Nothing-    , _cssExecutionStatus = Nothing-    , _cssChangeSetId = Nothing-    , _cssStatusReason = Nothing-    , _cssStackId = Nothing-    , _cssDescription = Nothing-    , _cssStackName = Nothing-    }---- | The start time when the change set was created, in UTC.-cssCreationTime :: Lens' ChangeSetSummary (Maybe UTCTime)-cssCreationTime = lens _cssCreationTime (\ s a -> s{_cssCreationTime = a}) . mapping _Time;---- | The state of the change set, such as @CREATE_IN_PROGRESS@ , @CREATE_COMPLETE@ , or @FAILED@ .-cssStatus :: Lens' ChangeSetSummary (Maybe ChangeSetStatus)-cssStatus = lens _cssStatus (\ s a -> s{_cssStatus = a});---- | The name of the change set.-cssChangeSetName :: Lens' ChangeSetSummary (Maybe Text)-cssChangeSetName = lens _cssChangeSetName (\ s a -> s{_cssChangeSetName = a});---- | If the change set execution status is @AVAILABLE@ , you can execute the change set. If you can’t execute the change set, the status indicates why. For example, a change set might be in an @UNAVAILABLE@ state because AWS CloudFormation is still creating it or in an @OBSOLETE@ state because the stack was already updated.-cssExecutionStatus :: Lens' ChangeSetSummary (Maybe ExecutionStatus)-cssExecutionStatus = lens _cssExecutionStatus (\ s a -> s{_cssExecutionStatus = a});---- | The ID of the change set.-cssChangeSetId :: Lens' ChangeSetSummary (Maybe Text)-cssChangeSetId = lens _cssChangeSetId (\ s a -> s{_cssChangeSetId = a});---- | A description of the change set's status. For example, if your change set is in the @FAILED@ state, AWS CloudFormation shows the error message.-cssStatusReason :: Lens' ChangeSetSummary (Maybe Text)-cssStatusReason = lens _cssStatusReason (\ s a -> s{_cssStatusReason = a});---- | The ID of the stack with which the change set is associated.-cssStackId :: Lens' ChangeSetSummary (Maybe Text)-cssStackId = lens _cssStackId (\ s a -> s{_cssStackId = a});---- | Descriptive information about the change set.-cssDescription :: Lens' ChangeSetSummary (Maybe Text)-cssDescription = lens _cssDescription (\ s a -> s{_cssDescription = a});---- | The name of the stack with which the change set is associated.-cssStackName :: Lens' ChangeSetSummary (Maybe Text)-cssStackName = lens _cssStackName (\ s a -> s{_cssStackName = a});--instance FromXML ChangeSetSummary where-        parseXML x-          = ChangeSetSummary' <$>-              (x .@? "CreationTime") <*> (x .@? "Status") <*>-                (x .@? "ChangeSetName")-                <*> (x .@? "ExecutionStatus")-                <*> (x .@? "ChangeSetId")-                <*> (x .@? "StatusReason")-                <*> (x .@? "StackId")-                <*> (x .@? "Description")-                <*> (x .@? "StackName")--instance Hashable ChangeSetSummary--instance NFData ChangeSetSummary---- | The @Export@ structure describes the exported output values for a stack.------------ /See:/ 'export'' smart constructor.-data Export = Export'-    { _eValue            :: !(Maybe Text)-    , _eExportingStackId :: !(Maybe Text)-    , _eName             :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Export' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eValue' - The value of the exported output, such as a resource physical ID. This value is defined in the @Export@ field in the associated stack's @Outputs@ section.------ * 'eExportingStackId' - The stack that contains the exported output name and value.------ * 'eName' - The name of exported output value. Use this name and the @Fn::ImportValue@ function to import the associated value into other stacks. The name is defined in the @Export@ field in the associated stack's @Outputs@ section.-export'-    :: Export-export' =-    Export'-    { _eValue = Nothing-    , _eExportingStackId = Nothing-    , _eName = Nothing-    }---- | The value of the exported output, such as a resource physical ID. This value is defined in the @Export@ field in the associated stack's @Outputs@ section.-eValue :: Lens' Export (Maybe Text)-eValue = lens _eValue (\ s a -> s{_eValue = a});---- | The stack that contains the exported output name and value.-eExportingStackId :: Lens' Export (Maybe Text)-eExportingStackId = lens _eExportingStackId (\ s a -> s{_eExportingStackId = a});---- | The name of exported output value. Use this name and the @Fn::ImportValue@ function to import the associated value into other stacks. The name is defined in the @Export@ field in the associated stack's @Outputs@ section.-eName :: Lens' Export (Maybe Text)-eName = lens _eName (\ s a -> s{_eName = a});--instance FromXML Export where-        parseXML x-          = Export' <$>-              (x .@? "Value") <*> (x .@? "ExportingStackId") <*>-                (x .@? "Name")--instance Hashable Export--instance NFData Export---- | The Output data type.------------ /See:/ 'output' smart constructor.-data Output = Output'-    { _oOutputValue :: !(Maybe Text)-    , _oOutputKey   :: !(Maybe Text)-    , _oDescription :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Output' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'oOutputValue' - The value associated with the output.------ * 'oOutputKey' - The key associated with the output.------ * 'oDescription' - User defined description associated with the output.-output-    :: Output-output =-    Output'-    { _oOutputValue = Nothing-    , _oOutputKey = Nothing-    , _oDescription = Nothing-    }---- | The value associated with the output.-oOutputValue :: Lens' Output (Maybe Text)-oOutputValue = lens _oOutputValue (\ s a -> s{_oOutputValue = a});---- | The key associated with the output.-oOutputKey :: Lens' Output (Maybe Text)-oOutputKey = lens _oOutputKey (\ s a -> s{_oOutputKey = a});---- | User defined description associated with the output.-oDescription :: Lens' Output (Maybe Text)-oDescription = lens _oDescription (\ s a -> s{_oDescription = a});--instance FromXML Output where-        parseXML x-          = Output' <$>-              (x .@? "OutputValue") <*> (x .@? "OutputKey") <*>-                (x .@? "Description")--instance Hashable Output--instance NFData Output---- | The Parameter data type.------------ /See:/ 'parameter' smart constructor.-data Parameter = Parameter'-    { _pParameterValue   :: !(Maybe Text)-    , _pParameterKey     :: !(Maybe Text)-    , _pUsePreviousValue :: !(Maybe Bool)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Parameter' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pParameterValue' - The value associated with the parameter.------ * 'pParameterKey' - The key associated with the parameter. If you don't specify a key and value for a particular parameter, AWS CloudFormation uses the default value that is specified in your template.------ * 'pUsePreviousValue' - During a stack update, use the existing parameter value that the stack is using for a given parameter key. If you specify @true@ , do not specify a parameter value.-parameter-    :: Parameter-parameter =-    Parameter'-    { _pParameterValue = Nothing-    , _pParameterKey = Nothing-    , _pUsePreviousValue = Nothing-    }---- | The value associated with the parameter.-pParameterValue :: Lens' Parameter (Maybe Text)-pParameterValue = lens _pParameterValue (\ s a -> s{_pParameterValue = a});---- | The key associated with the parameter. If you don't specify a key and value for a particular parameter, AWS CloudFormation uses the default value that is specified in your template.-pParameterKey :: Lens' Parameter (Maybe Text)-pParameterKey = lens _pParameterKey (\ s a -> s{_pParameterKey = a});---- | During a stack update, use the existing parameter value that the stack is using for a given parameter key. If you specify @true@ , do not specify a parameter value.-pUsePreviousValue :: Lens' Parameter (Maybe Bool)-pUsePreviousValue = lens _pUsePreviousValue (\ s a -> s{_pUsePreviousValue = a});--instance FromXML Parameter where-        parseXML x-          = Parameter' <$>-              (x .@? "ParameterValue") <*> (x .@? "ParameterKey")-                <*> (x .@? "UsePreviousValue")--instance Hashable Parameter--instance NFData Parameter--instance ToQuery Parameter where-        toQuery Parameter'{..}-          = mconcat-              ["ParameterValue" =: _pParameterValue,-               "ParameterKey" =: _pParameterKey,-               "UsePreviousValue" =: _pUsePreviousValue]---- | A set of criteria that AWS CloudFormation uses to validate parameter values. Although other constraints might be defined in the stack template, AWS CloudFormation returns only the @AllowedValues@ property.------------ /See:/ 'parameterConstraints' smart constructor.-newtype ParameterConstraints = ParameterConstraints'-    { _pcAllowedValues :: Maybe [Text]-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ParameterConstraints' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pcAllowedValues' - A list of values that are permitted for a parameter.-parameterConstraints-    :: ParameterConstraints-parameterConstraints =-    ParameterConstraints'-    { _pcAllowedValues = Nothing-    }---- | A list of values that are permitted for a parameter.-pcAllowedValues :: Lens' ParameterConstraints [Text]-pcAllowedValues = lens _pcAllowedValues (\ s a -> s{_pcAllowedValues = a}) . _Default . _Coerce;--instance FromXML ParameterConstraints where-        parseXML x-          = ParameterConstraints' <$>-              (x .@? "AllowedValues" .!@ mempty >>=-                 may (parseXMLList "member"))--instance Hashable ParameterConstraints--instance NFData ParameterConstraints---- | The ParameterDeclaration data type.------------ /See:/ 'parameterDeclaration' smart constructor.-data ParameterDeclaration = ParameterDeclaration'-    { _pdParameterKey         :: !(Maybe Text)-    , _pdParameterType        :: !(Maybe Text)-    , _pdParameterConstraints :: !(Maybe ParameterConstraints)-    , _pdDefaultValue         :: !(Maybe Text)-    , _pdNoEcho               :: !(Maybe Bool)-    , _pdDescription          :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ParameterDeclaration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pdParameterKey' - The name that is associated with the parameter.------ * 'pdParameterType' - The type of parameter.------ * 'pdParameterConstraints' - The criteria that AWS CloudFormation uses to validate parameter values.------ * 'pdDefaultValue' - The default value of the parameter.------ * 'pdNoEcho' - Flag that indicates whether the parameter value is shown as plain text in logs and in the AWS Management Console.------ * 'pdDescription' - The description that is associate with the parameter.-parameterDeclaration-    :: ParameterDeclaration-parameterDeclaration =-    ParameterDeclaration'-    { _pdParameterKey = Nothing-    , _pdParameterType = Nothing-    , _pdParameterConstraints = Nothing-    , _pdDefaultValue = Nothing-    , _pdNoEcho = Nothing-    , _pdDescription = Nothing-    }---- | The name that is associated with the parameter.-pdParameterKey :: Lens' ParameterDeclaration (Maybe Text)-pdParameterKey = lens _pdParameterKey (\ s a -> s{_pdParameterKey = a});---- | The type of parameter.-pdParameterType :: Lens' ParameterDeclaration (Maybe Text)-pdParameterType = lens _pdParameterType (\ s a -> s{_pdParameterType = a});---- | The criteria that AWS CloudFormation uses to validate parameter values.-pdParameterConstraints :: Lens' ParameterDeclaration (Maybe ParameterConstraints)-pdParameterConstraints = lens _pdParameterConstraints (\ s a -> s{_pdParameterConstraints = a});---- | The default value of the parameter.-pdDefaultValue :: Lens' ParameterDeclaration (Maybe Text)-pdDefaultValue = lens _pdDefaultValue (\ s a -> s{_pdDefaultValue = a});---- | Flag that indicates whether the parameter value is shown as plain text in logs and in the AWS Management Console.-pdNoEcho :: Lens' ParameterDeclaration (Maybe Bool)-pdNoEcho = lens _pdNoEcho (\ s a -> s{_pdNoEcho = a});---- | The description that is associate with the parameter.-pdDescription :: Lens' ParameterDeclaration (Maybe Text)-pdDescription = lens _pdDescription (\ s a -> s{_pdDescription = a});--instance FromXML ParameterDeclaration where-        parseXML x-          = ParameterDeclaration' <$>-              (x .@? "ParameterKey") <*> (x .@? "ParameterType")-                <*> (x .@? "ParameterConstraints")-                <*> (x .@? "DefaultValue")-                <*> (x .@? "NoEcho")-                <*> (x .@? "Description")--instance Hashable ParameterDeclaration--instance NFData ParameterDeclaration---- | The @ResourceChange@ structure describes the resource and the action that AWS CloudFormation will perform on it if you execute this change set.------------ /See:/ 'resourceChange' smart constructor.-data ResourceChange = ResourceChange'-    { _rcLogicalResourceId  :: !(Maybe Text)-    , _rcPhysicalResourceId :: !(Maybe Text)-    , _rcResourceType       :: !(Maybe Text)-    , _rcAction             :: !(Maybe ChangeAction)-    , _rcScope              :: !(Maybe [ResourceAttribute])-    , _rcDetails            :: !(Maybe [ResourceChangeDetail])-    , _rcReplacement        :: !(Maybe Replacement)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ResourceChange' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rcLogicalResourceId' - The resource's logical ID, which is defined in the stack's template.------ * 'rcPhysicalResourceId' - The resource's physical ID (resource name). Resources that you are adding don't have physical IDs because they haven't been created.------ * 'rcResourceType' - The type of AWS CloudFormation resource, such as @AWS::S3::Bucket@ .------ * 'rcAction' - The action that AWS CloudFormation takes on the resource, such as @Add@ (adds a new resource), @Modify@ (changes a resource), or @Remove@ (deletes a resource).------ * 'rcScope' - For the @Modify@ action, indicates which resource attribute is triggering this update, such as a change in the resource attribute's @Metadata@ , @Properties@ , or @Tags@ .------ * 'rcDetails' - For the @Modify@ action, a list of @ResourceChangeDetail@ structures that describes the changes that AWS CloudFormation will make to the resource.------ * 'rcReplacement' - For the @Modify@ action, indicates whether AWS CloudFormation will replace the resource by creating a new one and deleting the old one. This value depends on the value of the @RequiresRecreation@ property in the @ResourceTargetDefinition@ structure. For example, if the @RequiresRecreation@ field is @Always@ and the @Evaluation@ field is @Static@ , @Replacement@ is @True@ . If the @RequiresRecreation@ field is @Always@ and the @Evaluation@ field is @Dynamic@ , @Replacement@ is @Conditionally@ . If you have multiple changes with different @RequiresRecreation@ values, the @Replacement@ value depends on the change with the most impact. A @RequiresRecreation@ value of @Always@ has the most impact, followed by @Conditionally@ , and then @Never@ .-resourceChange-    :: ResourceChange-resourceChange =-    ResourceChange'-    { _rcLogicalResourceId = Nothing-    , _rcPhysicalResourceId = Nothing-    , _rcResourceType = Nothing-    , _rcAction = Nothing-    , _rcScope = Nothing-    , _rcDetails = Nothing-    , _rcReplacement = Nothing-    }---- | The resource's logical ID, which is defined in the stack's template.-rcLogicalResourceId :: Lens' ResourceChange (Maybe Text)-rcLogicalResourceId = lens _rcLogicalResourceId (\ s a -> s{_rcLogicalResourceId = a});---- | The resource's physical ID (resource name). Resources that you are adding don't have physical IDs because they haven't been created.-rcPhysicalResourceId :: Lens' ResourceChange (Maybe Text)-rcPhysicalResourceId = lens _rcPhysicalResourceId (\ s a -> s{_rcPhysicalResourceId = a});---- | The type of AWS CloudFormation resource, such as @AWS::S3::Bucket@ .-rcResourceType :: Lens' ResourceChange (Maybe Text)-rcResourceType = lens _rcResourceType (\ s a -> s{_rcResourceType = a});---- | The action that AWS CloudFormation takes on the resource, such as @Add@ (adds a new resource), @Modify@ (changes a resource), or @Remove@ (deletes a resource).-rcAction :: Lens' ResourceChange (Maybe ChangeAction)-rcAction = lens _rcAction (\ s a -> s{_rcAction = a});---- | For the @Modify@ action, indicates which resource attribute is triggering this update, such as a change in the resource attribute's @Metadata@ , @Properties@ , or @Tags@ .-rcScope :: Lens' ResourceChange [ResourceAttribute]-rcScope = lens _rcScope (\ s a -> s{_rcScope = a}) . _Default . _Coerce;---- | For the @Modify@ action, a list of @ResourceChangeDetail@ structures that describes the changes that AWS CloudFormation will make to the resource.-rcDetails :: Lens' ResourceChange [ResourceChangeDetail]-rcDetails = lens _rcDetails (\ s a -> s{_rcDetails = a}) . _Default . _Coerce;---- | For the @Modify@ action, indicates whether AWS CloudFormation will replace the resource by creating a new one and deleting the old one. This value depends on the value of the @RequiresRecreation@ property in the @ResourceTargetDefinition@ structure. For example, if the @RequiresRecreation@ field is @Always@ and the @Evaluation@ field is @Static@ , @Replacement@ is @True@ . If the @RequiresRecreation@ field is @Always@ and the @Evaluation@ field is @Dynamic@ , @Replacement@ is @Conditionally@ . If you have multiple changes with different @RequiresRecreation@ values, the @Replacement@ value depends on the change with the most impact. A @RequiresRecreation@ value of @Always@ has the most impact, followed by @Conditionally@ , and then @Never@ .-rcReplacement :: Lens' ResourceChange (Maybe Replacement)-rcReplacement = lens _rcReplacement (\ s a -> s{_rcReplacement = a});--instance FromXML ResourceChange where-        parseXML x-          = ResourceChange' <$>-              (x .@? "LogicalResourceId") <*>-                (x .@? "PhysicalResourceId")-                <*> (x .@? "ResourceType")-                <*> (x .@? "Action")-                <*>-                (x .@? "Scope" .!@ mempty >>=-                   may (parseXMLList "member"))-                <*>-                (x .@? "Details" .!@ mempty >>=-                   may (parseXMLList "member"))-                <*> (x .@? "Replacement")--instance Hashable ResourceChange--instance NFData ResourceChange---- | For a resource with @Modify@ as the action, the @ResourceChange@ structure describes the changes AWS CloudFormation will make to that resource.------------ /See:/ 'resourceChangeDetail' smart constructor.-data ResourceChangeDetail = ResourceChangeDetail'-    { _rcdCausingEntity :: !(Maybe Text)-    , _rcdChangeSource  :: !(Maybe ChangeSource)-    , _rcdEvaluation    :: !(Maybe EvaluationType)-    , _rcdTarget        :: !(Maybe ResourceTargetDefinition)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ResourceChangeDetail' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rcdCausingEntity' - The identity of the entity that triggered this change. This entity is a member of the group that is specified by the @ChangeSource@ field. For example, if you modified the value of the @KeyPairName@ parameter, the @CausingEntity@ is the name of the parameter (@KeyPairName@ ). If the @ChangeSource@ value is @DirectModification@ , no value is given for @CausingEntity@ .------ * 'rcdChangeSource' - The group to which the @CausingEntity@ value belongs. There are five entity groups:     * @ResourceReference@ entities are @Ref@ intrinsic functions that refer to resources in the template, such as @{ "Ref" : "MyEC2InstanceResource" }@ .     * @ParameterReference@ entities are @Ref@ intrinsic functions that get template parameter values, such as @{ "Ref" : "MyPasswordParameter" }@ .     * @ResourceAttribute@ entities are @Fn::GetAtt@ intrinsic functions that get resource attribute values, such as @{ "Fn::GetAtt" : [ "MyEC2InstanceResource", "PublicDnsName" ] }@ .     * @DirectModification@ entities are changes that are made directly to the template.     * @Automatic@ entities are @AWS::CloudFormation::Stack@ resource types, which are also known as nested stacks. If you made no changes to the @AWS::CloudFormation::Stack@ resource, AWS CloudFormation sets the @ChangeSource@ to @Automatic@ because the nested stack's template might have changed. Changes to a nested stack's template aren't visible to AWS CloudFormation until you run an update on the parent stack.------ * 'rcdEvaluation' - Indicates whether AWS CloudFormation can determine the target value, and whether the target value will change before you execute a change set. For @Static@ evaluations, AWS CloudFormation can determine that the target value will change, and its value. For example, if you directly modify the @InstanceType@ property of an EC2 instance, AWS CloudFormation knows that this property value will change, and its value, so this is a @Static@ evaluation. For @Dynamic@ evaluations, cannot determine the target value because it depends on the result of an intrinsic function, such as a @Ref@ or @Fn::GetAtt@ intrinsic function, when the stack is updated. For example, if your template includes a reference to a resource that is conditionally recreated, the value of the reference (the physical ID of the resource) might change, depending on if the resource is recreated. If the resource is recreated, it will have a new physical ID, so all references to that resource will also be updated.------ * 'rcdTarget' - A @ResourceTargetDefinition@ structure that describes the field that AWS CloudFormation will change and whether the resource will be recreated.-resourceChangeDetail-    :: ResourceChangeDetail-resourceChangeDetail =-    ResourceChangeDetail'-    { _rcdCausingEntity = Nothing-    , _rcdChangeSource = Nothing-    , _rcdEvaluation = Nothing-    , _rcdTarget = Nothing-    }---- | The identity of the entity that triggered this change. This entity is a member of the group that is specified by the @ChangeSource@ field. For example, if you modified the value of the @KeyPairName@ parameter, the @CausingEntity@ is the name of the parameter (@KeyPairName@ ). If the @ChangeSource@ value is @DirectModification@ , no value is given for @CausingEntity@ .-rcdCausingEntity :: Lens' ResourceChangeDetail (Maybe Text)-rcdCausingEntity = lens _rcdCausingEntity (\ s a -> s{_rcdCausingEntity = a});---- | The group to which the @CausingEntity@ value belongs. There are five entity groups:     * @ResourceReference@ entities are @Ref@ intrinsic functions that refer to resources in the template, such as @{ "Ref" : "MyEC2InstanceResource" }@ .     * @ParameterReference@ entities are @Ref@ intrinsic functions that get template parameter values, such as @{ "Ref" : "MyPasswordParameter" }@ .     * @ResourceAttribute@ entities are @Fn::GetAtt@ intrinsic functions that get resource attribute values, such as @{ "Fn::GetAtt" : [ "MyEC2InstanceResource", "PublicDnsName" ] }@ .     * @DirectModification@ entities are changes that are made directly to the template.     * @Automatic@ entities are @AWS::CloudFormation::Stack@ resource types, which are also known as nested stacks. If you made no changes to the @AWS::CloudFormation::Stack@ resource, AWS CloudFormation sets the @ChangeSource@ to @Automatic@ because the nested stack's template might have changed. Changes to a nested stack's template aren't visible to AWS CloudFormation until you run an update on the parent stack.-rcdChangeSource :: Lens' ResourceChangeDetail (Maybe ChangeSource)-rcdChangeSource = lens _rcdChangeSource (\ s a -> s{_rcdChangeSource = a});---- | Indicates whether AWS CloudFormation can determine the target value, and whether the target value will change before you execute a change set. For @Static@ evaluations, AWS CloudFormation can determine that the target value will change, and its value. For example, if you directly modify the @InstanceType@ property of an EC2 instance, AWS CloudFormation knows that this property value will change, and its value, so this is a @Static@ evaluation. For @Dynamic@ evaluations, cannot determine the target value because it depends on the result of an intrinsic function, such as a @Ref@ or @Fn::GetAtt@ intrinsic function, when the stack is updated. For example, if your template includes a reference to a resource that is conditionally recreated, the value of the reference (the physical ID of the resource) might change, depending on if the resource is recreated. If the resource is recreated, it will have a new physical ID, so all references to that resource will also be updated.-rcdEvaluation :: Lens' ResourceChangeDetail (Maybe EvaluationType)-rcdEvaluation = lens _rcdEvaluation (\ s a -> s{_rcdEvaluation = a});---- | A @ResourceTargetDefinition@ structure that describes the field that AWS CloudFormation will change and whether the resource will be recreated.-rcdTarget :: Lens' ResourceChangeDetail (Maybe ResourceTargetDefinition)-rcdTarget = lens _rcdTarget (\ s a -> s{_rcdTarget = a});--instance FromXML ResourceChangeDetail where-        parseXML x-          = ResourceChangeDetail' <$>-              (x .@? "CausingEntity") <*> (x .@? "ChangeSource")-                <*> (x .@? "Evaluation")-                <*> (x .@? "Target")--instance Hashable ResourceChangeDetail--instance NFData ResourceChangeDetail---- | The field that AWS CloudFormation will change, such as the name of a resource's property, and whether the resource will be recreated.------------ /See:/ 'resourceTargetDefinition' smart constructor.-data ResourceTargetDefinition = ResourceTargetDefinition'-    { _rtdAttribute          :: !(Maybe ResourceAttribute)-    , _rtdRequiresRecreation :: !(Maybe RequiresRecreation)-    , _rtdName               :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ResourceTargetDefinition' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rtdAttribute' - Indicates which resource attribute is triggering this update, such as a change in the resource attribute's @Metadata@ , @Properties@ , or @Tags@ .------ * 'rtdRequiresRecreation' - If the @Attribute@ value is @Properties@ , indicates whether a change to this property causes the resource to be recreated. The value can be @Never@ , @Always@ , or @Conditionally@ . To determine the conditions for a @Conditionally@ recreation, see the update behavior for that <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html property> in the AWS CloudFormation User Guide.------ * 'rtdName' - If the @Attribute@ value is @Properties@ , the name of the property. For all other attributes, the value is null.-resourceTargetDefinition-    :: ResourceTargetDefinition-resourceTargetDefinition =-    ResourceTargetDefinition'-    { _rtdAttribute = Nothing-    , _rtdRequiresRecreation = Nothing-    , _rtdName = Nothing-    }---- | Indicates which resource attribute is triggering this update, such as a change in the resource attribute's @Metadata@ , @Properties@ , or @Tags@ .-rtdAttribute :: Lens' ResourceTargetDefinition (Maybe ResourceAttribute)-rtdAttribute = lens _rtdAttribute (\ s a -> s{_rtdAttribute = a});---- | If the @Attribute@ value is @Properties@ , indicates whether a change to this property causes the resource to be recreated. The value can be @Never@ , @Always@ , or @Conditionally@ . To determine the conditions for a @Conditionally@ recreation, see the update behavior for that <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html property> in the AWS CloudFormation User Guide.-rtdRequiresRecreation :: Lens' ResourceTargetDefinition (Maybe RequiresRecreation)-rtdRequiresRecreation = lens _rtdRequiresRecreation (\ s a -> s{_rtdRequiresRecreation = a});---- | If the @Attribute@ value is @Properties@ , the name of the property. For all other attributes, the value is null.-rtdName :: Lens' ResourceTargetDefinition (Maybe Text)-rtdName = lens _rtdName (\ s a -> s{_rtdName = a});--instance FromXML ResourceTargetDefinition where-        parseXML x-          = ResourceTargetDefinition' <$>-              (x .@? "Attribute") <*> (x .@? "RequiresRecreation")-                <*> (x .@? "Name")--instance Hashable ResourceTargetDefinition--instance NFData ResourceTargetDefinition---- | The Stack data type.------------ /See:/ 'stack' smart constructor.-data Stack = Stack'-    { _sDisableRollback   :: !(Maybe Bool)-    , _sLastUpdatedTime   :: !(Maybe ISO8601)-    , _sNotificationARNs  :: !(Maybe [Text])-    , _sStackStatusReason :: !(Maybe Text)-    , _sChangeSetId       :: !(Maybe Text)-    , _sOutputs           :: !(Maybe [Output])-    , _sParameters        :: !(Maybe [Parameter])-    , _sStackId           :: !(Maybe Text)-    , _sDescription       :: !(Maybe Text)-    , _sCapabilities      :: !(Maybe [Capability])-    , _sTags              :: !(Maybe [Tag])-    , _sTimeoutInMinutes  :: !(Maybe Nat)-    , _sRoleARN           :: !(Maybe Text)-    , _sStackName         :: !Text-    , _sCreationTime      :: !ISO8601-    , _sStackStatus       :: !StackStatus-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Stack' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sDisableRollback' - Boolean to enable or disable rollback on stack creation failures:     * @true@ : disable rollback     * @false@ : enable rollback------ * 'sLastUpdatedTime' - The time the stack was last updated. This field will only be returned if the stack has been updated at least once.------ * 'sNotificationARNs' - SNS topic ARNs to which stack related events are published.------ * 'sStackStatusReason' - Success/failure message associated with the stack status.------ * 'sChangeSetId' - The unique ID of the change set.------ * 'sOutputs' - A list of output structures.------ * 'sParameters' - A list of @Parameter@ structures.------ * 'sStackId' - Unique identifier of the stack.------ * 'sDescription' - A user-defined description associated with the stack.------ * 'sCapabilities' - The capabilities allowed in the stack.------ * 'sTags' - A list of @Tag@ s that specify information about the stack.------ * 'sTimeoutInMinutes' - The amount of time within which stack creation should complete.------ * 'sRoleARN' - The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that is associated with the stack. During a stack operation, AWS CloudFormation uses this role's credentials to make calls on your behalf.------ * 'sStackName' - The name associated with the stack.------ * 'sCreationTime' - The time at which the stack was created.------ * 'sStackStatus' - Current status of the stack.-stack-    :: Text -- ^ 'sStackName'-    -> UTCTime -- ^ 'sCreationTime'-    -> StackStatus -- ^ 'sStackStatus'-    -> Stack-stack pStackName_ pCreationTime_ pStackStatus_ =-    Stack'-    { _sDisableRollback = Nothing-    , _sLastUpdatedTime = Nothing-    , _sNotificationARNs = Nothing-    , _sStackStatusReason = Nothing-    , _sChangeSetId = Nothing-    , _sOutputs = Nothing-    , _sParameters = Nothing-    , _sStackId = Nothing-    , _sDescription = Nothing-    , _sCapabilities = Nothing-    , _sTags = Nothing-    , _sTimeoutInMinutes = Nothing-    , _sRoleARN = Nothing-    , _sStackName = pStackName_-    , _sCreationTime = _Time # pCreationTime_-    , _sStackStatus = pStackStatus_-    }---- | Boolean to enable or disable rollback on stack creation failures:     * @true@ : disable rollback     * @false@ : enable rollback-sDisableRollback :: Lens' Stack (Maybe Bool)-sDisableRollback = lens _sDisableRollback (\ s a -> s{_sDisableRollback = a});---- | The time the stack was last updated. This field will only be returned if the stack has been updated at least once.-sLastUpdatedTime :: Lens' Stack (Maybe UTCTime)-sLastUpdatedTime = lens _sLastUpdatedTime (\ s a -> s{_sLastUpdatedTime = a}) . mapping _Time;---- | SNS topic ARNs to which stack related events are published.-sNotificationARNs :: Lens' Stack [Text]-sNotificationARNs = lens _sNotificationARNs (\ s a -> s{_sNotificationARNs = a}) . _Default . _Coerce;---- | Success/failure message associated with the stack status.-sStackStatusReason :: Lens' Stack (Maybe Text)-sStackStatusReason = lens _sStackStatusReason (\ s a -> s{_sStackStatusReason = a});---- | The unique ID of the change set.-sChangeSetId :: Lens' Stack (Maybe Text)-sChangeSetId = lens _sChangeSetId (\ s a -> s{_sChangeSetId = a});---- | A list of output structures.-sOutputs :: Lens' Stack [Output]-sOutputs = lens _sOutputs (\ s a -> s{_sOutputs = a}) . _Default . _Coerce;---- | A list of @Parameter@ structures.-sParameters :: Lens' Stack [Parameter]-sParameters = lens _sParameters (\ s a -> s{_sParameters = a}) . _Default . _Coerce;---- | Unique identifier of the stack.-sStackId :: Lens' Stack (Maybe Text)-sStackId = lens _sStackId (\ s a -> s{_sStackId = a});---- | A user-defined description associated with the stack.-sDescription :: Lens' Stack (Maybe Text)-sDescription = lens _sDescription (\ s a -> s{_sDescription = a});---- | The capabilities allowed in the stack.-sCapabilities :: Lens' Stack [Capability]-sCapabilities = lens _sCapabilities (\ s a -> s{_sCapabilities = a}) . _Default . _Coerce;---- | A list of @Tag@ s that specify information about the stack.-sTags :: Lens' Stack [Tag]-sTags = lens _sTags (\ s a -> s{_sTags = a}) . _Default . _Coerce;---- | The amount of time within which stack creation should complete.-sTimeoutInMinutes :: Lens' Stack (Maybe Natural)-sTimeoutInMinutes = lens _sTimeoutInMinutes (\ s a -> s{_sTimeoutInMinutes = a}) . mapping _Nat;---- | The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that is associated with the stack. During a stack operation, AWS CloudFormation uses this role's credentials to make calls on your behalf.-sRoleARN :: Lens' Stack (Maybe Text)-sRoleARN = lens _sRoleARN (\ s a -> s{_sRoleARN = a});---- | The name associated with the stack.-sStackName :: Lens' Stack Text-sStackName = lens _sStackName (\ s a -> s{_sStackName = a});---- | The time at which the stack was created.-sCreationTime :: Lens' Stack UTCTime-sCreationTime = lens _sCreationTime (\ s a -> s{_sCreationTime = a}) . _Time;---- | Current status of the stack.-sStackStatus :: Lens' Stack StackStatus-sStackStatus = lens _sStackStatus (\ s a -> s{_sStackStatus = a});--instance FromXML Stack where-        parseXML x-          = Stack' <$>-              (x .@? "DisableRollback") <*>-                (x .@? "LastUpdatedTime")-                <*>-                (x .@? "NotificationARNs" .!@ mempty >>=-                   may (parseXMLList "member"))-                <*> (x .@? "StackStatusReason")-                <*> (x .@? "ChangeSetId")-                <*>-                (x .@? "Outputs" .!@ mempty >>=-                   may (parseXMLList "member"))-                <*>-                (x .@? "Parameters" .!@ mempty >>=-                   may (parseXMLList "member"))-                <*> (x .@? "StackId")-                <*> (x .@? "Description")-                <*>-                (x .@? "Capabilities" .!@ mempty >>=-                   may (parseXMLList "member"))-                <*>-                (x .@? "Tags" .!@ mempty >>=-                   may (parseXMLList "member"))-                <*> (x .@? "TimeoutInMinutes")-                <*> (x .@? "RoleARN")-                <*> (x .@ "StackName")-                <*> (x .@ "CreationTime")-                <*> (x .@ "StackStatus")--instance Hashable Stack--instance NFData Stack---- | The StackEvent data type.------------ /See:/ 'stackEvent' smart constructor.-data StackEvent = StackEvent'-    { _seLogicalResourceId    :: !(Maybe Text)-    , _sePhysicalResourceId   :: !(Maybe Text)-    , _seResourceType         :: !(Maybe Text)-    , _seResourceStatusReason :: !(Maybe Text)-    , _seResourceProperties   :: !(Maybe Text)-    , _seResourceStatus       :: !(Maybe ResourceStatus)-    , _seStackId              :: !Text-    , _seEventId              :: !Text-    , _seStackName            :: !Text-    , _seTimestamp            :: !ISO8601-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'StackEvent' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'seLogicalResourceId' - The logical name of the resource specified in the template.------ * 'sePhysicalResourceId' - The name or unique identifier associated with the physical instance of the resource.------ * 'seResourceType' - Type of resource. (For more information, go to <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html AWS Resource Types Reference> in the AWS CloudFormation User Guide.)------ * 'seResourceStatusReason' - Success/failure message associated with the resource.------ * 'seResourceProperties' - BLOB of the properties used to create the resource.------ * 'seResourceStatus' - Current status of the resource.------ * 'seStackId' - The unique ID name of the instance of the stack.------ * 'seEventId' - The unique ID of this event.------ * 'seStackName' - The name associated with a stack.------ * 'seTimestamp' - Time the status was updated.-stackEvent-    :: Text -- ^ 'seStackId'-    -> Text -- ^ 'seEventId'-    -> Text -- ^ 'seStackName'-    -> UTCTime -- ^ 'seTimestamp'-    -> StackEvent-stackEvent pStackId_ pEventId_ pStackName_ pTimestamp_ =-    StackEvent'-    { _seLogicalResourceId = Nothing-    , _sePhysicalResourceId = Nothing-    , _seResourceType = Nothing-    , _seResourceStatusReason = Nothing-    , _seResourceProperties = Nothing-    , _seResourceStatus = Nothing-    , _seStackId = pStackId_-    , _seEventId = pEventId_-    , _seStackName = pStackName_-    , _seTimestamp = _Time # pTimestamp_-    }---- | The logical name of the resource specified in the template.-seLogicalResourceId :: Lens' StackEvent (Maybe Text)-seLogicalResourceId = lens _seLogicalResourceId (\ s a -> s{_seLogicalResourceId = a});---- | The name or unique identifier associated with the physical instance of the resource.-sePhysicalResourceId :: Lens' StackEvent (Maybe Text)-sePhysicalResourceId = lens _sePhysicalResourceId (\ s a -> s{_sePhysicalResourceId = a});---- | Type of resource. (For more information, go to <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html AWS Resource Types Reference> in the AWS CloudFormation User Guide.)-seResourceType :: Lens' StackEvent (Maybe Text)-seResourceType = lens _seResourceType (\ s a -> s{_seResourceType = a});---- | Success/failure message associated with the resource.-seResourceStatusReason :: Lens' StackEvent (Maybe Text)-seResourceStatusReason = lens _seResourceStatusReason (\ s a -> s{_seResourceStatusReason = a});---- | BLOB of the properties used to create the resource.-seResourceProperties :: Lens' StackEvent (Maybe Text)-seResourceProperties = lens _seResourceProperties (\ s a -> s{_seResourceProperties = a});---- | Current status of the resource.-seResourceStatus :: Lens' StackEvent (Maybe ResourceStatus)-seResourceStatus = lens _seResourceStatus (\ s a -> s{_seResourceStatus = a});---- | The unique ID name of the instance of the stack.-seStackId :: Lens' StackEvent Text-seStackId = lens _seStackId (\ s a -> s{_seStackId = a});---- | The unique ID of this event.-seEventId :: Lens' StackEvent Text-seEventId = lens _seEventId (\ s a -> s{_seEventId = a});---- | The name associated with a stack.-seStackName :: Lens' StackEvent Text-seStackName = lens _seStackName (\ s a -> s{_seStackName = a});---- | Time the status was updated.-seTimestamp :: Lens' StackEvent UTCTime-seTimestamp = lens _seTimestamp (\ s a -> s{_seTimestamp = a}) . _Time;--instance FromXML StackEvent where-        parseXML x-          = StackEvent' <$>-              (x .@? "LogicalResourceId") <*>-                (x .@? "PhysicalResourceId")-                <*> (x .@? "ResourceType")-                <*> (x .@? "ResourceStatusReason")-                <*> (x .@? "ResourceProperties")-                <*> (x .@? "ResourceStatus")-                <*> (x .@ "StackId")-                <*> (x .@ "EventId")-                <*> (x .@ "StackName")-                <*> (x .@ "Timestamp")--instance Hashable StackEvent--instance NFData StackEvent---- | The StackResource data type.------------ /See:/ 'stackResource' smart constructor.-data StackResource = StackResource'-    { _srPhysicalResourceId   :: !(Maybe Text)-    , _srResourceStatusReason :: !(Maybe Text)-    , _srStackId              :: !(Maybe Text)-    , _srDescription          :: !(Maybe Text)-    , _srStackName            :: !(Maybe Text)-    , _srLogicalResourceId    :: !Text-    , _srResourceType         :: !Text-    , _srTimestamp            :: !ISO8601-    , _srResourceStatus       :: !ResourceStatus-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'StackResource' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'srPhysicalResourceId' - The name or unique identifier that corresponds to a physical instance ID of a resource supported by AWS CloudFormation.------ * 'srResourceStatusReason' - Success/failure message associated with the resource.------ * 'srStackId' - Unique identifier of the stack.------ * 'srDescription' - User defined description associated with the resource.------ * 'srStackName' - The name associated with the stack.------ * 'srLogicalResourceId' - The logical name of the resource specified in the template.------ * 'srResourceType' - Type of resource. (For more information, go to <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html AWS Resource Types Reference> in the AWS CloudFormation User Guide.)------ * 'srTimestamp' - Time the status was updated.------ * 'srResourceStatus' - Current status of the resource.-stackResource-    :: Text -- ^ 'srLogicalResourceId'-    -> Text -- ^ 'srResourceType'-    -> UTCTime -- ^ 'srTimestamp'-    -> ResourceStatus -- ^ 'srResourceStatus'-    -> StackResource-stackResource pLogicalResourceId_ pResourceType_ pTimestamp_ pResourceStatus_ =-    StackResource'-    { _srPhysicalResourceId = Nothing-    , _srResourceStatusReason = Nothing-    , _srStackId = Nothing-    , _srDescription = Nothing-    , _srStackName = Nothing-    , _srLogicalResourceId = pLogicalResourceId_-    , _srResourceType = pResourceType_-    , _srTimestamp = _Time # pTimestamp_-    , _srResourceStatus = pResourceStatus_-    }---- | The name or unique identifier that corresponds to a physical instance ID of a resource supported by AWS CloudFormation.-srPhysicalResourceId :: Lens' StackResource (Maybe Text)-srPhysicalResourceId = lens _srPhysicalResourceId (\ s a -> s{_srPhysicalResourceId = a});---- | Success/failure message associated with the resource.-srResourceStatusReason :: Lens' StackResource (Maybe Text)-srResourceStatusReason = lens _srResourceStatusReason (\ s a -> s{_srResourceStatusReason = a});---- | Unique identifier of the stack.-srStackId :: Lens' StackResource (Maybe Text)-srStackId = lens _srStackId (\ s a -> s{_srStackId = a});---- | User defined description associated with the resource.-srDescription :: Lens' StackResource (Maybe Text)-srDescription = lens _srDescription (\ s a -> s{_srDescription = a});---- | The name associated with the stack.-srStackName :: Lens' StackResource (Maybe Text)-srStackName = lens _srStackName (\ s a -> s{_srStackName = a});---- | The logical name of the resource specified in the template.-srLogicalResourceId :: Lens' StackResource Text-srLogicalResourceId = lens _srLogicalResourceId (\ s a -> s{_srLogicalResourceId = a});---- | Type of resource. (For more information, go to <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html AWS Resource Types Reference> in the AWS CloudFormation User Guide.)-srResourceType :: Lens' StackResource Text-srResourceType = lens _srResourceType (\ s a -> s{_srResourceType = a});---- | Time the status was updated.-srTimestamp :: Lens' StackResource UTCTime-srTimestamp = lens _srTimestamp (\ s a -> s{_srTimestamp = a}) . _Time;---- | Current status of the resource.-srResourceStatus :: Lens' StackResource ResourceStatus-srResourceStatus = lens _srResourceStatus (\ s a -> s{_srResourceStatus = a});--instance FromXML StackResource where-        parseXML x-          = StackResource' <$>-              (x .@? "PhysicalResourceId") <*>-                (x .@? "ResourceStatusReason")-                <*> (x .@? "StackId")-                <*> (x .@? "Description")-                <*> (x .@? "StackName")-                <*> (x .@ "LogicalResourceId")-                <*> (x .@ "ResourceType")-                <*> (x .@ "Timestamp")-                <*> (x .@ "ResourceStatus")--instance Hashable StackResource--instance NFData StackResource---- | Contains detailed information about the specified stack resource.------------ /See:/ 'stackResourceDetail' smart constructor.-data StackResourceDetail = StackResourceDetail'-    { _srdPhysicalResourceId   :: !(Maybe Text)-    , _srdResourceStatusReason :: !(Maybe Text)-    , _srdMetadata             :: !(Maybe Text)-    , _srdStackId              :: !(Maybe Text)-    , _srdDescription          :: !(Maybe Text)-    , _srdStackName            :: !(Maybe Text)-    , _srdLogicalResourceId    :: !Text-    , _srdResourceType         :: !Text-    , _srdLastUpdatedTimestamp :: !ISO8601-    , _srdResourceStatus       :: !ResourceStatus-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'StackResourceDetail' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'srdPhysicalResourceId' - The name or unique identifier that corresponds to a physical instance ID of a resource supported by AWS CloudFormation.------ * 'srdResourceStatusReason' - Success/failure message associated with the resource.------ * 'srdMetadata' - The content of the @Metadata@ attribute declared for the resource. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html Metadata Attribute> in the AWS CloudFormation User Guide.------ * 'srdStackId' - Unique identifier of the stack.------ * 'srdDescription' - User defined description associated with the resource.------ * 'srdStackName' - The name associated with the stack.------ * 'srdLogicalResourceId' - The logical name of the resource specified in the template.------ * 'srdResourceType' - Type of resource. ((For more information, go to <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html AWS Resource Types Reference> in the AWS CloudFormation User Guide.)------ * 'srdLastUpdatedTimestamp' - Time the status was updated.------ * 'srdResourceStatus' - Current status of the resource.-stackResourceDetail-    :: Text -- ^ 'srdLogicalResourceId'-    -> Text -- ^ 'srdResourceType'-    -> UTCTime -- ^ 'srdLastUpdatedTimestamp'-    -> ResourceStatus -- ^ 'srdResourceStatus'-    -> StackResourceDetail-stackResourceDetail pLogicalResourceId_ pResourceType_ pLastUpdatedTimestamp_ pResourceStatus_ =-    StackResourceDetail'-    { _srdPhysicalResourceId = Nothing-    , _srdResourceStatusReason = Nothing-    , _srdMetadata = Nothing-    , _srdStackId = Nothing-    , _srdDescription = Nothing-    , _srdStackName = Nothing-    , _srdLogicalResourceId = pLogicalResourceId_-    , _srdResourceType = pResourceType_-    , _srdLastUpdatedTimestamp = _Time # pLastUpdatedTimestamp_-    , _srdResourceStatus = pResourceStatus_-    }---- | The name or unique identifier that corresponds to a physical instance ID of a resource supported by AWS CloudFormation.-srdPhysicalResourceId :: Lens' StackResourceDetail (Maybe Text)-srdPhysicalResourceId = lens _srdPhysicalResourceId (\ s a -> s{_srdPhysicalResourceId = a});---- | Success/failure message associated with the resource.-srdResourceStatusReason :: Lens' StackResourceDetail (Maybe Text)-srdResourceStatusReason = lens _srdResourceStatusReason (\ s a -> s{_srdResourceStatusReason = a});---- | The content of the @Metadata@ attribute declared for the resource. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html Metadata Attribute> in the AWS CloudFormation User Guide.-srdMetadata :: Lens' StackResourceDetail (Maybe Text)-srdMetadata = lens _srdMetadata (\ s a -> s{_srdMetadata = a});---- | Unique identifier of the stack.-srdStackId :: Lens' StackResourceDetail (Maybe Text)-srdStackId = lens _srdStackId (\ s a -> s{_srdStackId = a});---- | User defined description associated with the resource.-srdDescription :: Lens' StackResourceDetail (Maybe Text)-srdDescription = lens _srdDescription (\ s a -> s{_srdDescription = a});---- | The name associated with the stack.-srdStackName :: Lens' StackResourceDetail (Maybe Text)-srdStackName = lens _srdStackName (\ s a -> s{_srdStackName = a});---- | The logical name of the resource specified in the template.-srdLogicalResourceId :: Lens' StackResourceDetail Text-srdLogicalResourceId = lens _srdLogicalResourceId (\ s a -> s{_srdLogicalResourceId = a});---- | Type of resource. ((For more information, go to <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html AWS Resource Types Reference> in the AWS CloudFormation User Guide.)-srdResourceType :: Lens' StackResourceDetail Text-srdResourceType = lens _srdResourceType (\ s a -> s{_srdResourceType = a});---- | Time the status was updated.-srdLastUpdatedTimestamp :: Lens' StackResourceDetail UTCTime-srdLastUpdatedTimestamp = lens _srdLastUpdatedTimestamp (\ s a -> s{_srdLastUpdatedTimestamp = a}) . _Time;---- | Current status of the resource.-srdResourceStatus :: Lens' StackResourceDetail ResourceStatus-srdResourceStatus = lens _srdResourceStatus (\ s a -> s{_srdResourceStatus = a});--instance FromXML StackResourceDetail where-        parseXML x-          = StackResourceDetail' <$>-              (x .@? "PhysicalResourceId") <*>-                (x .@? "ResourceStatusReason")-                <*> (x .@? "Metadata")-                <*> (x .@? "StackId")-                <*> (x .@? "Description")-                <*> (x .@? "StackName")-                <*> (x .@ "LogicalResourceId")-                <*> (x .@ "ResourceType")-                <*> (x .@ "LastUpdatedTimestamp")-                <*> (x .@ "ResourceStatus")--instance Hashable StackResourceDetail--instance NFData StackResourceDetail---- | Contains high-level information about the specified stack resource.------------ /See:/ 'stackResourceSummary' smart constructor.-data StackResourceSummary = StackResourceSummary'-    { _srsPhysicalResourceId   :: !(Maybe Text)-    , _srsResourceStatusReason :: !(Maybe Text)-    , _srsLogicalResourceId    :: !Text-    , _srsResourceType         :: !Text-    , _srsLastUpdatedTimestamp :: !ISO8601-    , _srsResourceStatus       :: !ResourceStatus-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'StackResourceSummary' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'srsPhysicalResourceId' - The name or unique identifier that corresponds to a physical instance ID of the resource.------ * 'srsResourceStatusReason' - Success/failure message associated with the resource.------ * 'srsLogicalResourceId' - The logical name of the resource specified in the template.------ * 'srsResourceType' - Type of resource. (For more information, go to <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html AWS Resource Types Reference> in the AWS CloudFormation User Guide.)------ * 'srsLastUpdatedTimestamp' - Time the status was updated.------ * 'srsResourceStatus' - Current status of the resource.-stackResourceSummary-    :: Text -- ^ 'srsLogicalResourceId'-    -> Text -- ^ 'srsResourceType'-    -> UTCTime -- ^ 'srsLastUpdatedTimestamp'-    -> ResourceStatus -- ^ 'srsResourceStatus'-    -> StackResourceSummary-stackResourceSummary pLogicalResourceId_ pResourceType_ pLastUpdatedTimestamp_ pResourceStatus_ =-    StackResourceSummary'-    { _srsPhysicalResourceId = Nothing-    , _srsResourceStatusReason = Nothing-    , _srsLogicalResourceId = pLogicalResourceId_-    , _srsResourceType = pResourceType_-    , _srsLastUpdatedTimestamp = _Time # pLastUpdatedTimestamp_-    , _srsResourceStatus = pResourceStatus_-    }---- | The name or unique identifier that corresponds to a physical instance ID of the resource.-srsPhysicalResourceId :: Lens' StackResourceSummary (Maybe Text)-srsPhysicalResourceId = lens _srsPhysicalResourceId (\ s a -> s{_srsPhysicalResourceId = a});---- | Success/failure message associated with the resource.-srsResourceStatusReason :: Lens' StackResourceSummary (Maybe Text)-srsResourceStatusReason = lens _srsResourceStatusReason (\ s a -> s{_srsResourceStatusReason = a});---- | The logical name of the resource specified in the template.-srsLogicalResourceId :: Lens' StackResourceSummary Text-srsLogicalResourceId = lens _srsLogicalResourceId (\ s a -> s{_srsLogicalResourceId = a});---- | Type of resource. (For more information, go to <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html AWS Resource Types Reference> in the AWS CloudFormation User Guide.)-srsResourceType :: Lens' StackResourceSummary Text-srsResourceType = lens _srsResourceType (\ s a -> s{_srsResourceType = a});---- | Time the status was updated.-srsLastUpdatedTimestamp :: Lens' StackResourceSummary UTCTime-srsLastUpdatedTimestamp = lens _srsLastUpdatedTimestamp (\ s a -> s{_srsLastUpdatedTimestamp = a}) . _Time;---- | Current status of the resource.-srsResourceStatus :: Lens' StackResourceSummary ResourceStatus-srsResourceStatus = lens _srsResourceStatus (\ s a -> s{_srsResourceStatus = a});--instance FromXML StackResourceSummary where-        parseXML x-          = StackResourceSummary' <$>-              (x .@? "PhysicalResourceId") <*>-                (x .@? "ResourceStatusReason")-                <*> (x .@ "LogicalResourceId")-                <*> (x .@ "ResourceType")-                <*> (x .@ "LastUpdatedTimestamp")-                <*> (x .@ "ResourceStatus")--instance Hashable StackResourceSummary--instance NFData StackResourceSummary---- | The StackSummary Data Type------------ /See:/ 'stackSummary' smart constructor.-data StackSummary = StackSummary'-    { _ssLastUpdatedTime     :: !(Maybe ISO8601)-    , _ssStackStatusReason   :: !(Maybe Text)-    , _ssTemplateDescription :: !(Maybe Text)-    , _ssDeletionTime        :: !(Maybe ISO8601)-    , _ssStackId             :: !(Maybe Text)-    , _ssStackName           :: !Text-    , _ssCreationTime        :: !ISO8601-    , _ssStackStatus         :: !StackStatus-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'StackSummary' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ssLastUpdatedTime' - The time the stack was last updated. This field will only be returned if the stack has been updated at least once.------ * 'ssStackStatusReason' - Success/Failure message associated with the stack status.------ * 'ssTemplateDescription' - The template description of the template used to create the stack.------ * 'ssDeletionTime' - The time the stack was deleted.------ * 'ssStackId' - Unique stack identifier.------ * 'ssStackName' - The name associated with the stack.------ * 'ssCreationTime' - The time the stack was created.------ * 'ssStackStatus' - The current status of the stack.-stackSummary-    :: Text -- ^ 'ssStackName'-    -> UTCTime -- ^ 'ssCreationTime'-    -> StackStatus -- ^ 'ssStackStatus'-    -> StackSummary-stackSummary pStackName_ pCreationTime_ pStackStatus_ =-    StackSummary'-    { _ssLastUpdatedTime = Nothing-    , _ssStackStatusReason = Nothing-    , _ssTemplateDescription = Nothing-    , _ssDeletionTime = Nothing-    , _ssStackId = Nothing-    , _ssStackName = pStackName_-    , _ssCreationTime = _Time # pCreationTime_-    , _ssStackStatus = pStackStatus_-    }---- | The time the stack was last updated. This field will only be returned if the stack has been updated at least once.-ssLastUpdatedTime :: Lens' StackSummary (Maybe UTCTime)-ssLastUpdatedTime = lens _ssLastUpdatedTime (\ s a -> s{_ssLastUpdatedTime = a}) . mapping _Time;---- | Success/Failure message associated with the stack status.-ssStackStatusReason :: Lens' StackSummary (Maybe Text)-ssStackStatusReason = lens _ssStackStatusReason (\ s a -> s{_ssStackStatusReason = a});---- | The template description of the template used to create the stack.-ssTemplateDescription :: Lens' StackSummary (Maybe Text)-ssTemplateDescription = lens _ssTemplateDescription (\ s a -> s{_ssTemplateDescription = a});---- | The time the stack was deleted.-ssDeletionTime :: Lens' StackSummary (Maybe UTCTime)-ssDeletionTime = lens _ssDeletionTime (\ s a -> s{_ssDeletionTime = a}) . mapping _Time;---- | Unique stack identifier.-ssStackId :: Lens' StackSummary (Maybe Text)-ssStackId = lens _ssStackId (\ s a -> s{_ssStackId = a});---- | The name associated with the stack.-ssStackName :: Lens' StackSummary Text-ssStackName = lens _ssStackName (\ s a -> s{_ssStackName = a});---- | The time the stack was created.-ssCreationTime :: Lens' StackSummary UTCTime-ssCreationTime = lens _ssCreationTime (\ s a -> s{_ssCreationTime = a}) . _Time;---- | The current status of the stack.-ssStackStatus :: Lens' StackSummary StackStatus-ssStackStatus = lens _ssStackStatus (\ s a -> s{_ssStackStatus = a});--instance FromXML StackSummary where-        parseXML x-          = StackSummary' <$>-              (x .@? "LastUpdatedTime") <*>-                (x .@? "StackStatusReason")-                <*> (x .@? "TemplateDescription")-                <*> (x .@? "DeletionTime")-                <*> (x .@? "StackId")-                <*> (x .@ "StackName")-                <*> (x .@ "CreationTime")-                <*> (x .@ "StackStatus")--instance Hashable StackSummary--instance NFData StackSummary---- | The Tag type enables you to specify a key-value pair that can be used to store information about an AWS CloudFormation stack.------------ /See:/ 'tag' smart constructor.-data Tag = Tag'-    { _tagValue :: !(Maybe Text)-    , _tagKey   :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Tag' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tagValue' - /Required/ . A string containing the value for this tag. You can specify a maximum of 256 characters for a tag value.------ * 'tagKey' - /Required/ . A string used to identify this tag. You can specify a maximum of 128 characters for a tag key. Tags owned by Amazon Web Services (AWS) have the reserved prefix: @aws:@ .-tag-    :: Tag-tag =-    Tag'-    { _tagValue = Nothing-    , _tagKey = Nothing-    }---- | /Required/ . A string containing the value for this tag. You can specify a maximum of 256 characters for a tag value.-tagValue :: Lens' Tag (Maybe Text)-tagValue = lens _tagValue (\ s a -> s{_tagValue = a});---- | /Required/ . A string used to identify this tag. You can specify a maximum of 128 characters for a tag key. Tags owned by Amazon Web Services (AWS) have the reserved prefix: @aws:@ .-tagKey :: Lens' Tag (Maybe Text)-tagKey = lens _tagKey (\ s a -> s{_tagKey = a});--instance FromXML Tag where-        parseXML x-          = Tag' <$> (x .@? "Value") <*> (x .@? "Key")--instance Hashable Tag--instance NFData Tag--instance ToQuery Tag where-        toQuery Tag'{..}-          = mconcat ["Value" =: _tagValue, "Key" =: _tagKey]---- | The TemplateParameter data type.------------ /See:/ 'templateParameter' smart constructor.-data TemplateParameter = TemplateParameter'-    { _tpParameterKey :: !(Maybe Text)-    , _tpDefaultValue :: !(Maybe Text)-    , _tpNoEcho       :: !(Maybe Bool)-    , _tpDescription  :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'TemplateParameter' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tpParameterKey' - The name associated with the parameter.------ * 'tpDefaultValue' - The default value associated with the parameter.------ * 'tpNoEcho' - Flag indicating whether the parameter should be displayed as plain text in logs and UIs.------ * 'tpDescription' - User defined description associated with the parameter.-templateParameter-    :: TemplateParameter-templateParameter =-    TemplateParameter'-    { _tpParameterKey = Nothing-    , _tpDefaultValue = Nothing-    , _tpNoEcho = Nothing-    , _tpDescription = Nothing-    }---- | The name associated with the parameter.-tpParameterKey :: Lens' TemplateParameter (Maybe Text)-tpParameterKey = lens _tpParameterKey (\ s a -> s{_tpParameterKey = a});---- | The default value associated with the parameter.-tpDefaultValue :: Lens' TemplateParameter (Maybe Text)-tpDefaultValue = lens _tpDefaultValue (\ s a -> s{_tpDefaultValue = a});---- | Flag indicating whether the parameter should be displayed as plain text in logs and UIs.-tpNoEcho :: Lens' TemplateParameter (Maybe Bool)-tpNoEcho = lens _tpNoEcho (\ s a -> s{_tpNoEcho = a});---- | User defined description associated with the parameter.-tpDescription :: Lens' TemplateParameter (Maybe Text)-tpDescription = lens _tpDescription (\ s a -> s{_tpDescription = a});--instance FromXML TemplateParameter where-        parseXML x-          = TemplateParameter' <$>-              (x .@? "ParameterKey") <*> (x .@? "DefaultValue") <*>-                (x .@? "NoEcho")-                <*> (x .@? "Description")--instance Hashable TemplateParameter--instance NFData TemplateParameter+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.CloudFormation.Types.Product where++import Network.AWS.CloudFormation.Types.Sum+import Network.AWS.Lens+import Network.AWS.Prelude++-- | Structure that contains the results of the account gate function which AWS CloudFormation invokes, if present, before proceeding with a stack set operation in an account and region.+--+--+-- For each account and region, AWS CloudFormation lets you specify a Lamdba function that encapsulates any requirements that must be met before CloudFormation can proceed with a stack set operation in that account and region. CloudFormation invokes the function each time a stack set operation is requested for that account and region; if the function returns @FAILED@ , CloudFormation cancels the operation in that account and region, and sets the stack set operation result status for that account and region to @FAILED@ .+--+-- For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-account-gating.html Configuring a target account gate> .+--+--+-- /See:/ 'accountGateResult' smart constructor.+data AccountGateResult = AccountGateResult'+  { _agrStatus       :: !(Maybe AccountGateStatus)+  , _agrStatusReason :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AccountGateResult' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'agrStatus' - The status of the account gate function.     * @SUCCEEDED@ : The account gate function has determined that the account and region passes any requirements for a stack set operation to occur. AWS CloudFormation proceeds with the stack operation in that account and region.      * @FAILED@ : The account gate function has determined that the account and region does not meet the requirements for a stack set operation to occur. AWS CloudFormation cancels the stack set operation in that account and region, and sets the stack set operation result status for that account and region to @FAILED@ .      * @SKIPPED@ : AWS CloudFormation has skipped calling the account gate function for this account and region, for one of the following reasons:     * An account gate function has not been specified for the account and region. AWS CloudFormation proceeds with the stack set operation in this account and region.     * The @AWSCloudFormationStackSetExecutionRole@ of the stack set adminstration account lacks permissions to invoke the function. AWS CloudFormation proceeds with the stack set operation in this account and region.     * Either no action is necessary, or no action is possible, on the stack. AWS CloudFormation skips the stack set operation in this account and region.+--+-- * 'agrStatusReason' - The reason for the account gate status assigned to this account and region for the stack set operation.+accountGateResult+    :: AccountGateResult+accountGateResult =+  AccountGateResult' {_agrStatus = Nothing, _agrStatusReason = Nothing}+++-- | The status of the account gate function.     * @SUCCEEDED@ : The account gate function has determined that the account and region passes any requirements for a stack set operation to occur. AWS CloudFormation proceeds with the stack operation in that account and region.      * @FAILED@ : The account gate function has determined that the account and region does not meet the requirements for a stack set operation to occur. AWS CloudFormation cancels the stack set operation in that account and region, and sets the stack set operation result status for that account and region to @FAILED@ .      * @SKIPPED@ : AWS CloudFormation has skipped calling the account gate function for this account and region, for one of the following reasons:     * An account gate function has not been specified for the account and region. AWS CloudFormation proceeds with the stack set operation in this account and region.     * The @AWSCloudFormationStackSetExecutionRole@ of the stack set adminstration account lacks permissions to invoke the function. AWS CloudFormation proceeds with the stack set operation in this account and region.     * Either no action is necessary, or no action is possible, on the stack. AWS CloudFormation skips the stack set operation in this account and region.+agrStatus :: Lens' AccountGateResult (Maybe AccountGateStatus)+agrStatus = lens _agrStatus (\ s a -> s{_agrStatus = a});++-- | The reason for the account gate status assigned to this account and region for the stack set operation.+agrStatusReason :: Lens' AccountGateResult (Maybe Text)+agrStatusReason = lens _agrStatusReason (\ s a -> s{_agrStatusReason = a});++instance FromXML AccountGateResult where+        parseXML x+          = AccountGateResult' <$>+              (x .@? "Status") <*> (x .@? "StatusReason")++instance Hashable AccountGateResult where++instance NFData AccountGateResult where++-- | The AccountLimit data type.+--+--+--+-- /See:/ 'accountLimit' smart constructor.+data AccountLimit = AccountLimit'+  { _alValue :: !(Maybe Int)+  , _alName  :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AccountLimit' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'alValue' - The value that is associated with the account limit name.+--+-- * 'alName' - The name of the account limit. Currently, the only account limit is @StackLimit@ .+accountLimit+    :: AccountLimit+accountLimit = AccountLimit' {_alValue = Nothing, _alName = Nothing}+++-- | The value that is associated with the account limit name.+alValue :: Lens' AccountLimit (Maybe Int)+alValue = lens _alValue (\ s a -> s{_alValue = a});++-- | The name of the account limit. Currently, the only account limit is @StackLimit@ .+alName :: Lens' AccountLimit (Maybe Text)+alName = lens _alName (\ s a -> s{_alName = a});++instance FromXML AccountLimit where+        parseXML x+          = AccountLimit' <$>+              (x .@? "Value") <*> (x .@? "Name")++instance Hashable AccountLimit where++instance NFData AccountLimit where++-- | The @Change@ structure describes the changes AWS CloudFormation will perform if you execute the change set.+--+--+--+-- /See:/ 'change' smart constructor.+data Change = Change'+  { _cResourceChange :: !(Maybe ResourceChange)+  , _cType           :: !(Maybe ChangeType)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Change' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cResourceChange' - A @ResourceChange@ structure that describes the resource and action that AWS CloudFormation will perform.+--+-- * 'cType' - The type of entity that AWS CloudFormation changes. Currently, the only entity type is @Resource@ .+change+    :: Change+change = Change' {_cResourceChange = Nothing, _cType = Nothing}+++-- | A @ResourceChange@ structure that describes the resource and action that AWS CloudFormation will perform.+cResourceChange :: Lens' Change (Maybe ResourceChange)+cResourceChange = lens _cResourceChange (\ s a -> s{_cResourceChange = a});++-- | The type of entity that AWS CloudFormation changes. Currently, the only entity type is @Resource@ .+cType :: Lens' Change (Maybe ChangeType)+cType = lens _cType (\ s a -> s{_cType = a});++instance FromXML Change where+        parseXML x+          = Change' <$>+              (x .@? "ResourceChange") <*> (x .@? "Type")++instance Hashable Change where++instance NFData Change where++-- | The @ChangeSetSummary@ structure describes a change set, its status, and the stack with which it's associated.+--+--+--+-- /See:/ 'changeSetSummary' smart constructor.+data ChangeSetSummary = ChangeSetSummary'+  { _cCreationTime    :: !(Maybe ISO8601)+  , _cStatus          :: !(Maybe ChangeSetStatus)+  , _cChangeSetName   :: !(Maybe Text)+  , _cExecutionStatus :: !(Maybe ExecutionStatus)+  , _cChangeSetId     :: !(Maybe Text)+  , _cStatusReason    :: !(Maybe Text)+  , _cStackId         :: !(Maybe Text)+  , _cDescription     :: !(Maybe Text)+  , _cStackName       :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ChangeSetSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cCreationTime' - The start time when the change set was created, in UTC.+--+-- * 'cStatus' - The state of the change set, such as @CREATE_IN_PROGRESS@ , @CREATE_COMPLETE@ , or @FAILED@ .+--+-- * 'cChangeSetName' - The name of the change set.+--+-- * 'cExecutionStatus' - If the change set execution status is @AVAILABLE@ , you can execute the change set. If you can’t execute the change set, the status indicates why. For example, a change set might be in an @UNAVAILABLE@ state because AWS CloudFormation is still creating it or in an @OBSOLETE@ state because the stack was already updated.+--+-- * 'cChangeSetId' - The ID of the change set.+--+-- * 'cStatusReason' - A description of the change set's status. For example, if your change set is in the @FAILED@ state, AWS CloudFormation shows the error message.+--+-- * 'cStackId' - The ID of the stack with which the change set is associated.+--+-- * 'cDescription' - Descriptive information about the change set.+--+-- * 'cStackName' - The name of the stack with which the change set is associated.+changeSetSummary+    :: ChangeSetSummary+changeSetSummary =+  ChangeSetSummary'+  { _cCreationTime = Nothing+  , _cStatus = Nothing+  , _cChangeSetName = Nothing+  , _cExecutionStatus = Nothing+  , _cChangeSetId = Nothing+  , _cStatusReason = Nothing+  , _cStackId = Nothing+  , _cDescription = Nothing+  , _cStackName = Nothing+  }+++-- | The start time when the change set was created, in UTC.+cCreationTime :: Lens' ChangeSetSummary (Maybe UTCTime)+cCreationTime = lens _cCreationTime (\ s a -> s{_cCreationTime = a}) . mapping _Time;++-- | The state of the change set, such as @CREATE_IN_PROGRESS@ , @CREATE_COMPLETE@ , or @FAILED@ .+cStatus :: Lens' ChangeSetSummary (Maybe ChangeSetStatus)+cStatus = lens _cStatus (\ s a -> s{_cStatus = a});++-- | The name of the change set.+cChangeSetName :: Lens' ChangeSetSummary (Maybe Text)+cChangeSetName = lens _cChangeSetName (\ s a -> s{_cChangeSetName = a});++-- | If the change set execution status is @AVAILABLE@ , you can execute the change set. If you can’t execute the change set, the status indicates why. For example, a change set might be in an @UNAVAILABLE@ state because AWS CloudFormation is still creating it or in an @OBSOLETE@ state because the stack was already updated.+cExecutionStatus :: Lens' ChangeSetSummary (Maybe ExecutionStatus)+cExecutionStatus = lens _cExecutionStatus (\ s a -> s{_cExecutionStatus = a});++-- | The ID of the change set.+cChangeSetId :: Lens' ChangeSetSummary (Maybe Text)+cChangeSetId = lens _cChangeSetId (\ s a -> s{_cChangeSetId = a});++-- | A description of the change set's status. For example, if your change set is in the @FAILED@ state, AWS CloudFormation shows the error message.+cStatusReason :: Lens' ChangeSetSummary (Maybe Text)+cStatusReason = lens _cStatusReason (\ s a -> s{_cStatusReason = a});++-- | The ID of the stack with which the change set is associated.+cStackId :: Lens' ChangeSetSummary (Maybe Text)+cStackId = lens _cStackId (\ s a -> s{_cStackId = a});++-- | Descriptive information about the change set.+cDescription :: Lens' ChangeSetSummary (Maybe Text)+cDescription = lens _cDescription (\ s a -> s{_cDescription = a});++-- | The name of the stack with which the change set is associated.+cStackName :: Lens' ChangeSetSummary (Maybe Text)+cStackName = lens _cStackName (\ s a -> s{_cStackName = a});++instance FromXML ChangeSetSummary where+        parseXML x+          = ChangeSetSummary' <$>+              (x .@? "CreationTime") <*> (x .@? "Status") <*>+                (x .@? "ChangeSetName")+                <*> (x .@? "ExecutionStatus")+                <*> (x .@? "ChangeSetId")+                <*> (x .@? "StatusReason")+                <*> (x .@? "StackId")+                <*> (x .@? "Description")+                <*> (x .@? "StackName")++instance Hashable ChangeSetSummary where++instance NFData ChangeSetSummary where++-- | The @Export@ structure describes the exported output values for a stack.+--+--+--+-- /See:/ 'export'' smart constructor.+data Export = Export'+  { _eValue            :: !(Maybe Text)+  , _eExportingStackId :: !(Maybe Text)+  , _eName             :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Export' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eValue' - The value of the exported output, such as a resource physical ID. This value is defined in the @Export@ field in the associated stack's @Outputs@ section.+--+-- * 'eExportingStackId' - The stack that contains the exported output name and value.+--+-- * 'eName' - The name of exported output value. Use this name and the @Fn::ImportValue@ function to import the associated value into other stacks. The name is defined in the @Export@ field in the associated stack's @Outputs@ section.+export'+    :: Export+export' =+  Export' {_eValue = Nothing, _eExportingStackId = Nothing, _eName = Nothing}+++-- | The value of the exported output, such as a resource physical ID. This value is defined in the @Export@ field in the associated stack's @Outputs@ section.+eValue :: Lens' Export (Maybe Text)+eValue = lens _eValue (\ s a -> s{_eValue = a});++-- | The stack that contains the exported output name and value.+eExportingStackId :: Lens' Export (Maybe Text)+eExportingStackId = lens _eExportingStackId (\ s a -> s{_eExportingStackId = a});++-- | The name of exported output value. Use this name and the @Fn::ImportValue@ function to import the associated value into other stacks. The name is defined in the @Export@ field in the associated stack's @Outputs@ section.+eName :: Lens' Export (Maybe Text)+eName = lens _eName (\ s a -> s{_eName = a});++instance FromXML Export where+        parseXML x+          = Export' <$>+              (x .@? "Value") <*> (x .@? "ExportingStackId") <*>+                (x .@? "Name")++instance Hashable Export where++instance NFData Export where++-- | The Output data type.+--+--+--+-- /See:/ 'output' smart constructor.+data Output = Output'+  { _oOutputValue :: !(Maybe Text)+  , _oOutputKey   :: !(Maybe Text)+  , _oExportName  :: !(Maybe Text)+  , _oDescription :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Output' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oOutputValue' - The value associated with the output.+--+-- * 'oOutputKey' - The key associated with the output.+--+-- * 'oExportName' - The name of the export associated with the output.+--+-- * 'oDescription' - User defined description associated with the output.+output+    :: Output+output =+  Output'+  { _oOutputValue = Nothing+  , _oOutputKey = Nothing+  , _oExportName = Nothing+  , _oDescription = Nothing+  }+++-- | The value associated with the output.+oOutputValue :: Lens' Output (Maybe Text)+oOutputValue = lens _oOutputValue (\ s a -> s{_oOutputValue = a});++-- | The key associated with the output.+oOutputKey :: Lens' Output (Maybe Text)+oOutputKey = lens _oOutputKey (\ s a -> s{_oOutputKey = a});++-- | The name of the export associated with the output.+oExportName :: Lens' Output (Maybe Text)+oExportName = lens _oExportName (\ s a -> s{_oExportName = a});++-- | User defined description associated with the output.+oDescription :: Lens' Output (Maybe Text)+oDescription = lens _oDescription (\ s a -> s{_oDescription = a});++instance FromXML Output where+        parseXML x+          = Output' <$>+              (x .@? "OutputValue") <*> (x .@? "OutputKey") <*>+                (x .@? "ExportName")+                <*> (x .@? "Description")++instance Hashable Output where++instance NFData Output where++-- | The Parameter data type.+--+--+--+-- /See:/ 'parameter' smart constructor.+data Parameter = Parameter'+  { _pParameterValue   :: !(Maybe Text)+  , _pParameterKey     :: !(Maybe Text)+  , _pUsePreviousValue :: !(Maybe Bool)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Parameter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pParameterValue' - The value associated with the parameter.+--+-- * 'pParameterKey' - The key associated with the parameter. If you don't specify a key and value for a particular parameter, AWS CloudFormation uses the default value that is specified in your template.+--+-- * 'pUsePreviousValue' - During a stack update, use the existing parameter value that the stack is using for a given parameter key. If you specify @true@ , do not specify a parameter value.+parameter+    :: Parameter+parameter =+  Parameter'+  { _pParameterValue = Nothing+  , _pParameterKey = Nothing+  , _pUsePreviousValue = Nothing+  }+++-- | The value associated with the parameter.+pParameterValue :: Lens' Parameter (Maybe Text)+pParameterValue = lens _pParameterValue (\ s a -> s{_pParameterValue = a});++-- | The key associated with the parameter. If you don't specify a key and value for a particular parameter, AWS CloudFormation uses the default value that is specified in your template.+pParameterKey :: Lens' Parameter (Maybe Text)+pParameterKey = lens _pParameterKey (\ s a -> s{_pParameterKey = a});++-- | During a stack update, use the existing parameter value that the stack is using for a given parameter key. If you specify @true@ , do not specify a parameter value.+pUsePreviousValue :: Lens' Parameter (Maybe Bool)+pUsePreviousValue = lens _pUsePreviousValue (\ s a -> s{_pUsePreviousValue = a});++instance FromXML Parameter where+        parseXML x+          = Parameter' <$>+              (x .@? "ParameterValue") <*> (x .@? "ParameterKey")+                <*> (x .@? "UsePreviousValue")++instance Hashable Parameter where++instance NFData Parameter where++instance ToQuery Parameter where+        toQuery Parameter'{..}+          = mconcat+              ["ParameterValue" =: _pParameterValue,+               "ParameterKey" =: _pParameterKey,+               "UsePreviousValue" =: _pUsePreviousValue]++-- | A set of criteria that AWS CloudFormation uses to validate parameter values. Although other constraints might be defined in the stack template, AWS CloudFormation returns only the @AllowedValues@ property.+--+--+--+-- /See:/ 'parameterConstraints' smart constructor.+newtype ParameterConstraints = ParameterConstraints'+  { _pcAllowedValues :: Maybe [Text]+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ParameterConstraints' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pcAllowedValues' - A list of values that are permitted for a parameter.+parameterConstraints+    :: ParameterConstraints+parameterConstraints = ParameterConstraints' {_pcAllowedValues = Nothing}+++-- | A list of values that are permitted for a parameter.+pcAllowedValues :: Lens' ParameterConstraints [Text]+pcAllowedValues = lens _pcAllowedValues (\ s a -> s{_pcAllowedValues = a}) . _Default . _Coerce;++instance FromXML ParameterConstraints where+        parseXML x+          = ParameterConstraints' <$>+              (x .@? "AllowedValues" .!@ mempty >>=+                 may (parseXMLList "member"))++instance Hashable ParameterConstraints where++instance NFData ParameterConstraints where++-- | The ParameterDeclaration data type.+--+--+--+-- /See:/ 'parameterDeclaration' smart constructor.+data ParameterDeclaration = ParameterDeclaration'+  { _pdParameterKey         :: !(Maybe Text)+  , _pdParameterType        :: !(Maybe Text)+  , _pdParameterConstraints :: !(Maybe ParameterConstraints)+  , _pdDefaultValue         :: !(Maybe Text)+  , _pdNoEcho               :: !(Maybe Bool)+  , _pdDescription          :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ParameterDeclaration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pdParameterKey' - The name that is associated with the parameter.+--+-- * 'pdParameterType' - The type of parameter.+--+-- * 'pdParameterConstraints' - The criteria that AWS CloudFormation uses to validate parameter values.+--+-- * 'pdDefaultValue' - The default value of the parameter.+--+-- * 'pdNoEcho' - Flag that indicates whether the parameter value is shown as plain text in logs and in the AWS Management Console.+--+-- * 'pdDescription' - The description that is associate with the parameter.+parameterDeclaration+    :: ParameterDeclaration+parameterDeclaration =+  ParameterDeclaration'+  { _pdParameterKey = Nothing+  , _pdParameterType = Nothing+  , _pdParameterConstraints = Nothing+  , _pdDefaultValue = Nothing+  , _pdNoEcho = Nothing+  , _pdDescription = Nothing+  }+++-- | The name that is associated with the parameter.+pdParameterKey :: Lens' ParameterDeclaration (Maybe Text)+pdParameterKey = lens _pdParameterKey (\ s a -> s{_pdParameterKey = a});++-- | The type of parameter.+pdParameterType :: Lens' ParameterDeclaration (Maybe Text)+pdParameterType = lens _pdParameterType (\ s a -> s{_pdParameterType = a});++-- | The criteria that AWS CloudFormation uses to validate parameter values.+pdParameterConstraints :: Lens' ParameterDeclaration (Maybe ParameterConstraints)+pdParameterConstraints = lens _pdParameterConstraints (\ s a -> s{_pdParameterConstraints = a});++-- | The default value of the parameter.+pdDefaultValue :: Lens' ParameterDeclaration (Maybe Text)+pdDefaultValue = lens _pdDefaultValue (\ s a -> s{_pdDefaultValue = a});++-- | Flag that indicates whether the parameter value is shown as plain text in logs and in the AWS Management Console.+pdNoEcho :: Lens' ParameterDeclaration (Maybe Bool)+pdNoEcho = lens _pdNoEcho (\ s a -> s{_pdNoEcho = a});++-- | The description that is associate with the parameter.+pdDescription :: Lens' ParameterDeclaration (Maybe Text)+pdDescription = lens _pdDescription (\ s a -> s{_pdDescription = a});++instance FromXML ParameterDeclaration where+        parseXML x+          = ParameterDeclaration' <$>+              (x .@? "ParameterKey") <*> (x .@? "ParameterType")+                <*> (x .@? "ParameterConstraints")+                <*> (x .@? "DefaultValue")+                <*> (x .@? "NoEcho")+                <*> (x .@? "Description")++instance Hashable ParameterDeclaration where++instance NFData ParameterDeclaration where++-- | The @ResourceChange@ structure describes the resource and the action that AWS CloudFormation will perform on it if you execute this change set.+--+--+--+-- /See:/ 'resourceChange' smart constructor.+data ResourceChange = ResourceChange'+  { _rcLogicalResourceId  :: !(Maybe Text)+  , _rcPhysicalResourceId :: !(Maybe Text)+  , _rcResourceType       :: !(Maybe Text)+  , _rcAction             :: !(Maybe ChangeAction)+  , _rcScope              :: !(Maybe [ResourceAttribute])+  , _rcDetails            :: !(Maybe [ResourceChangeDetail])+  , _rcReplacement        :: !(Maybe Replacement)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ResourceChange' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcLogicalResourceId' - The resource's logical ID, which is defined in the stack's template.+--+-- * 'rcPhysicalResourceId' - The resource's physical ID (resource name). Resources that you are adding don't have physical IDs because they haven't been created.+--+-- * 'rcResourceType' - The type of AWS CloudFormation resource, such as @AWS::S3::Bucket@ .+--+-- * 'rcAction' - The action that AWS CloudFormation takes on the resource, such as @Add@ (adds a new resource), @Modify@ (changes a resource), or @Remove@ (deletes a resource).+--+-- * 'rcScope' - For the @Modify@ action, indicates which resource attribute is triggering this update, such as a change in the resource attribute's @Metadata@ , @Properties@ , or @Tags@ .+--+-- * 'rcDetails' - For the @Modify@ action, a list of @ResourceChangeDetail@ structures that describes the changes that AWS CloudFormation will make to the resource.+--+-- * 'rcReplacement' - For the @Modify@ action, indicates whether AWS CloudFormation will replace the resource by creating a new one and deleting the old one. This value depends on the value of the @RequiresRecreation@ property in the @ResourceTargetDefinition@ structure. For example, if the @RequiresRecreation@ field is @Always@ and the @Evaluation@ field is @Static@ , @Replacement@ is @True@ . If the @RequiresRecreation@ field is @Always@ and the @Evaluation@ field is @Dynamic@ , @Replacement@ is @Conditionally@ . If you have multiple changes with different @RequiresRecreation@ values, the @Replacement@ value depends on the change with the most impact. A @RequiresRecreation@ value of @Always@ has the most impact, followed by @Conditionally@ , and then @Never@ .+resourceChange+    :: ResourceChange+resourceChange =+  ResourceChange'+  { _rcLogicalResourceId = Nothing+  , _rcPhysicalResourceId = Nothing+  , _rcResourceType = Nothing+  , _rcAction = Nothing+  , _rcScope = Nothing+  , _rcDetails = Nothing+  , _rcReplacement = Nothing+  }+++-- | The resource's logical ID, which is defined in the stack's template.+rcLogicalResourceId :: Lens' ResourceChange (Maybe Text)+rcLogicalResourceId = lens _rcLogicalResourceId (\ s a -> s{_rcLogicalResourceId = a});++-- | The resource's physical ID (resource name). Resources that you are adding don't have physical IDs because they haven't been created.+rcPhysicalResourceId :: Lens' ResourceChange (Maybe Text)+rcPhysicalResourceId = lens _rcPhysicalResourceId (\ s a -> s{_rcPhysicalResourceId = a});++-- | The type of AWS CloudFormation resource, such as @AWS::S3::Bucket@ .+rcResourceType :: Lens' ResourceChange (Maybe Text)+rcResourceType = lens _rcResourceType (\ s a -> s{_rcResourceType = a});++-- | The action that AWS CloudFormation takes on the resource, such as @Add@ (adds a new resource), @Modify@ (changes a resource), or @Remove@ (deletes a resource).+rcAction :: Lens' ResourceChange (Maybe ChangeAction)+rcAction = lens _rcAction (\ s a -> s{_rcAction = a});++-- | For the @Modify@ action, indicates which resource attribute is triggering this update, such as a change in the resource attribute's @Metadata@ , @Properties@ , or @Tags@ .+rcScope :: Lens' ResourceChange [ResourceAttribute]+rcScope = lens _rcScope (\ s a -> s{_rcScope = a}) . _Default . _Coerce;++-- | For the @Modify@ action, a list of @ResourceChangeDetail@ structures that describes the changes that AWS CloudFormation will make to the resource.+rcDetails :: Lens' ResourceChange [ResourceChangeDetail]+rcDetails = lens _rcDetails (\ s a -> s{_rcDetails = a}) . _Default . _Coerce;++-- | For the @Modify@ action, indicates whether AWS CloudFormation will replace the resource by creating a new one and deleting the old one. This value depends on the value of the @RequiresRecreation@ property in the @ResourceTargetDefinition@ structure. For example, if the @RequiresRecreation@ field is @Always@ and the @Evaluation@ field is @Static@ , @Replacement@ is @True@ . If the @RequiresRecreation@ field is @Always@ and the @Evaluation@ field is @Dynamic@ , @Replacement@ is @Conditionally@ . If you have multiple changes with different @RequiresRecreation@ values, the @Replacement@ value depends on the change with the most impact. A @RequiresRecreation@ value of @Always@ has the most impact, followed by @Conditionally@ , and then @Never@ .+rcReplacement :: Lens' ResourceChange (Maybe Replacement)+rcReplacement = lens _rcReplacement (\ s a -> s{_rcReplacement = a});++instance FromXML ResourceChange where+        parseXML x+          = ResourceChange' <$>+              (x .@? "LogicalResourceId") <*>+                (x .@? "PhysicalResourceId")+                <*> (x .@? "ResourceType")+                <*> (x .@? "Action")+                <*>+                (x .@? "Scope" .!@ mempty >>=+                   may (parseXMLList "member"))+                <*>+                (x .@? "Details" .!@ mempty >>=+                   may (parseXMLList "member"))+                <*> (x .@? "Replacement")++instance Hashable ResourceChange where++instance NFData ResourceChange where++-- | For a resource with @Modify@ as the action, the @ResourceChange@ structure describes the changes AWS CloudFormation will make to that resource.+--+--+--+-- /See:/ 'resourceChangeDetail' smart constructor.+data ResourceChangeDetail = ResourceChangeDetail'+  { _rcdCausingEntity :: !(Maybe Text)+  , _rcdChangeSource  :: !(Maybe ChangeSource)+  , _rcdEvaluation    :: !(Maybe EvaluationType)+  , _rcdTarget        :: !(Maybe ResourceTargetDefinition)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ResourceChangeDetail' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcdCausingEntity' - The identity of the entity that triggered this change. This entity is a member of the group that is specified by the @ChangeSource@ field. For example, if you modified the value of the @KeyPairName@ parameter, the @CausingEntity@ is the name of the parameter (@KeyPairName@ ). If the @ChangeSource@ value is @DirectModification@ , no value is given for @CausingEntity@ .+--+-- * 'rcdChangeSource' - The group to which the @CausingEntity@ value belongs. There are five entity groups:     * @ResourceReference@ entities are @Ref@ intrinsic functions that refer to resources in the template, such as @{ "Ref" : "MyEC2InstanceResource" }@ .     * @ParameterReference@ entities are @Ref@ intrinsic functions that get template parameter values, such as @{ "Ref" : "MyPasswordParameter" }@ .     * @ResourceAttribute@ entities are @Fn::GetAtt@ intrinsic functions that get resource attribute values, such as @{ "Fn::GetAtt" : [ "MyEC2InstanceResource", "PublicDnsName" ] }@ .     * @DirectModification@ entities are changes that are made directly to the template.     * @Automatic@ entities are @AWS::CloudFormation::Stack@ resource types, which are also known as nested stacks. If you made no changes to the @AWS::CloudFormation::Stack@ resource, AWS CloudFormation sets the @ChangeSource@ to @Automatic@ because the nested stack's template might have changed. Changes to a nested stack's template aren't visible to AWS CloudFormation until you run an update on the parent stack.+--+-- * 'rcdEvaluation' - Indicates whether AWS CloudFormation can determine the target value, and whether the target value will change before you execute a change set. For @Static@ evaluations, AWS CloudFormation can determine that the target value will change, and its value. For example, if you directly modify the @InstanceType@ property of an EC2 instance, AWS CloudFormation knows that this property value will change, and its value, so this is a @Static@ evaluation. For @Dynamic@ evaluations, cannot determine the target value because it depends on the result of an intrinsic function, such as a @Ref@ or @Fn::GetAtt@ intrinsic function, when the stack is updated. For example, if your template includes a reference to a resource that is conditionally recreated, the value of the reference (the physical ID of the resource) might change, depending on if the resource is recreated. If the resource is recreated, it will have a new physical ID, so all references to that resource will also be updated.+--+-- * 'rcdTarget' - A @ResourceTargetDefinition@ structure that describes the field that AWS CloudFormation will change and whether the resource will be recreated.+resourceChangeDetail+    :: ResourceChangeDetail+resourceChangeDetail =+  ResourceChangeDetail'+  { _rcdCausingEntity = Nothing+  , _rcdChangeSource = Nothing+  , _rcdEvaluation = Nothing+  , _rcdTarget = Nothing+  }+++-- | The identity of the entity that triggered this change. This entity is a member of the group that is specified by the @ChangeSource@ field. For example, if you modified the value of the @KeyPairName@ parameter, the @CausingEntity@ is the name of the parameter (@KeyPairName@ ). If the @ChangeSource@ value is @DirectModification@ , no value is given for @CausingEntity@ .+rcdCausingEntity :: Lens' ResourceChangeDetail (Maybe Text)+rcdCausingEntity = lens _rcdCausingEntity (\ s a -> s{_rcdCausingEntity = a});++-- | The group to which the @CausingEntity@ value belongs. There are five entity groups:     * @ResourceReference@ entities are @Ref@ intrinsic functions that refer to resources in the template, such as @{ "Ref" : "MyEC2InstanceResource" }@ .     * @ParameterReference@ entities are @Ref@ intrinsic functions that get template parameter values, such as @{ "Ref" : "MyPasswordParameter" }@ .     * @ResourceAttribute@ entities are @Fn::GetAtt@ intrinsic functions that get resource attribute values, such as @{ "Fn::GetAtt" : [ "MyEC2InstanceResource", "PublicDnsName" ] }@ .     * @DirectModification@ entities are changes that are made directly to the template.     * @Automatic@ entities are @AWS::CloudFormation::Stack@ resource types, which are also known as nested stacks. If you made no changes to the @AWS::CloudFormation::Stack@ resource, AWS CloudFormation sets the @ChangeSource@ to @Automatic@ because the nested stack's template might have changed. Changes to a nested stack's template aren't visible to AWS CloudFormation until you run an update on the parent stack.+rcdChangeSource :: Lens' ResourceChangeDetail (Maybe ChangeSource)+rcdChangeSource = lens _rcdChangeSource (\ s a -> s{_rcdChangeSource = a});++-- | Indicates whether AWS CloudFormation can determine the target value, and whether the target value will change before you execute a change set. For @Static@ evaluations, AWS CloudFormation can determine that the target value will change, and its value. For example, if you directly modify the @InstanceType@ property of an EC2 instance, AWS CloudFormation knows that this property value will change, and its value, so this is a @Static@ evaluation. For @Dynamic@ evaluations, cannot determine the target value because it depends on the result of an intrinsic function, such as a @Ref@ or @Fn::GetAtt@ intrinsic function, when the stack is updated. For example, if your template includes a reference to a resource that is conditionally recreated, the value of the reference (the physical ID of the resource) might change, depending on if the resource is recreated. If the resource is recreated, it will have a new physical ID, so all references to that resource will also be updated.+rcdEvaluation :: Lens' ResourceChangeDetail (Maybe EvaluationType)+rcdEvaluation = lens _rcdEvaluation (\ s a -> s{_rcdEvaluation = a});++-- | A @ResourceTargetDefinition@ structure that describes the field that AWS CloudFormation will change and whether the resource will be recreated.+rcdTarget :: Lens' ResourceChangeDetail (Maybe ResourceTargetDefinition)+rcdTarget = lens _rcdTarget (\ s a -> s{_rcdTarget = a});++instance FromXML ResourceChangeDetail where+        parseXML x+          = ResourceChangeDetail' <$>+              (x .@? "CausingEntity") <*> (x .@? "ChangeSource")+                <*> (x .@? "Evaluation")+                <*> (x .@? "Target")++instance Hashable ResourceChangeDetail where++instance NFData ResourceChangeDetail where++-- | The field that AWS CloudFormation will change, such as the name of a resource's property, and whether the resource will be recreated.+--+--+--+-- /See:/ 'resourceTargetDefinition' smart constructor.+data ResourceTargetDefinition = ResourceTargetDefinition'+  { _rtdAttribute          :: !(Maybe ResourceAttribute)+  , _rtdRequiresRecreation :: !(Maybe RequiresRecreation)+  , _rtdName               :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ResourceTargetDefinition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rtdAttribute' - Indicates which resource attribute is triggering this update, such as a change in the resource attribute's @Metadata@ , @Properties@ , or @Tags@ .+--+-- * 'rtdRequiresRecreation' - If the @Attribute@ value is @Properties@ , indicates whether a change to this property causes the resource to be recreated. The value can be @Never@ , @Always@ , or @Conditionally@ . To determine the conditions for a @Conditionally@ recreation, see the update behavior for that <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html property> in the AWS CloudFormation User Guide.+--+-- * 'rtdName' - If the @Attribute@ value is @Properties@ , the name of the property. For all other attributes, the value is null.+resourceTargetDefinition+    :: ResourceTargetDefinition+resourceTargetDefinition =+  ResourceTargetDefinition'+  { _rtdAttribute = Nothing+  , _rtdRequiresRecreation = Nothing+  , _rtdName = Nothing+  }+++-- | Indicates which resource attribute is triggering this update, such as a change in the resource attribute's @Metadata@ , @Properties@ , or @Tags@ .+rtdAttribute :: Lens' ResourceTargetDefinition (Maybe ResourceAttribute)+rtdAttribute = lens _rtdAttribute (\ s a -> s{_rtdAttribute = a});++-- | If the @Attribute@ value is @Properties@ , indicates whether a change to this property causes the resource to be recreated. The value can be @Never@ , @Always@ , or @Conditionally@ . To determine the conditions for a @Conditionally@ recreation, see the update behavior for that <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html property> in the AWS CloudFormation User Guide.+rtdRequiresRecreation :: Lens' ResourceTargetDefinition (Maybe RequiresRecreation)+rtdRequiresRecreation = lens _rtdRequiresRecreation (\ s a -> s{_rtdRequiresRecreation = a});++-- | If the @Attribute@ value is @Properties@ , the name of the property. For all other attributes, the value is null.+rtdName :: Lens' ResourceTargetDefinition (Maybe Text)+rtdName = lens _rtdName (\ s a -> s{_rtdName = a});++instance FromXML ResourceTargetDefinition where+        parseXML x+          = ResourceTargetDefinition' <$>+              (x .@? "Attribute") <*> (x .@? "RequiresRecreation")+                <*> (x .@? "Name")++instance Hashable ResourceTargetDefinition where++instance NFData ResourceTargetDefinition where++-- | Structure containing the rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.+--+--+-- Rollback triggers enable you to have AWS CloudFormation monitor the state of your application during stack creation and updating, and to roll back that operation if the application breaches the threshold of any of the alarms you've specified. For each rollback trigger you create, you specify the Cloudwatch alarm that CloudFormation should monitor. CloudFormation monitors the specified alarms during the stack create or update operation, and for the specified amount of time after all resources have been deployed. If any of the alarms goes to ALERT state during the stack operation or the monitoring period, CloudFormation rolls back the entire stack operation. If the monitoring period expires without any alarms going to ALERT state, CloudFormation proceeds to dispose of old resources as usual.+--+-- By default, CloudFormation only rolls back stack operations if an alarm goes to ALERT state, not INSUFFICIENT_DATA state. To have CloudFormation roll back the stack operation if an alarm goes to INSUFFICIENT_DATA state as well, edit the CloudWatch alarm to treat missing data as @breaching@ . For more information, see <http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html Configuring How CloudWatch Alarms Treats Missing Data> .+--+-- AWS CloudFormation does not monitor rollback triggers when it rolls back a stack during an update operation.+--+--+-- /See:/ 'rollbackConfiguration' smart constructor.+data RollbackConfiguration = RollbackConfiguration'+  { _rcRollbackTriggers        :: !(Maybe [RollbackTrigger])+  , _rcMonitoringTimeInMinutes :: !(Maybe Nat)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RollbackConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcRollbackTriggers' - The triggers to monitor during stack creation or update actions.  By default, AWS CloudFormation saves the rollback triggers specified for a stack and applies them to any subsequent update operations for the stack, unless you specify otherwise. If you do specify rollback triggers for this parameter, those triggers replace any list of triggers previously specified for the stack. This means:     * If you don't specify this parameter, AWS CloudFormation uses the rollback triggers previously specified for this stack, if any.     * If you specify any rollback triggers using this parameter, you must specify all the triggers that you want used for this stack, even triggers you've specifed before (for example, when creating the stack or during a previous stack update). Any triggers that you don't include in the updated list of triggers are no longer applied to the stack.     * If you specify an empty list, AWS CloudFormation removes all currently specified triggers. If a specified Cloudwatch alarm is missing, the entire stack operation fails and is rolled back.+--+-- * 'rcMonitoringTimeInMinutes' - The amount of time, in minutes, during which CloudFormation should monitor all the rollback triggers after the stack creation or update operation deploys all necessary resources. If any of the alarms goes to ALERT state during the stack operation or this monitoring period, CloudFormation rolls back the entire stack operation. Then, for update operations, if the monitoring period expires without any alarms going to ALERT state CloudFormation proceeds to dispose of old resources as usual. If you specify a monitoring period but do not specify any rollback triggers, CloudFormation still waits the specified period of time before cleaning up old resources for update operations. You can use this monitoring period to perform any manual stack validation desired, and manually cancel the stack creation or update (using <http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CancelUpdateStack.html CancelUpdateStack> , for example) as necessary. If you specify 0 for this parameter, CloudFormation still monitors the specified rollback triggers during stack creation and update operations. Then, for update operations, it begins disposing of old resources immediately once the operation completes.+rollbackConfiguration+    :: RollbackConfiguration+rollbackConfiguration =+  RollbackConfiguration'+  {_rcRollbackTriggers = Nothing, _rcMonitoringTimeInMinutes = Nothing}+++-- | The triggers to monitor during stack creation or update actions.  By default, AWS CloudFormation saves the rollback triggers specified for a stack and applies them to any subsequent update operations for the stack, unless you specify otherwise. If you do specify rollback triggers for this parameter, those triggers replace any list of triggers previously specified for the stack. This means:     * If you don't specify this parameter, AWS CloudFormation uses the rollback triggers previously specified for this stack, if any.     * If you specify any rollback triggers using this parameter, you must specify all the triggers that you want used for this stack, even triggers you've specifed before (for example, when creating the stack or during a previous stack update). Any triggers that you don't include in the updated list of triggers are no longer applied to the stack.     * If you specify an empty list, AWS CloudFormation removes all currently specified triggers. If a specified Cloudwatch alarm is missing, the entire stack operation fails and is rolled back.+rcRollbackTriggers :: Lens' RollbackConfiguration [RollbackTrigger]+rcRollbackTriggers = lens _rcRollbackTriggers (\ s a -> s{_rcRollbackTriggers = a}) . _Default . _Coerce;++-- | The amount of time, in minutes, during which CloudFormation should monitor all the rollback triggers after the stack creation or update operation deploys all necessary resources. If any of the alarms goes to ALERT state during the stack operation or this monitoring period, CloudFormation rolls back the entire stack operation. Then, for update operations, if the monitoring period expires without any alarms going to ALERT state CloudFormation proceeds to dispose of old resources as usual. If you specify a monitoring period but do not specify any rollback triggers, CloudFormation still waits the specified period of time before cleaning up old resources for update operations. You can use this monitoring period to perform any manual stack validation desired, and manually cancel the stack creation or update (using <http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CancelUpdateStack.html CancelUpdateStack> , for example) as necessary. If you specify 0 for this parameter, CloudFormation still monitors the specified rollback triggers during stack creation and update operations. Then, for update operations, it begins disposing of old resources immediately once the operation completes.+rcMonitoringTimeInMinutes :: Lens' RollbackConfiguration (Maybe Natural)+rcMonitoringTimeInMinutes = lens _rcMonitoringTimeInMinutes (\ s a -> s{_rcMonitoringTimeInMinutes = a}) . mapping _Nat;++instance FromXML RollbackConfiguration where+        parseXML x+          = RollbackConfiguration' <$>+              (x .@? "RollbackTriggers" .!@ mempty >>=+                 may (parseXMLList "member"))+                <*> (x .@? "MonitoringTimeInMinutes")++instance Hashable RollbackConfiguration where++instance NFData RollbackConfiguration where++instance ToQuery RollbackConfiguration where+        toQuery RollbackConfiguration'{..}+          = mconcat+              ["RollbackTriggers" =:+                 toQuery+                   (toQueryList "member" <$> _rcRollbackTriggers),+               "MonitoringTimeInMinutes" =:+                 _rcMonitoringTimeInMinutes]++-- | A rollback trigger AWS CloudFormation monitors during creation and updating of stacks. If any of the alarms you specify goes to ALERT state during the stack operation or within the specified monitoring period afterwards, CloudFormation rolls back the entire stack operation.+--+--+--+-- /See:/ 'rollbackTrigger' smart constructor.+data RollbackTrigger = RollbackTrigger'+  { _rtARN  :: !Text+  , _rtType :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RollbackTrigger' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rtARN' - The Amazon Resource Name (ARN) of the rollback trigger.+--+-- * 'rtType' - The resource type of the rollback trigger. Currently, <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html AWS::CloudWatch::Alarm> is the only supported resource type.+rollbackTrigger+    :: Text -- ^ 'rtARN'+    -> Text -- ^ 'rtType'+    -> RollbackTrigger+rollbackTrigger pARN_ pType_ =+  RollbackTrigger' {_rtARN = pARN_, _rtType = pType_}+++-- | The Amazon Resource Name (ARN) of the rollback trigger.+rtARN :: Lens' RollbackTrigger Text+rtARN = lens _rtARN (\ s a -> s{_rtARN = a});++-- | The resource type of the rollback trigger. Currently, <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html AWS::CloudWatch::Alarm> is the only supported resource type.+rtType :: Lens' RollbackTrigger Text+rtType = lens _rtType (\ s a -> s{_rtType = a});++instance FromXML RollbackTrigger where+        parseXML x+          = RollbackTrigger' <$> (x .@ "Arn") <*> (x .@ "Type")++instance Hashable RollbackTrigger where++instance NFData RollbackTrigger where++instance ToQuery RollbackTrigger where+        toQuery RollbackTrigger'{..}+          = mconcat ["Arn" =: _rtARN, "Type" =: _rtType]++-- | The Stack data type.+--+--+--+-- /See:/ 'stack' smart constructor.+data Stack = Stack'+  { _sDisableRollback             :: !(Maybe Bool)+  , _sLastUpdatedTime             :: !(Maybe ISO8601)+  , _sRootId                      :: !(Maybe Text)+  , _sNotificationARNs            :: !(Maybe [Text])+  , _sStackStatusReason           :: !(Maybe Text)+  , _sEnableTerminationProtection :: !(Maybe Bool)+  , _sChangeSetId                 :: !(Maybe Text)+  , _sDeletionTime                :: !(Maybe ISO8601)+  , _sOutputs                     :: !(Maybe [Output])+  , _sParameters                  :: !(Maybe [Parameter])+  , _sStackId                     :: !(Maybe Text)+  , _sDescription                 :: !(Maybe Text)+  , _sCapabilities                :: !(Maybe [Capability])+  , _sRollbackConfiguration       :: !(Maybe RollbackConfiguration)+  , _sTags                        :: !(Maybe [Tag])+  , _sTimeoutInMinutes            :: !(Maybe Nat)+  , _sParentId                    :: !(Maybe Text)+  , _sRoleARN                     :: !(Maybe Text)+  , _sStackName                   :: !Text+  , _sCreationTime                :: !ISO8601+  , _sStackStatus                 :: !StackStatus+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Stack' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sDisableRollback' - Boolean to enable or disable rollback on stack creation failures:     * @true@ : disable rollback     * @false@ : enable rollback+--+-- * 'sLastUpdatedTime' - The time the stack was last updated. This field will only be returned if the stack has been updated at least once.+--+-- * 'sRootId' - For nested stacks--stacks created as resources for another stack--the stack ID of the the top-level stack to which the nested stack ultimately belongs. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html Working with Nested Stacks> in the /AWS CloudFormation User Guide/ .+--+-- * 'sNotificationARNs' - SNS topic ARNs to which stack related events are published.+--+-- * 'sStackStatusReason' - Success/failure message associated with the stack status.+--+-- * 'sEnableTerminationProtection' - Whether termination protection is enabled for the stack. For <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html nested stacks> , termination protection is set on the root stack and cannot be changed directly on the nested stack. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html Protecting a Stack From Being Deleted> in the /AWS CloudFormation User Guide/ .+--+-- * 'sChangeSetId' - The unique ID of the change set.+--+-- * 'sDeletionTime' - The time the stack was deleted.+--+-- * 'sOutputs' - A list of output structures.+--+-- * 'sParameters' - A list of @Parameter@ structures.+--+-- * 'sStackId' - Unique identifier of the stack.+--+-- * 'sDescription' - A user-defined description associated with the stack.+--+-- * 'sCapabilities' - The capabilities allowed in the stack.+--+-- * 'sRollbackConfiguration' - The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.+--+-- * 'sTags' - A list of @Tag@ s that specify information about the stack.+--+-- * 'sTimeoutInMinutes' - The amount of time within which stack creation should complete.+--+-- * 'sParentId' - For nested stacks--stacks created as resources for another stack--the stack ID of the direct parent of this stack. For the first level of nested stacks, the root stack is also the parent stack. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html Working with Nested Stacks> in the /AWS CloudFormation User Guide/ .+--+-- * 'sRoleARN' - The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that is associated with the stack. During a stack operation, AWS CloudFormation uses this role's credentials to make calls on your behalf.+--+-- * 'sStackName' - The name associated with the stack.+--+-- * 'sCreationTime' - The time at which the stack was created.+--+-- * 'sStackStatus' - Current status of the stack.+stack+    :: Text -- ^ 'sStackName'+    -> UTCTime -- ^ 'sCreationTime'+    -> StackStatus -- ^ 'sStackStatus'+    -> Stack+stack pStackName_ pCreationTime_ pStackStatus_ =+  Stack'+  { _sDisableRollback = Nothing+  , _sLastUpdatedTime = Nothing+  , _sRootId = Nothing+  , _sNotificationARNs = Nothing+  , _sStackStatusReason = Nothing+  , _sEnableTerminationProtection = Nothing+  , _sChangeSetId = Nothing+  , _sDeletionTime = Nothing+  , _sOutputs = Nothing+  , _sParameters = Nothing+  , _sStackId = Nothing+  , _sDescription = Nothing+  , _sCapabilities = Nothing+  , _sRollbackConfiguration = Nothing+  , _sTags = Nothing+  , _sTimeoutInMinutes = Nothing+  , _sParentId = Nothing+  , _sRoleARN = Nothing+  , _sStackName = pStackName_+  , _sCreationTime = _Time # pCreationTime_+  , _sStackStatus = pStackStatus_+  }+++-- | Boolean to enable or disable rollback on stack creation failures:     * @true@ : disable rollback     * @false@ : enable rollback+sDisableRollback :: Lens' Stack (Maybe Bool)+sDisableRollback = lens _sDisableRollback (\ s a -> s{_sDisableRollback = a});++-- | The time the stack was last updated. This field will only be returned if the stack has been updated at least once.+sLastUpdatedTime :: Lens' Stack (Maybe UTCTime)+sLastUpdatedTime = lens _sLastUpdatedTime (\ s a -> s{_sLastUpdatedTime = a}) . mapping _Time;++-- | For nested stacks--stacks created as resources for another stack--the stack ID of the the top-level stack to which the nested stack ultimately belongs. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html Working with Nested Stacks> in the /AWS CloudFormation User Guide/ .+sRootId :: Lens' Stack (Maybe Text)+sRootId = lens _sRootId (\ s a -> s{_sRootId = a});++-- | SNS topic ARNs to which stack related events are published.+sNotificationARNs :: Lens' Stack [Text]+sNotificationARNs = lens _sNotificationARNs (\ s a -> s{_sNotificationARNs = a}) . _Default . _Coerce;++-- | Success/failure message associated with the stack status.+sStackStatusReason :: Lens' Stack (Maybe Text)+sStackStatusReason = lens _sStackStatusReason (\ s a -> s{_sStackStatusReason = a});++-- | Whether termination protection is enabled for the stack. For <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html nested stacks> , termination protection is set on the root stack and cannot be changed directly on the nested stack. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html Protecting a Stack From Being Deleted> in the /AWS CloudFormation User Guide/ .+sEnableTerminationProtection :: Lens' Stack (Maybe Bool)+sEnableTerminationProtection = lens _sEnableTerminationProtection (\ s a -> s{_sEnableTerminationProtection = a});++-- | The unique ID of the change set.+sChangeSetId :: Lens' Stack (Maybe Text)+sChangeSetId = lens _sChangeSetId (\ s a -> s{_sChangeSetId = a});++-- | The time the stack was deleted.+sDeletionTime :: Lens' Stack (Maybe UTCTime)+sDeletionTime = lens _sDeletionTime (\ s a -> s{_sDeletionTime = a}) . mapping _Time;++-- | A list of output structures.+sOutputs :: Lens' Stack [Output]+sOutputs = lens _sOutputs (\ s a -> s{_sOutputs = a}) . _Default . _Coerce;++-- | A list of @Parameter@ structures.+sParameters :: Lens' Stack [Parameter]+sParameters = lens _sParameters (\ s a -> s{_sParameters = a}) . _Default . _Coerce;++-- | Unique identifier of the stack.+sStackId :: Lens' Stack (Maybe Text)+sStackId = lens _sStackId (\ s a -> s{_sStackId = a});++-- | A user-defined description associated with the stack.+sDescription :: Lens' Stack (Maybe Text)+sDescription = lens _sDescription (\ s a -> s{_sDescription = a});++-- | The capabilities allowed in the stack.+sCapabilities :: Lens' Stack [Capability]+sCapabilities = lens _sCapabilities (\ s a -> s{_sCapabilities = a}) . _Default . _Coerce;++-- | The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.+sRollbackConfiguration :: Lens' Stack (Maybe RollbackConfiguration)+sRollbackConfiguration = lens _sRollbackConfiguration (\ s a -> s{_sRollbackConfiguration = a});++-- | A list of @Tag@ s that specify information about the stack.+sTags :: Lens' Stack [Tag]+sTags = lens _sTags (\ s a -> s{_sTags = a}) . _Default . _Coerce;++-- | The amount of time within which stack creation should complete.+sTimeoutInMinutes :: Lens' Stack (Maybe Natural)+sTimeoutInMinutes = lens _sTimeoutInMinutes (\ s a -> s{_sTimeoutInMinutes = a}) . mapping _Nat;++-- | For nested stacks--stacks created as resources for another stack--the stack ID of the direct parent of this stack. For the first level of nested stacks, the root stack is also the parent stack. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html Working with Nested Stacks> in the /AWS CloudFormation User Guide/ .+sParentId :: Lens' Stack (Maybe Text)+sParentId = lens _sParentId (\ s a -> s{_sParentId = a});++-- | The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that is associated with the stack. During a stack operation, AWS CloudFormation uses this role's credentials to make calls on your behalf.+sRoleARN :: Lens' Stack (Maybe Text)+sRoleARN = lens _sRoleARN (\ s a -> s{_sRoleARN = a});++-- | The name associated with the stack.+sStackName :: Lens' Stack Text+sStackName = lens _sStackName (\ s a -> s{_sStackName = a});++-- | The time at which the stack was created.+sCreationTime :: Lens' Stack UTCTime+sCreationTime = lens _sCreationTime (\ s a -> s{_sCreationTime = a}) . _Time;++-- | Current status of the stack.+sStackStatus :: Lens' Stack StackStatus+sStackStatus = lens _sStackStatus (\ s a -> s{_sStackStatus = a});++instance FromXML Stack where+        parseXML x+          = Stack' <$>+              (x .@? "DisableRollback") <*>+                (x .@? "LastUpdatedTime")+                <*> (x .@? "RootId")+                <*>+                (x .@? "NotificationARNs" .!@ mempty >>=+                   may (parseXMLList "member"))+                <*> (x .@? "StackStatusReason")+                <*> (x .@? "EnableTerminationProtection")+                <*> (x .@? "ChangeSetId")+                <*> (x .@? "DeletionTime")+                <*>+                (x .@? "Outputs" .!@ mempty >>=+                   may (parseXMLList "member"))+                <*>+                (x .@? "Parameters" .!@ mempty >>=+                   may (parseXMLList "member"))+                <*> (x .@? "StackId")+                <*> (x .@? "Description")+                <*>+                (x .@? "Capabilities" .!@ mempty >>=+                   may (parseXMLList "member"))+                <*> (x .@? "RollbackConfiguration")+                <*>+                (x .@? "Tags" .!@ mempty >>=+                   may (parseXMLList "member"))+                <*> (x .@? "TimeoutInMinutes")+                <*> (x .@? "ParentId")+                <*> (x .@? "RoleARN")+                <*> (x .@ "StackName")+                <*> (x .@ "CreationTime")+                <*> (x .@ "StackStatus")++instance Hashable Stack where++instance NFData Stack where++-- | The StackEvent data type.+--+--+--+-- /See:/ 'stackEvent' smart constructor.+data StackEvent = StackEvent'+  { _seLogicalResourceId    :: !(Maybe Text)+  , _sePhysicalResourceId   :: !(Maybe Text)+  , _seResourceType         :: !(Maybe Text)+  , _seResourceStatusReason :: !(Maybe Text)+  , _seResourceProperties   :: !(Maybe Text)+  , _seResourceStatus       :: !(Maybe ResourceStatus)+  , _seClientRequestToken   :: !(Maybe Text)+  , _seStackId              :: !Text+  , _seEventId              :: !Text+  , _seStackName            :: !Text+  , _seTimestamp            :: !ISO8601+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StackEvent' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'seLogicalResourceId' - The logical name of the resource specified in the template.+--+-- * 'sePhysicalResourceId' - The name or unique identifier associated with the physical instance of the resource.+--+-- * 'seResourceType' - Type of resource. (For more information, go to <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html AWS Resource Types Reference> in the AWS CloudFormation User Guide.)+--+-- * 'seResourceStatusReason' - Success/failure message associated with the resource.+--+-- * 'seResourceProperties' - BLOB of the properties used to create the resource.+--+-- * 'seResourceStatus' - Current status of the resource.+--+-- * 'seClientRequestToken' - The token passed to the operation that generated this event. All events triggered by a given stack operation are assigned the same client request token, which you can use to track operations. For example, if you execute a @CreateStack@ operation with the token @token1@ , then all the @StackEvents@ generated by that operation will have @ClientRequestToken@ set as @token1@ . In the console, stack operations display the client request token on the Events tab. Stack operations that are initiated from the console use the token format /Console-StackOperation-ID/ , which helps you easily identify the stack operation . For example, if you create a stack using the console, each stack event would be assigned the same token in the following format: @Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002@ .+--+-- * 'seStackId' - The unique ID name of the instance of the stack.+--+-- * 'seEventId' - The unique ID of this event.+--+-- * 'seStackName' - The name associated with a stack.+--+-- * 'seTimestamp' - Time the status was updated.+stackEvent+    :: Text -- ^ 'seStackId'+    -> Text -- ^ 'seEventId'+    -> Text -- ^ 'seStackName'+    -> UTCTime -- ^ 'seTimestamp'+    -> StackEvent+stackEvent pStackId_ pEventId_ pStackName_ pTimestamp_ =+  StackEvent'+  { _seLogicalResourceId = Nothing+  , _sePhysicalResourceId = Nothing+  , _seResourceType = Nothing+  , _seResourceStatusReason = Nothing+  , _seResourceProperties = Nothing+  , _seResourceStatus = Nothing+  , _seClientRequestToken = Nothing+  , _seStackId = pStackId_+  , _seEventId = pEventId_+  , _seStackName = pStackName_+  , _seTimestamp = _Time # pTimestamp_+  }+++-- | The logical name of the resource specified in the template.+seLogicalResourceId :: Lens' StackEvent (Maybe Text)+seLogicalResourceId = lens _seLogicalResourceId (\ s a -> s{_seLogicalResourceId = a});++-- | The name or unique identifier associated with the physical instance of the resource.+sePhysicalResourceId :: Lens' StackEvent (Maybe Text)+sePhysicalResourceId = lens _sePhysicalResourceId (\ s a -> s{_sePhysicalResourceId = a});++-- | Type of resource. (For more information, go to <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html AWS Resource Types Reference> in the AWS CloudFormation User Guide.)+seResourceType :: Lens' StackEvent (Maybe Text)+seResourceType = lens _seResourceType (\ s a -> s{_seResourceType = a});++-- | Success/failure message associated with the resource.+seResourceStatusReason :: Lens' StackEvent (Maybe Text)+seResourceStatusReason = lens _seResourceStatusReason (\ s a -> s{_seResourceStatusReason = a});++-- | BLOB of the properties used to create the resource.+seResourceProperties :: Lens' StackEvent (Maybe Text)+seResourceProperties = lens _seResourceProperties (\ s a -> s{_seResourceProperties = a});++-- | Current status of the resource.+seResourceStatus :: Lens' StackEvent (Maybe ResourceStatus)+seResourceStatus = lens _seResourceStatus (\ s a -> s{_seResourceStatus = a});++-- | The token passed to the operation that generated this event. All events triggered by a given stack operation are assigned the same client request token, which you can use to track operations. For example, if you execute a @CreateStack@ operation with the token @token1@ , then all the @StackEvents@ generated by that operation will have @ClientRequestToken@ set as @token1@ . In the console, stack operations display the client request token on the Events tab. Stack operations that are initiated from the console use the token format /Console-StackOperation-ID/ , which helps you easily identify the stack operation . For example, if you create a stack using the console, each stack event would be assigned the same token in the following format: @Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002@ .+seClientRequestToken :: Lens' StackEvent (Maybe Text)+seClientRequestToken = lens _seClientRequestToken (\ s a -> s{_seClientRequestToken = a});++-- | The unique ID name of the instance of the stack.+seStackId :: Lens' StackEvent Text+seStackId = lens _seStackId (\ s a -> s{_seStackId = a});++-- | The unique ID of this event.+seEventId :: Lens' StackEvent Text+seEventId = lens _seEventId (\ s a -> s{_seEventId = a});++-- | The name associated with a stack.+seStackName :: Lens' StackEvent Text+seStackName = lens _seStackName (\ s a -> s{_seStackName = a});++-- | Time the status was updated.+seTimestamp :: Lens' StackEvent UTCTime+seTimestamp = lens _seTimestamp (\ s a -> s{_seTimestamp = a}) . _Time;++instance FromXML StackEvent where+        parseXML x+          = StackEvent' <$>+              (x .@? "LogicalResourceId") <*>+                (x .@? "PhysicalResourceId")+                <*> (x .@? "ResourceType")+                <*> (x .@? "ResourceStatusReason")+                <*> (x .@? "ResourceProperties")+                <*> (x .@? "ResourceStatus")+                <*> (x .@? "ClientRequestToken")+                <*> (x .@ "StackId")+                <*> (x .@ "EventId")+                <*> (x .@ "StackName")+                <*> (x .@ "Timestamp")++instance Hashable StackEvent where++instance NFData StackEvent where++-- | An AWS CloudFormation stack, in a specific account and region, that's part of a stack set operation. A stack instance is a reference to an attempted or actual stack in a given account within a given region. A stack instance can exist without a stack—for example, if the stack couldn't be created for some reason. A stack instance is associated with only one stack set. Each stack instance contains the ID of its associated stack set, as well as the ID of the actual stack and the stack status.+--+--+--+-- /See:/ 'stackInstance' smart constructor.+data StackInstance = StackInstance'+  { _siStatus       :: !(Maybe StackInstanceStatus)+  , _siAccount      :: !(Maybe Text)+  , _siRegion       :: !(Maybe Text)+  , _siStatusReason :: !(Maybe Text)+  , _siStackId      :: !(Maybe Text)+  , _siStackSetId   :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StackInstance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'siStatus' - The status of the stack instance, in terms of its synchronization with its associated stack set.     * @INOPERABLE@ : A @DeleteStackInstances@ operation has failed and left the stack in an unstable state. Stacks in this state are excluded from further @UpdateStackSet@ operations. You might need to perform a @DeleteStackInstances@ operation, with @RetainStacks@ set to @true@ , to delete the stack instance, and then delete the stack manually.     * @OUTDATED@ : The stack isn't currently up to date with the stack set because:     * The associated stack failed during a @CreateStackSet@ or @UpdateStackSet@ operation.      * The stack was part of a @CreateStackSet@ or @UpdateStackSet@ operation that failed or was stopped before the stack was created or updated.      * @CURRENT@ : The stack is currently up to date with the stack set.+--+-- * 'siAccount' - The name of the AWS account that the stack instance is associated with.+--+-- * 'siRegion' - The name of the AWS region that the stack instance is associated with.+--+-- * 'siStatusReason' - The explanation for the specific status code that is assigned to this stack instance.+--+-- * 'siStackId' - The ID of the stack instance.+--+-- * 'siStackSetId' - The name or unique ID of the stack set that the stack instance is associated with.+stackInstance+    :: StackInstance+stackInstance =+  StackInstance'+  { _siStatus = Nothing+  , _siAccount = Nothing+  , _siRegion = Nothing+  , _siStatusReason = Nothing+  , _siStackId = Nothing+  , _siStackSetId = Nothing+  }+++-- | The status of the stack instance, in terms of its synchronization with its associated stack set.     * @INOPERABLE@ : A @DeleteStackInstances@ operation has failed and left the stack in an unstable state. Stacks in this state are excluded from further @UpdateStackSet@ operations. You might need to perform a @DeleteStackInstances@ operation, with @RetainStacks@ set to @true@ , to delete the stack instance, and then delete the stack manually.     * @OUTDATED@ : The stack isn't currently up to date with the stack set because:     * The associated stack failed during a @CreateStackSet@ or @UpdateStackSet@ operation.      * The stack was part of a @CreateStackSet@ or @UpdateStackSet@ operation that failed or was stopped before the stack was created or updated.      * @CURRENT@ : The stack is currently up to date with the stack set.+siStatus :: Lens' StackInstance (Maybe StackInstanceStatus)+siStatus = lens _siStatus (\ s a -> s{_siStatus = a});++-- | The name of the AWS account that the stack instance is associated with.+siAccount :: Lens' StackInstance (Maybe Text)+siAccount = lens _siAccount (\ s a -> s{_siAccount = a});++-- | The name of the AWS region that the stack instance is associated with.+siRegion :: Lens' StackInstance (Maybe Text)+siRegion = lens _siRegion (\ s a -> s{_siRegion = a});++-- | The explanation for the specific status code that is assigned to this stack instance.+siStatusReason :: Lens' StackInstance (Maybe Text)+siStatusReason = lens _siStatusReason (\ s a -> s{_siStatusReason = a});++-- | The ID of the stack instance.+siStackId :: Lens' StackInstance (Maybe Text)+siStackId = lens _siStackId (\ s a -> s{_siStackId = a});++-- | The name or unique ID of the stack set that the stack instance is associated with.+siStackSetId :: Lens' StackInstance (Maybe Text)+siStackSetId = lens _siStackSetId (\ s a -> s{_siStackSetId = a});++instance FromXML StackInstance where+        parseXML x+          = StackInstance' <$>+              (x .@? "Status") <*> (x .@? "Account") <*>+                (x .@? "Region")+                <*> (x .@? "StatusReason")+                <*> (x .@? "StackId")+                <*> (x .@? "StackSetId")++instance Hashable StackInstance where++instance NFData StackInstance where++-- | The structure that contains summary information about a stack instance.+--+--+--+-- /See:/ 'stackInstanceSummary' smart constructor.+data StackInstanceSummary = StackInstanceSummary'+  { _sisStatus       :: !(Maybe StackInstanceStatus)+  , _sisAccount      :: !(Maybe Text)+  , _sisRegion       :: !(Maybe Text)+  , _sisStatusReason :: !(Maybe Text)+  , _sisStackId      :: !(Maybe Text)+  , _sisStackSetId   :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StackInstanceSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sisStatus' - The status of the stack instance, in terms of its synchronization with its associated stack set.     * @INOPERABLE@ : A @DeleteStackInstances@ operation has failed and left the stack in an unstable state. Stacks in this state are excluded from further @UpdateStackSet@ operations. You might need to perform a @DeleteStackInstances@ operation, with @RetainStacks@ set to @true@ , to delete the stack instance, and then delete the stack manually.     * @OUTDATED@ : The stack isn't currently up to date with the stack set because:     * The associated stack failed during a @CreateStackSet@ or @UpdateStackSet@ operation.      * The stack was part of a @CreateStackSet@ or @UpdateStackSet@ operation that failed or was stopped before the stack was created or updated.      * @CURRENT@ : The stack is currently up to date with the stack set.+--+-- * 'sisAccount' - The name of the AWS account that the stack instance is associated with.+--+-- * 'sisRegion' - The name of the AWS region that the stack instance is associated with.+--+-- * 'sisStatusReason' - The explanation for the specific status code assigned to this stack instance.+--+-- * 'sisStackId' - The ID of the stack instance.+--+-- * 'sisStackSetId' - The name or unique ID of the stack set that the stack instance is associated with.+stackInstanceSummary+    :: StackInstanceSummary+stackInstanceSummary =+  StackInstanceSummary'+  { _sisStatus = Nothing+  , _sisAccount = Nothing+  , _sisRegion = Nothing+  , _sisStatusReason = Nothing+  , _sisStackId = Nothing+  , _sisStackSetId = Nothing+  }+++-- | The status of the stack instance, in terms of its synchronization with its associated stack set.     * @INOPERABLE@ : A @DeleteStackInstances@ operation has failed and left the stack in an unstable state. Stacks in this state are excluded from further @UpdateStackSet@ operations. You might need to perform a @DeleteStackInstances@ operation, with @RetainStacks@ set to @true@ , to delete the stack instance, and then delete the stack manually.     * @OUTDATED@ : The stack isn't currently up to date with the stack set because:     * The associated stack failed during a @CreateStackSet@ or @UpdateStackSet@ operation.      * The stack was part of a @CreateStackSet@ or @UpdateStackSet@ operation that failed or was stopped before the stack was created or updated.      * @CURRENT@ : The stack is currently up to date with the stack set.+sisStatus :: Lens' StackInstanceSummary (Maybe StackInstanceStatus)+sisStatus = lens _sisStatus (\ s a -> s{_sisStatus = a});++-- | The name of the AWS account that the stack instance is associated with.+sisAccount :: Lens' StackInstanceSummary (Maybe Text)+sisAccount = lens _sisAccount (\ s a -> s{_sisAccount = a});++-- | The name of the AWS region that the stack instance is associated with.+sisRegion :: Lens' StackInstanceSummary (Maybe Text)+sisRegion = lens _sisRegion (\ s a -> s{_sisRegion = a});++-- | The explanation for the specific status code assigned to this stack instance.+sisStatusReason :: Lens' StackInstanceSummary (Maybe Text)+sisStatusReason = lens _sisStatusReason (\ s a -> s{_sisStatusReason = a});++-- | The ID of the stack instance.+sisStackId :: Lens' StackInstanceSummary (Maybe Text)+sisStackId = lens _sisStackId (\ s a -> s{_sisStackId = a});++-- | The name or unique ID of the stack set that the stack instance is associated with.+sisStackSetId :: Lens' StackInstanceSummary (Maybe Text)+sisStackSetId = lens _sisStackSetId (\ s a -> s{_sisStackSetId = a});++instance FromXML StackInstanceSummary where+        parseXML x+          = StackInstanceSummary' <$>+              (x .@? "Status") <*> (x .@? "Account") <*>+                (x .@? "Region")+                <*> (x .@? "StatusReason")+                <*> (x .@? "StackId")+                <*> (x .@? "StackSetId")++instance Hashable StackInstanceSummary where++instance NFData StackInstanceSummary where++-- | The StackResource data type.+--+--+--+-- /See:/ 'stackResource' smart constructor.+data StackResource = StackResource'+  { _srPhysicalResourceId   :: !(Maybe Text)+  , _srResourceStatusReason :: !(Maybe Text)+  , _srStackId              :: !(Maybe Text)+  , _srDescription          :: !(Maybe Text)+  , _srStackName            :: !(Maybe Text)+  , _srLogicalResourceId    :: !Text+  , _srResourceType         :: !Text+  , _srTimestamp            :: !ISO8601+  , _srResourceStatus       :: !ResourceStatus+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StackResource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'srPhysicalResourceId' - The name or unique identifier that corresponds to a physical instance ID of a resource supported by AWS CloudFormation.+--+-- * 'srResourceStatusReason' - Success/failure message associated with the resource.+--+-- * 'srStackId' - Unique identifier of the stack.+--+-- * 'srDescription' - User defined description associated with the resource.+--+-- * 'srStackName' - The name associated with the stack.+--+-- * 'srLogicalResourceId' - The logical name of the resource specified in the template.+--+-- * 'srResourceType' - Type of resource. (For more information, go to <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html AWS Resource Types Reference> in the AWS CloudFormation User Guide.)+--+-- * 'srTimestamp' - Time the status was updated.+--+-- * 'srResourceStatus' - Current status of the resource.+stackResource+    :: Text -- ^ 'srLogicalResourceId'+    -> Text -- ^ 'srResourceType'+    -> UTCTime -- ^ 'srTimestamp'+    -> ResourceStatus -- ^ 'srResourceStatus'+    -> StackResource+stackResource pLogicalResourceId_ pResourceType_ pTimestamp_ pResourceStatus_ =+  StackResource'+  { _srPhysicalResourceId = Nothing+  , _srResourceStatusReason = Nothing+  , _srStackId = Nothing+  , _srDescription = Nothing+  , _srStackName = Nothing+  , _srLogicalResourceId = pLogicalResourceId_+  , _srResourceType = pResourceType_+  , _srTimestamp = _Time # pTimestamp_+  , _srResourceStatus = pResourceStatus_+  }+++-- | The name or unique identifier that corresponds to a physical instance ID of a resource supported by AWS CloudFormation.+srPhysicalResourceId :: Lens' StackResource (Maybe Text)+srPhysicalResourceId = lens _srPhysicalResourceId (\ s a -> s{_srPhysicalResourceId = a});++-- | Success/failure message associated with the resource.+srResourceStatusReason :: Lens' StackResource (Maybe Text)+srResourceStatusReason = lens _srResourceStatusReason (\ s a -> s{_srResourceStatusReason = a});++-- | Unique identifier of the stack.+srStackId :: Lens' StackResource (Maybe Text)+srStackId = lens _srStackId (\ s a -> s{_srStackId = a});++-- | User defined description associated with the resource.+srDescription :: Lens' StackResource (Maybe Text)+srDescription = lens _srDescription (\ s a -> s{_srDescription = a});++-- | The name associated with the stack.+srStackName :: Lens' StackResource (Maybe Text)+srStackName = lens _srStackName (\ s a -> s{_srStackName = a});++-- | The logical name of the resource specified in the template.+srLogicalResourceId :: Lens' StackResource Text+srLogicalResourceId = lens _srLogicalResourceId (\ s a -> s{_srLogicalResourceId = a});++-- | Type of resource. (For more information, go to <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html AWS Resource Types Reference> in the AWS CloudFormation User Guide.)+srResourceType :: Lens' StackResource Text+srResourceType = lens _srResourceType (\ s a -> s{_srResourceType = a});++-- | Time the status was updated.+srTimestamp :: Lens' StackResource UTCTime+srTimestamp = lens _srTimestamp (\ s a -> s{_srTimestamp = a}) . _Time;++-- | Current status of the resource.+srResourceStatus :: Lens' StackResource ResourceStatus+srResourceStatus = lens _srResourceStatus (\ s a -> s{_srResourceStatus = a});++instance FromXML StackResource where+        parseXML x+          = StackResource' <$>+              (x .@? "PhysicalResourceId") <*>+                (x .@? "ResourceStatusReason")+                <*> (x .@? "StackId")+                <*> (x .@? "Description")+                <*> (x .@? "StackName")+                <*> (x .@ "LogicalResourceId")+                <*> (x .@ "ResourceType")+                <*> (x .@ "Timestamp")+                <*> (x .@ "ResourceStatus")++instance Hashable StackResource where++instance NFData StackResource where++-- | Contains detailed information about the specified stack resource.+--+--+--+-- /See:/ 'stackResourceDetail' smart constructor.+data StackResourceDetail = StackResourceDetail'+  { _srdPhysicalResourceId   :: !(Maybe Text)+  , _srdResourceStatusReason :: !(Maybe Text)+  , _srdMetadata             :: !(Maybe Text)+  , _srdStackId              :: !(Maybe Text)+  , _srdDescription          :: !(Maybe Text)+  , _srdStackName            :: !(Maybe Text)+  , _srdLogicalResourceId    :: !Text+  , _srdResourceType         :: !Text+  , _srdLastUpdatedTimestamp :: !ISO8601+  , _srdResourceStatus       :: !ResourceStatus+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StackResourceDetail' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'srdPhysicalResourceId' - The name or unique identifier that corresponds to a physical instance ID of a resource supported by AWS CloudFormation.+--+-- * 'srdResourceStatusReason' - Success/failure message associated with the resource.+--+-- * 'srdMetadata' - The content of the @Metadata@ attribute declared for the resource. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html Metadata Attribute> in the AWS CloudFormation User Guide.+--+-- * 'srdStackId' - Unique identifier of the stack.+--+-- * 'srdDescription' - User defined description associated with the resource.+--+-- * 'srdStackName' - The name associated with the stack.+--+-- * 'srdLogicalResourceId' - The logical name of the resource specified in the template.+--+-- * 'srdResourceType' - Type of resource. ((For more information, go to <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html AWS Resource Types Reference> in the AWS CloudFormation User Guide.)+--+-- * 'srdLastUpdatedTimestamp' - Time the status was updated.+--+-- * 'srdResourceStatus' - Current status of the resource.+stackResourceDetail+    :: Text -- ^ 'srdLogicalResourceId'+    -> Text -- ^ 'srdResourceType'+    -> UTCTime -- ^ 'srdLastUpdatedTimestamp'+    -> ResourceStatus -- ^ 'srdResourceStatus'+    -> StackResourceDetail+stackResourceDetail pLogicalResourceId_ pResourceType_ pLastUpdatedTimestamp_ pResourceStatus_ =+  StackResourceDetail'+  { _srdPhysicalResourceId = Nothing+  , _srdResourceStatusReason = Nothing+  , _srdMetadata = Nothing+  , _srdStackId = Nothing+  , _srdDescription = Nothing+  , _srdStackName = Nothing+  , _srdLogicalResourceId = pLogicalResourceId_+  , _srdResourceType = pResourceType_+  , _srdLastUpdatedTimestamp = _Time # pLastUpdatedTimestamp_+  , _srdResourceStatus = pResourceStatus_+  }+++-- | The name or unique identifier that corresponds to a physical instance ID of a resource supported by AWS CloudFormation.+srdPhysicalResourceId :: Lens' StackResourceDetail (Maybe Text)+srdPhysicalResourceId = lens _srdPhysicalResourceId (\ s a -> s{_srdPhysicalResourceId = a});++-- | Success/failure message associated with the resource.+srdResourceStatusReason :: Lens' StackResourceDetail (Maybe Text)+srdResourceStatusReason = lens _srdResourceStatusReason (\ s a -> s{_srdResourceStatusReason = a});++-- | The content of the @Metadata@ attribute declared for the resource. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html Metadata Attribute> in the AWS CloudFormation User Guide.+srdMetadata :: Lens' StackResourceDetail (Maybe Text)+srdMetadata = lens _srdMetadata (\ s a -> s{_srdMetadata = a});++-- | Unique identifier of the stack.+srdStackId :: Lens' StackResourceDetail (Maybe Text)+srdStackId = lens _srdStackId (\ s a -> s{_srdStackId = a});++-- | User defined description associated with the resource.+srdDescription :: Lens' StackResourceDetail (Maybe Text)+srdDescription = lens _srdDescription (\ s a -> s{_srdDescription = a});++-- | The name associated with the stack.+srdStackName :: Lens' StackResourceDetail (Maybe Text)+srdStackName = lens _srdStackName (\ s a -> s{_srdStackName = a});++-- | The logical name of the resource specified in the template.+srdLogicalResourceId :: Lens' StackResourceDetail Text+srdLogicalResourceId = lens _srdLogicalResourceId (\ s a -> s{_srdLogicalResourceId = a});++-- | Type of resource. ((For more information, go to <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html AWS Resource Types Reference> in the AWS CloudFormation User Guide.)+srdResourceType :: Lens' StackResourceDetail Text+srdResourceType = lens _srdResourceType (\ s a -> s{_srdResourceType = a});++-- | Time the status was updated.+srdLastUpdatedTimestamp :: Lens' StackResourceDetail UTCTime+srdLastUpdatedTimestamp = lens _srdLastUpdatedTimestamp (\ s a -> s{_srdLastUpdatedTimestamp = a}) . _Time;++-- | Current status of the resource.+srdResourceStatus :: Lens' StackResourceDetail ResourceStatus+srdResourceStatus = lens _srdResourceStatus (\ s a -> s{_srdResourceStatus = a});++instance FromXML StackResourceDetail where+        parseXML x+          = StackResourceDetail' <$>+              (x .@? "PhysicalResourceId") <*>+                (x .@? "ResourceStatusReason")+                <*> (x .@? "Metadata")+                <*> (x .@? "StackId")+                <*> (x .@? "Description")+                <*> (x .@? "StackName")+                <*> (x .@ "LogicalResourceId")+                <*> (x .@ "ResourceType")+                <*> (x .@ "LastUpdatedTimestamp")+                <*> (x .@ "ResourceStatus")++instance Hashable StackResourceDetail where++instance NFData StackResourceDetail where++-- | Contains high-level information about the specified stack resource.+--+--+--+-- /See:/ 'stackResourceSummary' smart constructor.+data StackResourceSummary = StackResourceSummary'+  { _srsPhysicalResourceId   :: !(Maybe Text)+  , _srsResourceStatusReason :: !(Maybe Text)+  , _srsLogicalResourceId    :: !Text+  , _srsResourceType         :: !Text+  , _srsLastUpdatedTimestamp :: !ISO8601+  , _srsResourceStatus       :: !ResourceStatus+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StackResourceSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'srsPhysicalResourceId' - The name or unique identifier that corresponds to a physical instance ID of the resource.+--+-- * 'srsResourceStatusReason' - Success/failure message associated with the resource.+--+-- * 'srsLogicalResourceId' - The logical name of the resource specified in the template.+--+-- * 'srsResourceType' - Type of resource. (For more information, go to <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html AWS Resource Types Reference> in the AWS CloudFormation User Guide.)+--+-- * 'srsLastUpdatedTimestamp' - Time the status was updated.+--+-- * 'srsResourceStatus' - Current status of the resource.+stackResourceSummary+    :: Text -- ^ 'srsLogicalResourceId'+    -> Text -- ^ 'srsResourceType'+    -> UTCTime -- ^ 'srsLastUpdatedTimestamp'+    -> ResourceStatus -- ^ 'srsResourceStatus'+    -> StackResourceSummary+stackResourceSummary pLogicalResourceId_ pResourceType_ pLastUpdatedTimestamp_ pResourceStatus_ =+  StackResourceSummary'+  { _srsPhysicalResourceId = Nothing+  , _srsResourceStatusReason = Nothing+  , _srsLogicalResourceId = pLogicalResourceId_+  , _srsResourceType = pResourceType_+  , _srsLastUpdatedTimestamp = _Time # pLastUpdatedTimestamp_+  , _srsResourceStatus = pResourceStatus_+  }+++-- | The name or unique identifier that corresponds to a physical instance ID of the resource.+srsPhysicalResourceId :: Lens' StackResourceSummary (Maybe Text)+srsPhysicalResourceId = lens _srsPhysicalResourceId (\ s a -> s{_srsPhysicalResourceId = a});++-- | Success/failure message associated with the resource.+srsResourceStatusReason :: Lens' StackResourceSummary (Maybe Text)+srsResourceStatusReason = lens _srsResourceStatusReason (\ s a -> s{_srsResourceStatusReason = a});++-- | The logical name of the resource specified in the template.+srsLogicalResourceId :: Lens' StackResourceSummary Text+srsLogicalResourceId = lens _srsLogicalResourceId (\ s a -> s{_srsLogicalResourceId = a});++-- | Type of resource. (For more information, go to <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html AWS Resource Types Reference> in the AWS CloudFormation User Guide.)+srsResourceType :: Lens' StackResourceSummary Text+srsResourceType = lens _srsResourceType (\ s a -> s{_srsResourceType = a});++-- | Time the status was updated.+srsLastUpdatedTimestamp :: Lens' StackResourceSummary UTCTime+srsLastUpdatedTimestamp = lens _srsLastUpdatedTimestamp (\ s a -> s{_srsLastUpdatedTimestamp = a}) . _Time;++-- | Current status of the resource.+srsResourceStatus :: Lens' StackResourceSummary ResourceStatus+srsResourceStatus = lens _srsResourceStatus (\ s a -> s{_srsResourceStatus = a});++instance FromXML StackResourceSummary where+        parseXML x+          = StackResourceSummary' <$>+              (x .@? "PhysicalResourceId") <*>+                (x .@? "ResourceStatusReason")+                <*> (x .@ "LogicalResourceId")+                <*> (x .@ "ResourceType")+                <*> (x .@ "LastUpdatedTimestamp")+                <*> (x .@ "ResourceStatus")++instance Hashable StackResourceSummary where++instance NFData StackResourceSummary where++-- | A structure that contains information about a stack set. A stack set enables you to provision stacks into AWS accounts and across regions by using a single CloudFormation template. In the stack set, you specify the template to use, as well as any parameters and capabilities that the template requires.+--+--+--+-- /See:/ 'stackSet' smart constructor.+data StackSet = StackSet'+  { _ssStatus       :: !(Maybe StackSetStatus)+  , _ssParameters   :: !(Maybe [Parameter])+  , _ssTemplateBody :: !(Maybe Text)+  , _ssStackSetName :: !(Maybe Text)+  , _ssDescription  :: !(Maybe Text)+  , _ssCapabilities :: !(Maybe [Capability])+  , _ssTags         :: !(Maybe [Tag])+  , _ssStackSetId   :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StackSet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssStatus' - The status of the stack set.+--+-- * 'ssParameters' - A list of input parameters for a stack set.+--+-- * 'ssTemplateBody' - The structure that contains the body of the template that was used to create or update the stack set.+--+-- * 'ssStackSetName' - The name that's associated with the stack set.+--+-- * 'ssDescription' - A description of the stack set that you specify when the stack set is created or updated.+--+-- * 'ssCapabilities' - The capabilities that are allowed in the stack set. Some stack set templates might include resources that can affect permissions in your AWS account—for example, by creating new AWS Identity and Access Management (IAM) users. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities Acknowledging IAM Resources in AWS CloudFormation Templates.>+--+-- * 'ssTags' - A list of tags that specify information about the stack set. A maximum number of 50 tags can be specified.+--+-- * 'ssStackSetId' - The ID of the stack set.+stackSet+    :: StackSet+stackSet =+  StackSet'+  { _ssStatus = Nothing+  , _ssParameters = Nothing+  , _ssTemplateBody = Nothing+  , _ssStackSetName = Nothing+  , _ssDescription = Nothing+  , _ssCapabilities = Nothing+  , _ssTags = Nothing+  , _ssStackSetId = Nothing+  }+++-- | The status of the stack set.+ssStatus :: Lens' StackSet (Maybe StackSetStatus)+ssStatus = lens _ssStatus (\ s a -> s{_ssStatus = a});++-- | A list of input parameters for a stack set.+ssParameters :: Lens' StackSet [Parameter]+ssParameters = lens _ssParameters (\ s a -> s{_ssParameters = a}) . _Default . _Coerce;++-- | The structure that contains the body of the template that was used to create or update the stack set.+ssTemplateBody :: Lens' StackSet (Maybe Text)+ssTemplateBody = lens _ssTemplateBody (\ s a -> s{_ssTemplateBody = a});++-- | The name that's associated with the stack set.+ssStackSetName :: Lens' StackSet (Maybe Text)+ssStackSetName = lens _ssStackSetName (\ s a -> s{_ssStackSetName = a});++-- | A description of the stack set that you specify when the stack set is created or updated.+ssDescription :: Lens' StackSet (Maybe Text)+ssDescription = lens _ssDescription (\ s a -> s{_ssDescription = a});++-- | The capabilities that are allowed in the stack set. Some stack set templates might include resources that can affect permissions in your AWS account—for example, by creating new AWS Identity and Access Management (IAM) users. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities Acknowledging IAM Resources in AWS CloudFormation Templates.>+ssCapabilities :: Lens' StackSet [Capability]+ssCapabilities = lens _ssCapabilities (\ s a -> s{_ssCapabilities = a}) . _Default . _Coerce;++-- | A list of tags that specify information about the stack set. A maximum number of 50 tags can be specified.+ssTags :: Lens' StackSet [Tag]+ssTags = lens _ssTags (\ s a -> s{_ssTags = a}) . _Default . _Coerce;++-- | The ID of the stack set.+ssStackSetId :: Lens' StackSet (Maybe Text)+ssStackSetId = lens _ssStackSetId (\ s a -> s{_ssStackSetId = a});++instance FromXML StackSet where+        parseXML x+          = StackSet' <$>+              (x .@? "Status") <*>+                (x .@? "Parameters" .!@ mempty >>=+                   may (parseXMLList "member"))+                <*> (x .@? "TemplateBody")+                <*> (x .@? "StackSetName")+                <*> (x .@? "Description")+                <*>+                (x .@? "Capabilities" .!@ mempty >>=+                   may (parseXMLList "member"))+                <*>+                (x .@? "Tags" .!@ mempty >>=+                   may (parseXMLList "member"))+                <*> (x .@? "StackSetId")++instance Hashable StackSet where++instance NFData StackSet where++-- | The structure that contains information about a stack set operation.+--+--+--+-- /See:/ 'stackSetOperation' smart constructor.+data StackSetOperation = StackSetOperation'+  { _ssoStatus               :: !(Maybe StackSetOperationStatus)+  , _ssoAction               :: !(Maybe StackSetOperationAction)+  , _ssoEndTimestamp         :: !(Maybe ISO8601)+  , _ssoCreationTimestamp    :: !(Maybe ISO8601)+  , _ssoOperationPreferences :: !(Maybe StackSetOperationPreferences)+  , _ssoOperationId          :: !(Maybe Text)+  , _ssoRetainStacks         :: !(Maybe Bool)+  , _ssoStackSetId           :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StackSetOperation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssoStatus' - The status of the operation.      * @FAILED@ : The operation exceeded the specified failure tolerance. The failure tolerance value that you've set for an operation is applied for each region during stack create and update operations. If the number of failed stacks within a region exceeds the failure tolerance, the status of the operation in the region is set to @FAILED@ . This in turn sets the status of the operation as a whole to @FAILED@ , and AWS CloudFormation cancels the operation in any remaining regions.     * @RUNNING@ : The operation is currently being performed.     * @STOPPED@ : The user has cancelled the operation.     * @STOPPING@ : The operation is in the process of stopping, at user request.      * @SUCCEEDED@ : The operation completed creating or updating all the specified stacks without exceeding the failure tolerance for the operation.+--+-- * 'ssoAction' - The type of stack set operation: @CREATE@ , @UPDATE@ , or @DELETE@ . Create and delete operations affect only the specified stack set instances that are associated with the specified stack set. Update operations affect both the stack set itself, as well as /all/ associated stack set instances.+--+-- * 'ssoEndTimestamp' - The time at which the stack set operation ended, across all accounts and regions specified. Note that this doesn't necessarily mean that the stack set operation was successful, or even attempted, in each account or region.+--+-- * 'ssoCreationTimestamp' - The time at which the operation was initiated. Note that the creation times for the stack set operation might differ from the creation time of the individual stacks themselves. This is because AWS CloudFormation needs to perform preparatory work for the operation, such as dispatching the work to the requested regions, before actually creating the first stacks.+--+-- * 'ssoOperationPreferences' - The preferences for how AWS CloudFormation performs this stack set operation.+--+-- * 'ssoOperationId' - The unique ID of a stack set operation.+--+-- * 'ssoRetainStacks' - For stack set operations of action type @DELETE@ , specifies whether to remove the stack instances from the specified stack set, but doesn't delete the stacks. You can't reassociate a retained stack, or add an existing, saved stack to a new stack set.+--+-- * 'ssoStackSetId' - The ID of the stack set.+stackSetOperation+    :: StackSetOperation+stackSetOperation =+  StackSetOperation'+  { _ssoStatus = Nothing+  , _ssoAction = Nothing+  , _ssoEndTimestamp = Nothing+  , _ssoCreationTimestamp = Nothing+  , _ssoOperationPreferences = Nothing+  , _ssoOperationId = Nothing+  , _ssoRetainStacks = Nothing+  , _ssoStackSetId = Nothing+  }+++-- | The status of the operation.      * @FAILED@ : The operation exceeded the specified failure tolerance. The failure tolerance value that you've set for an operation is applied for each region during stack create and update operations. If the number of failed stacks within a region exceeds the failure tolerance, the status of the operation in the region is set to @FAILED@ . This in turn sets the status of the operation as a whole to @FAILED@ , and AWS CloudFormation cancels the operation in any remaining regions.     * @RUNNING@ : The operation is currently being performed.     * @STOPPED@ : The user has cancelled the operation.     * @STOPPING@ : The operation is in the process of stopping, at user request.      * @SUCCEEDED@ : The operation completed creating or updating all the specified stacks without exceeding the failure tolerance for the operation.+ssoStatus :: Lens' StackSetOperation (Maybe StackSetOperationStatus)+ssoStatus = lens _ssoStatus (\ s a -> s{_ssoStatus = a});++-- | The type of stack set operation: @CREATE@ , @UPDATE@ , or @DELETE@ . Create and delete operations affect only the specified stack set instances that are associated with the specified stack set. Update operations affect both the stack set itself, as well as /all/ associated stack set instances.+ssoAction :: Lens' StackSetOperation (Maybe StackSetOperationAction)+ssoAction = lens _ssoAction (\ s a -> s{_ssoAction = a});++-- | The time at which the stack set operation ended, across all accounts and regions specified. Note that this doesn't necessarily mean that the stack set operation was successful, or even attempted, in each account or region.+ssoEndTimestamp :: Lens' StackSetOperation (Maybe UTCTime)+ssoEndTimestamp = lens _ssoEndTimestamp (\ s a -> s{_ssoEndTimestamp = a}) . mapping _Time;++-- | The time at which the operation was initiated. Note that the creation times for the stack set operation might differ from the creation time of the individual stacks themselves. This is because AWS CloudFormation needs to perform preparatory work for the operation, such as dispatching the work to the requested regions, before actually creating the first stacks.+ssoCreationTimestamp :: Lens' StackSetOperation (Maybe UTCTime)+ssoCreationTimestamp = lens _ssoCreationTimestamp (\ s a -> s{_ssoCreationTimestamp = a}) . mapping _Time;++-- | The preferences for how AWS CloudFormation performs this stack set operation.+ssoOperationPreferences :: Lens' StackSetOperation (Maybe StackSetOperationPreferences)+ssoOperationPreferences = lens _ssoOperationPreferences (\ s a -> s{_ssoOperationPreferences = a});++-- | The unique ID of a stack set operation.+ssoOperationId :: Lens' StackSetOperation (Maybe Text)+ssoOperationId = lens _ssoOperationId (\ s a -> s{_ssoOperationId = a});++-- | For stack set operations of action type @DELETE@ , specifies whether to remove the stack instances from the specified stack set, but doesn't delete the stacks. You can't reassociate a retained stack, or add an existing, saved stack to a new stack set.+ssoRetainStacks :: Lens' StackSetOperation (Maybe Bool)+ssoRetainStacks = lens _ssoRetainStacks (\ s a -> s{_ssoRetainStacks = a});++-- | The ID of the stack set.+ssoStackSetId :: Lens' StackSetOperation (Maybe Text)+ssoStackSetId = lens _ssoStackSetId (\ s a -> s{_ssoStackSetId = a});++instance FromXML StackSetOperation where+        parseXML x+          = StackSetOperation' <$>+              (x .@? "Status") <*> (x .@? "Action") <*>+                (x .@? "EndTimestamp")+                <*> (x .@? "CreationTimestamp")+                <*> (x .@? "OperationPreferences")+                <*> (x .@? "OperationId")+                <*> (x .@? "RetainStacks")+                <*> (x .@? "StackSetId")++instance Hashable StackSetOperation where++instance NFData StackSetOperation where++-- | The user-specified preferences for how AWS CloudFormation performs a stack set operation.+--+--+-- For more information on maximum concurrent accounts and failure tolerance, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-ops-options Stack set operation options> .+--+--+-- /See:/ 'stackSetOperationPreferences' smart constructor.+data StackSetOperationPreferences = StackSetOperationPreferences'+  { _ssopRegionOrder                :: !(Maybe [Text])+  , _ssopMaxConcurrentCount         :: !(Maybe Nat)+  , _ssopMaxConcurrentPercentage    :: !(Maybe Nat)+  , _ssopFailureToleranceCount      :: !(Maybe Nat)+  , _ssopFailureTolerancePercentage :: !(Maybe Nat)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StackSetOperationPreferences' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssopRegionOrder' - The order of the regions in where you want to perform the stack operation.+--+-- * 'ssopMaxConcurrentCount' - The maximum number of accounts in which to perform this operation at one time. This is dependent on the value of @FailureToleranceCount@ —@MaxConcurrentCount@ is at most one more than the @FailureToleranceCount@ . Note that this setting lets you specify the /maximum/ for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling. Conditional: You must specify either @MaxConcurrentCount@ or @MaxConcurrentPercentage@ , but not both.+--+-- * 'ssopMaxConcurrentPercentage' - The maximum percentage of accounts in which to perform this operation at one time. When calculating the number of accounts based on the specified percentage, AWS CloudFormation rounds down to the next whole number. This is true except in cases where rounding down would result is zero. In this case, CloudFormation sets the number as one instead. Note that this setting lets you specify the /maximum/ for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling. Conditional: You must specify either @MaxConcurrentCount@ or @MaxConcurrentPercentage@ , but not both.+--+-- * 'ssopFailureToleranceCount' - The number of accounts, per region, for which this operation can fail before AWS CloudFormation stops the operation in that region. If the operation is stopped in a region, AWS CloudFormation doesn't attempt the operation in any subsequent regions. Conditional: You must specify either @FailureToleranceCount@ or @FailureTolerancePercentage@ (but not both).+--+-- * 'ssopFailureTolerancePercentage' - The percentage of accounts, per region, for which this stack operation can fail before AWS CloudFormation stops the operation in that region. If the operation is stopped in a region, AWS CloudFormation doesn't attempt the operation in any subsequent regions. When calculating the number of accounts based on the specified percentage, AWS CloudFormation rounds /down/ to the next whole number. Conditional: You must specify either @FailureToleranceCount@ or @FailureTolerancePercentage@ , but not both.+stackSetOperationPreferences+    :: StackSetOperationPreferences+stackSetOperationPreferences =+  StackSetOperationPreferences'+  { _ssopRegionOrder = Nothing+  , _ssopMaxConcurrentCount = Nothing+  , _ssopMaxConcurrentPercentage = Nothing+  , _ssopFailureToleranceCount = Nothing+  , _ssopFailureTolerancePercentage = Nothing+  }+++-- | The order of the regions in where you want to perform the stack operation.+ssopRegionOrder :: Lens' StackSetOperationPreferences [Text]+ssopRegionOrder = lens _ssopRegionOrder (\ s a -> s{_ssopRegionOrder = a}) . _Default . _Coerce;++-- | The maximum number of accounts in which to perform this operation at one time. This is dependent on the value of @FailureToleranceCount@ —@MaxConcurrentCount@ is at most one more than the @FailureToleranceCount@ . Note that this setting lets you specify the /maximum/ for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling. Conditional: You must specify either @MaxConcurrentCount@ or @MaxConcurrentPercentage@ , but not both.+ssopMaxConcurrentCount :: Lens' StackSetOperationPreferences (Maybe Natural)+ssopMaxConcurrentCount = lens _ssopMaxConcurrentCount (\ s a -> s{_ssopMaxConcurrentCount = a}) . mapping _Nat;++-- | The maximum percentage of accounts in which to perform this operation at one time. When calculating the number of accounts based on the specified percentage, AWS CloudFormation rounds down to the next whole number. This is true except in cases where rounding down would result is zero. In this case, CloudFormation sets the number as one instead. Note that this setting lets you specify the /maximum/ for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling. Conditional: You must specify either @MaxConcurrentCount@ or @MaxConcurrentPercentage@ , but not both.+ssopMaxConcurrentPercentage :: Lens' StackSetOperationPreferences (Maybe Natural)+ssopMaxConcurrentPercentage = lens _ssopMaxConcurrentPercentage (\ s a -> s{_ssopMaxConcurrentPercentage = a}) . mapping _Nat;++-- | The number of accounts, per region, for which this operation can fail before AWS CloudFormation stops the operation in that region. If the operation is stopped in a region, AWS CloudFormation doesn't attempt the operation in any subsequent regions. Conditional: You must specify either @FailureToleranceCount@ or @FailureTolerancePercentage@ (but not both).+ssopFailureToleranceCount :: Lens' StackSetOperationPreferences (Maybe Natural)+ssopFailureToleranceCount = lens _ssopFailureToleranceCount (\ s a -> s{_ssopFailureToleranceCount = a}) . mapping _Nat;++-- | The percentage of accounts, per region, for which this stack operation can fail before AWS CloudFormation stops the operation in that region. If the operation is stopped in a region, AWS CloudFormation doesn't attempt the operation in any subsequent regions. When calculating the number of accounts based on the specified percentage, AWS CloudFormation rounds /down/ to the next whole number. Conditional: You must specify either @FailureToleranceCount@ or @FailureTolerancePercentage@ , but not both.+ssopFailureTolerancePercentage :: Lens' StackSetOperationPreferences (Maybe Natural)+ssopFailureTolerancePercentage = lens _ssopFailureTolerancePercentage (\ s a -> s{_ssopFailureTolerancePercentage = a}) . mapping _Nat;++instance FromXML StackSetOperationPreferences where+        parseXML x+          = StackSetOperationPreferences' <$>+              (x .@? "RegionOrder" .!@ mempty >>=+                 may (parseXMLList "member"))+                <*> (x .@? "MaxConcurrentCount")+                <*> (x .@? "MaxConcurrentPercentage")+                <*> (x .@? "FailureToleranceCount")+                <*> (x .@? "FailureTolerancePercentage")++instance Hashable StackSetOperationPreferences where++instance NFData StackSetOperationPreferences where++instance ToQuery StackSetOperationPreferences where+        toQuery StackSetOperationPreferences'{..}+          = mconcat+              ["RegionOrder" =:+                 toQuery (toQueryList "member" <$> _ssopRegionOrder),+               "MaxConcurrentCount" =: _ssopMaxConcurrentCount,+               "MaxConcurrentPercentage" =:+                 _ssopMaxConcurrentPercentage,+               "FailureToleranceCount" =:+                 _ssopFailureToleranceCount,+               "FailureTolerancePercentage" =:+                 _ssopFailureTolerancePercentage]++-- | The structure that contains information about a specified operation's results for a given account in a given region.+--+--+--+-- /See:/ 'stackSetOperationResultSummary' smart constructor.+data StackSetOperationResultSummary = StackSetOperationResultSummary'+  { _ssorsStatus            :: !(Maybe StackSetOperationResultStatus)+  , _ssorsAccount           :: !(Maybe Text)+  , _ssorsAccountGateResult :: !(Maybe AccountGateResult)+  , _ssorsRegion            :: !(Maybe Text)+  , _ssorsStatusReason      :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StackSetOperationResultSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssorsStatus' - The result status of the stack set operation for the given account in the given region.     * @CANCELLED@ : The operation in the specified account and region has been cancelled. This is either because a user has stopped the stack set operation, or because the failure tolerance of the stack set operation has been exceeded.     * @FAILED@ : The operation in the specified account and region failed.  If the stack set operation fails in enough accounts within a region, the failure tolerance for the stack set operation as a whole might be exceeded.      * @RUNNING@ : The operation in the specified account and region is currently in progress.     * @PENDING@ : The operation in the specified account and region has yet to start.      * @SUCCEEDED@ : The operation in the specified account and region completed successfully.+--+-- * 'ssorsAccount' - The name of the AWS account for this operation result.+--+-- * 'ssorsAccountGateResult' - The results of the account gate function AWS CloudFormation invokes, if present, before proceeding with stack set operations in an account+--+-- * 'ssorsRegion' - The name of the AWS region for this operation result.+--+-- * 'ssorsStatusReason' - The reason for the assigned result status.+stackSetOperationResultSummary+    :: StackSetOperationResultSummary+stackSetOperationResultSummary =+  StackSetOperationResultSummary'+  { _ssorsStatus = Nothing+  , _ssorsAccount = Nothing+  , _ssorsAccountGateResult = Nothing+  , _ssorsRegion = Nothing+  , _ssorsStatusReason = Nothing+  }+++-- | The result status of the stack set operation for the given account in the given region.     * @CANCELLED@ : The operation in the specified account and region has been cancelled. This is either because a user has stopped the stack set operation, or because the failure tolerance of the stack set operation has been exceeded.     * @FAILED@ : The operation in the specified account and region failed.  If the stack set operation fails in enough accounts within a region, the failure tolerance for the stack set operation as a whole might be exceeded.      * @RUNNING@ : The operation in the specified account and region is currently in progress.     * @PENDING@ : The operation in the specified account and region has yet to start.      * @SUCCEEDED@ : The operation in the specified account and region completed successfully.+ssorsStatus :: Lens' StackSetOperationResultSummary (Maybe StackSetOperationResultStatus)+ssorsStatus = lens _ssorsStatus (\ s a -> s{_ssorsStatus = a});++-- | The name of the AWS account for this operation result.+ssorsAccount :: Lens' StackSetOperationResultSummary (Maybe Text)+ssorsAccount = lens _ssorsAccount (\ s a -> s{_ssorsAccount = a});++-- | The results of the account gate function AWS CloudFormation invokes, if present, before proceeding with stack set operations in an account+ssorsAccountGateResult :: Lens' StackSetOperationResultSummary (Maybe AccountGateResult)+ssorsAccountGateResult = lens _ssorsAccountGateResult (\ s a -> s{_ssorsAccountGateResult = a});++-- | The name of the AWS region for this operation result.+ssorsRegion :: Lens' StackSetOperationResultSummary (Maybe Text)+ssorsRegion = lens _ssorsRegion (\ s a -> s{_ssorsRegion = a});++-- | The reason for the assigned result status.+ssorsStatusReason :: Lens' StackSetOperationResultSummary (Maybe Text)+ssorsStatusReason = lens _ssorsStatusReason (\ s a -> s{_ssorsStatusReason = a});++instance FromXML StackSetOperationResultSummary where+        parseXML x+          = StackSetOperationResultSummary' <$>+              (x .@? "Status") <*> (x .@? "Account") <*>+                (x .@? "AccountGateResult")+                <*> (x .@? "Region")+                <*> (x .@? "StatusReason")++instance Hashable StackSetOperationResultSummary+         where++instance NFData StackSetOperationResultSummary where++-- | The structures that contain summary information about the specified operation.+--+--+--+-- /See:/ 'stackSetOperationSummary' smart constructor.+data StackSetOperationSummary = StackSetOperationSummary'+  { _ssosStatus            :: !(Maybe StackSetOperationStatus)+  , _ssosAction            :: !(Maybe StackSetOperationAction)+  , _ssosEndTimestamp      :: !(Maybe ISO8601)+  , _ssosCreationTimestamp :: !(Maybe ISO8601)+  , _ssosOperationId       :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StackSetOperationSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssosStatus' - The overall status of the operation.     * @FAILED@ : The operation exceeded the specified failure tolerance. The failure tolerance value that you've set for an operation is applied for each region during stack create and update operations. If the number of failed stacks within a region exceeds the failure tolerance, the status of the operation in the region is set to @FAILED@ . This in turn sets the status of the operation as a whole to @FAILED@ , and AWS CloudFormation cancels the operation in any remaining regions.     * @RUNNING@ : The operation is currently being performed.     * @STOPPED@ : The user has cancelled the operation.     * @STOPPING@ : The operation is in the process of stopping, at user request.      * @SUCCEEDED@ : The operation completed creating or updating all the specified stacks without exceeding the failure tolerance for the operation.+--+-- * 'ssosAction' - The type of operation: @CREATE@ , @UPDATE@ , or @DELETE@ . Create and delete operations affect only the specified stack instances that are associated with the specified stack set. Update operations affect both the stack set itself as well as /all/ associated stack set instances.+--+-- * 'ssosEndTimestamp' - The time at which the stack set operation ended, across all accounts and regions specified. Note that this doesn't necessarily mean that the stack set operation was successful, or even attempted, in each account or region.+--+-- * 'ssosCreationTimestamp' - The time at which the operation was initiated. Note that the creation times for the stack set operation might differ from the creation time of the individual stacks themselves. This is because AWS CloudFormation needs to perform preparatory work for the operation, such as dispatching the work to the requested regions, before actually creating the first stacks.+--+-- * 'ssosOperationId' - The unique ID of the stack set operation.+stackSetOperationSummary+    :: StackSetOperationSummary+stackSetOperationSummary =+  StackSetOperationSummary'+  { _ssosStatus = Nothing+  , _ssosAction = Nothing+  , _ssosEndTimestamp = Nothing+  , _ssosCreationTimestamp = Nothing+  , _ssosOperationId = Nothing+  }+++-- | The overall status of the operation.     * @FAILED@ : The operation exceeded the specified failure tolerance. The failure tolerance value that you've set for an operation is applied for each region during stack create and update operations. If the number of failed stacks within a region exceeds the failure tolerance, the status of the operation in the region is set to @FAILED@ . This in turn sets the status of the operation as a whole to @FAILED@ , and AWS CloudFormation cancels the operation in any remaining regions.     * @RUNNING@ : The operation is currently being performed.     * @STOPPED@ : The user has cancelled the operation.     * @STOPPING@ : The operation is in the process of stopping, at user request.      * @SUCCEEDED@ : The operation completed creating or updating all the specified stacks without exceeding the failure tolerance for the operation.+ssosStatus :: Lens' StackSetOperationSummary (Maybe StackSetOperationStatus)+ssosStatus = lens _ssosStatus (\ s a -> s{_ssosStatus = a});++-- | The type of operation: @CREATE@ , @UPDATE@ , or @DELETE@ . Create and delete operations affect only the specified stack instances that are associated with the specified stack set. Update operations affect both the stack set itself as well as /all/ associated stack set instances.+ssosAction :: Lens' StackSetOperationSummary (Maybe StackSetOperationAction)+ssosAction = lens _ssosAction (\ s a -> s{_ssosAction = a});++-- | The time at which the stack set operation ended, across all accounts and regions specified. Note that this doesn't necessarily mean that the stack set operation was successful, or even attempted, in each account or region.+ssosEndTimestamp :: Lens' StackSetOperationSummary (Maybe UTCTime)+ssosEndTimestamp = lens _ssosEndTimestamp (\ s a -> s{_ssosEndTimestamp = a}) . mapping _Time;++-- | The time at which the operation was initiated. Note that the creation times for the stack set operation might differ from the creation time of the individual stacks themselves. This is because AWS CloudFormation needs to perform preparatory work for the operation, such as dispatching the work to the requested regions, before actually creating the first stacks.+ssosCreationTimestamp :: Lens' StackSetOperationSummary (Maybe UTCTime)+ssosCreationTimestamp = lens _ssosCreationTimestamp (\ s a -> s{_ssosCreationTimestamp = a}) . mapping _Time;++-- | The unique ID of the stack set operation.+ssosOperationId :: Lens' StackSetOperationSummary (Maybe Text)+ssosOperationId = lens _ssosOperationId (\ s a -> s{_ssosOperationId = a});++instance FromXML StackSetOperationSummary where+        parseXML x+          = StackSetOperationSummary' <$>+              (x .@? "Status") <*> (x .@? "Action") <*>+                (x .@? "EndTimestamp")+                <*> (x .@? "CreationTimestamp")+                <*> (x .@? "OperationId")++instance Hashable StackSetOperationSummary where++instance NFData StackSetOperationSummary where++-- | The structures that contain summary information about the specified stack set.+--+--+--+-- /See:/ 'stackSetSummary' smart constructor.+data StackSetSummary = StackSetSummary'+  { _sssStatus       :: !(Maybe StackSetStatus)+  , _sssStackSetName :: !(Maybe Text)+  , _sssDescription  :: !(Maybe Text)+  , _sssStackSetId   :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StackSetSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sssStatus' - The status of the stack set.+--+-- * 'sssStackSetName' - The name of the stack set.+--+-- * 'sssDescription' - A description of the stack set that you specify when the stack set is created or updated.+--+-- * 'sssStackSetId' - The ID of the stack set.+stackSetSummary+    :: StackSetSummary+stackSetSummary =+  StackSetSummary'+  { _sssStatus = Nothing+  , _sssStackSetName = Nothing+  , _sssDescription = Nothing+  , _sssStackSetId = Nothing+  }+++-- | The status of the stack set.+sssStatus :: Lens' StackSetSummary (Maybe StackSetStatus)+sssStatus = lens _sssStatus (\ s a -> s{_sssStatus = a});++-- | The name of the stack set.+sssStackSetName :: Lens' StackSetSummary (Maybe Text)+sssStackSetName = lens _sssStackSetName (\ s a -> s{_sssStackSetName = a});++-- | A description of the stack set that you specify when the stack set is created or updated.+sssDescription :: Lens' StackSetSummary (Maybe Text)+sssDescription = lens _sssDescription (\ s a -> s{_sssDescription = a});++-- | The ID of the stack set.+sssStackSetId :: Lens' StackSetSummary (Maybe Text)+sssStackSetId = lens _sssStackSetId (\ s a -> s{_sssStackSetId = a});++instance FromXML StackSetSummary where+        parseXML x+          = StackSetSummary' <$>+              (x .@? "Status") <*> (x .@? "StackSetName") <*>+                (x .@? "Description")+                <*> (x .@? "StackSetId")++instance Hashable StackSetSummary where++instance NFData StackSetSummary where++-- | The StackSummary Data Type+--+--+--+-- /See:/ 'stackSummary' smart constructor.+data StackSummary = StackSummary'+  { _ssLastUpdatedTime     :: !(Maybe ISO8601)+  , _ssRootId              :: !(Maybe Text)+  , _ssStackStatusReason   :: !(Maybe Text)+  , _ssTemplateDescription :: !(Maybe Text)+  , _ssDeletionTime        :: !(Maybe ISO8601)+  , _ssStackId             :: !(Maybe Text)+  , _ssParentId            :: !(Maybe Text)+  , _ssStackName           :: !Text+  , _ssCreationTime        :: !ISO8601+  , _ssStackStatus         :: !StackStatus+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StackSummary' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ssLastUpdatedTime' - The time the stack was last updated. This field will only be returned if the stack has been updated at least once.+--+-- * 'ssRootId' - For nested stacks--stacks created as resources for another stack--the stack ID of the the top-level stack to which the nested stack ultimately belongs. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html Working with Nested Stacks> in the /AWS CloudFormation User Guide/ .+--+-- * 'ssStackStatusReason' - Success/Failure message associated with the stack status.+--+-- * 'ssTemplateDescription' - The template description of the template used to create the stack.+--+-- * 'ssDeletionTime' - The time the stack was deleted.+--+-- * 'ssStackId' - Unique stack identifier.+--+-- * 'ssParentId' - For nested stacks--stacks created as resources for another stack--the stack ID of the direct parent of this stack. For the first level of nested stacks, the root stack is also the parent stack. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html Working with Nested Stacks> in the /AWS CloudFormation User Guide/ .+--+-- * 'ssStackName' - The name associated with the stack.+--+-- * 'ssCreationTime' - The time the stack was created.+--+-- * 'ssStackStatus' - The current status of the stack.+stackSummary+    :: Text -- ^ 'ssStackName'+    -> UTCTime -- ^ 'ssCreationTime'+    -> StackStatus -- ^ 'ssStackStatus'+    -> StackSummary+stackSummary pStackName_ pCreationTime_ pStackStatus_ =+  StackSummary'+  { _ssLastUpdatedTime = Nothing+  , _ssRootId = Nothing+  , _ssStackStatusReason = Nothing+  , _ssTemplateDescription = Nothing+  , _ssDeletionTime = Nothing+  , _ssStackId = Nothing+  , _ssParentId = Nothing+  , _ssStackName = pStackName_+  , _ssCreationTime = _Time # pCreationTime_+  , _ssStackStatus = pStackStatus_+  }+++-- | The time the stack was last updated. This field will only be returned if the stack has been updated at least once.+ssLastUpdatedTime :: Lens' StackSummary (Maybe UTCTime)+ssLastUpdatedTime = lens _ssLastUpdatedTime (\ s a -> s{_ssLastUpdatedTime = a}) . mapping _Time;++-- | For nested stacks--stacks created as resources for another stack--the stack ID of the the top-level stack to which the nested stack ultimately belongs. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html Working with Nested Stacks> in the /AWS CloudFormation User Guide/ .+ssRootId :: Lens' StackSummary (Maybe Text)+ssRootId = lens _ssRootId (\ s a -> s{_ssRootId = a});++-- | Success/Failure message associated with the stack status.+ssStackStatusReason :: Lens' StackSummary (Maybe Text)+ssStackStatusReason = lens _ssStackStatusReason (\ s a -> s{_ssStackStatusReason = a});++-- | The template description of the template used to create the stack.+ssTemplateDescription :: Lens' StackSummary (Maybe Text)+ssTemplateDescription = lens _ssTemplateDescription (\ s a -> s{_ssTemplateDescription = a});++-- | The time the stack was deleted.+ssDeletionTime :: Lens' StackSummary (Maybe UTCTime)+ssDeletionTime = lens _ssDeletionTime (\ s a -> s{_ssDeletionTime = a}) . mapping _Time;++-- | Unique stack identifier.+ssStackId :: Lens' StackSummary (Maybe Text)+ssStackId = lens _ssStackId (\ s a -> s{_ssStackId = a});++-- | For nested stacks--stacks created as resources for another stack--the stack ID of the direct parent of this stack. For the first level of nested stacks, the root stack is also the parent stack. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html Working with Nested Stacks> in the /AWS CloudFormation User Guide/ .+ssParentId :: Lens' StackSummary (Maybe Text)+ssParentId = lens _ssParentId (\ s a -> s{_ssParentId = a});++-- | The name associated with the stack.+ssStackName :: Lens' StackSummary Text+ssStackName = lens _ssStackName (\ s a -> s{_ssStackName = a});++-- | The time the stack was created.+ssCreationTime :: Lens' StackSummary UTCTime+ssCreationTime = lens _ssCreationTime (\ s a -> s{_ssCreationTime = a}) . _Time;++-- | The current status of the stack.+ssStackStatus :: Lens' StackSummary StackStatus+ssStackStatus = lens _ssStackStatus (\ s a -> s{_ssStackStatus = a});++instance FromXML StackSummary where+        parseXML x+          = StackSummary' <$>+              (x .@? "LastUpdatedTime") <*> (x .@? "RootId") <*>+                (x .@? "StackStatusReason")+                <*> (x .@? "TemplateDescription")+                <*> (x .@? "DeletionTime")+                <*> (x .@? "StackId")+                <*> (x .@? "ParentId")+                <*> (x .@ "StackName")+                <*> (x .@ "CreationTime")+                <*> (x .@ "StackStatus")++instance Hashable StackSummary where++instance NFData StackSummary where++-- | The Tag type enables you to specify a key-value pair that can be used to store information about an AWS CloudFormation stack.+--+--+--+-- /See:/ 'tag' smart constructor.+data Tag = Tag'+  { _tagKey   :: !Text+  , _tagValue :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Tag' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tagKey' - /Required/ . A string used to identify this tag. You can specify a maximum of 128 characters for a tag key. Tags owned by Amazon Web Services (AWS) have the reserved prefix: @aws:@ .+--+-- * 'tagValue' - /Required/ . A string containing the value for this tag. You can specify a maximum of 256 characters for a tag value.+tag+    :: Text -- ^ 'tagKey'+    -> Text -- ^ 'tagValue'+    -> Tag+tag pKey_ pValue_ = Tag' {_tagKey = pKey_, _tagValue = pValue_}+++-- | /Required/ . A string used to identify this tag. You can specify a maximum of 128 characters for a tag key. Tags owned by Amazon Web Services (AWS) have the reserved prefix: @aws:@ .+tagKey :: Lens' Tag Text+tagKey = lens _tagKey (\ s a -> s{_tagKey = a});++-- | /Required/ . A string containing the value for this tag. You can specify a maximum of 256 characters for a tag value.+tagValue :: Lens' Tag Text+tagValue = lens _tagValue (\ s a -> s{_tagValue = a});++instance FromXML Tag where+        parseXML x = Tag' <$> (x .@ "Key") <*> (x .@ "Value")++instance Hashable Tag where++instance NFData Tag where++instance ToQuery Tag where+        toQuery Tag'{..}+          = mconcat ["Key" =: _tagKey, "Value" =: _tagValue]++-- | The TemplateParameter data type.+--+--+--+-- /See:/ 'templateParameter' smart constructor.+data TemplateParameter = TemplateParameter'+  { _tpParameterKey :: !(Maybe Text)+  , _tpDefaultValue :: !(Maybe Text)+  , _tpNoEcho       :: !(Maybe Bool)+  , _tpDescription  :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TemplateParameter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tpParameterKey' - The name associated with the parameter.+--+-- * 'tpDefaultValue' - The default value associated with the parameter.+--+-- * 'tpNoEcho' - Flag indicating whether the parameter should be displayed as plain text in logs and UIs.+--+-- * 'tpDescription' - User defined description associated with the parameter.+templateParameter+    :: TemplateParameter+templateParameter =+  TemplateParameter'+  { _tpParameterKey = Nothing+  , _tpDefaultValue = Nothing+  , _tpNoEcho = Nothing+  , _tpDescription = Nothing+  }+++-- | The name associated with the parameter.+tpParameterKey :: Lens' TemplateParameter (Maybe Text)+tpParameterKey = lens _tpParameterKey (\ s a -> s{_tpParameterKey = a});++-- | The default value associated with the parameter.+tpDefaultValue :: Lens' TemplateParameter (Maybe Text)+tpDefaultValue = lens _tpDefaultValue (\ s a -> s{_tpDefaultValue = a});++-- | Flag indicating whether the parameter should be displayed as plain text in logs and UIs.+tpNoEcho :: Lens' TemplateParameter (Maybe Bool)+tpNoEcho = lens _tpNoEcho (\ s a -> s{_tpNoEcho = a});++-- | User defined description associated with the parameter.+tpDescription :: Lens' TemplateParameter (Maybe Text)+tpDescription = lens _tpDescription (\ s a -> s{_tpDescription = a});++instance FromXML TemplateParameter where+        parseXML x+          = TemplateParameter' <$>+              (x .@? "ParameterKey") <*> (x .@? "DefaultValue") <*>+                (x .@? "NoEcho")+                <*> (x .@? "Description")++instance Hashable TemplateParameter where++instance NFData TemplateParameter where
gen/Network/AWS/CloudFormation/Types/Sum.hs view
@@ -9,21 +9,52 @@  -- | -- Module      : Network.AWS.CloudFormation.Types.Sum--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- module Network.AWS.CloudFormation.Types.Sum where -import           Network.AWS.Prelude+import Network.AWS.Prelude +data AccountGateStatus+  = AGSFailed+  | AGSSkipped+  | AGSSucceeded+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText AccountGateStatus where+    parser = takeLowerText >>= \case+        "failed" -> pure AGSFailed+        "skipped" -> pure AGSSkipped+        "succeeded" -> pure AGSSucceeded+        e -> fromTextError $ "Failure parsing AccountGateStatus from value: '" <> e+           <> "'. Accepted values: failed, skipped, succeeded"++instance ToText AccountGateStatus where+    toText = \case+        AGSFailed -> "FAILED"+        AGSSkipped -> "SKIPPED"+        AGSSucceeded -> "SUCCEEDED"++instance Hashable     AccountGateStatus+instance NFData       AccountGateStatus+instance ToByteString AccountGateStatus+instance ToQuery      AccountGateStatus+instance ToHeader     AccountGateStatus++instance FromXML AccountGateStatus where+    parseXML = parseXMLText "AccountGateStatus"+ data Capability-    = CapabilityIAM-    | CapabilityNamedIAM-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = CapabilityIAM+  | CapabilityNamedIAM+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText Capability where     parser = takeLowerText >>= \case         "capability_iam" -> pure CapabilityIAM@@ -46,11 +77,12 @@     parseXML = parseXMLText "Capability"  data ChangeAction-    = Add-    | Modify-    | Remove-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Add+  | Modify+  | Remove+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText ChangeAction where     parser = takeLowerText >>= \case         "add" -> pure Add@@ -75,13 +107,14 @@     parseXML = parseXMLText "ChangeAction"  data ChangeSetStatus-    = CSSCreateComplete-    | CSSCreateInProgress-    | CSSCreatePending-    | CSSDeleteComplete-    | CSSFailed-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = CSSCreateComplete+  | CSSCreateInProgress+  | CSSCreatePending+  | CSSDeleteComplete+  | CSSFailed+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText ChangeSetStatus where     parser = takeLowerText >>= \case         "create_complete" -> pure CSSCreateComplete@@ -110,10 +143,11 @@     parseXML = parseXMLText "ChangeSetStatus"  data ChangeSetType-    = Create-    | Update-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Create+  | Update+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText ChangeSetType where     parser = takeLowerText >>= \case         "create" -> pure Create@@ -133,13 +167,14 @@ instance ToHeader     ChangeSetType  data ChangeSource-    = Automatic-    | DirectModification-    | ParameterReference-    | ResourceAttribute-    | ResourceReference-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Automatic+  | DirectModification+  | ParameterReference+  | ResourceAttribute+  | ResourceReference+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText ChangeSource where     parser = takeLowerText >>= \case         "automatic" -> pure Automatic@@ -168,9 +203,10 @@     parseXML = parseXMLText "ChangeSource"  data ChangeType =-    Resource-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  Resource+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText ChangeType where     parser = takeLowerText >>= \case         "resource" -> pure Resource@@ -191,10 +227,11 @@     parseXML = parseXMLText "ChangeType"  data EvaluationType-    = Dynamic-    | Static-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Dynamic+  | Static+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText EvaluationType where     parser = takeLowerText >>= \case         "dynamic" -> pure Dynamic@@ -217,14 +254,15 @@     parseXML = parseXMLText "EvaluationType"  data ExecutionStatus-    = Available-    | ExecuteComplete-    | ExecuteFailed-    | ExecuteInProgress-    | Obsolete-    | Unavailable-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Available+  | ExecuteComplete+  | ExecuteFailed+  | ExecuteInProgress+  | Obsolete+  | Unavailable+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText ExecutionStatus where     parser = takeLowerText >>= \case         "available" -> pure Available@@ -255,11 +293,12 @@     parseXML = parseXMLText "ExecutionStatus"  data OnFailure-    = Delete-    | DoNothing-    | Rollback-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Delete+  | DoNothing+  | Rollback+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText OnFailure where     parser = takeLowerText >>= \case         "delete" -> pure Delete@@ -281,11 +320,12 @@ instance ToHeader     OnFailure  data Replacement-    = Conditional-    | False'-    | True'-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Conditional+  | False'+  | True'+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText Replacement where     parser = takeLowerText >>= \case         "conditional" -> pure Conditional@@ -310,11 +350,12 @@     parseXML = parseXMLText "Replacement"  data RequiresRecreation-    = Always-    | Conditionally-    | Never-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Always+  | Conditionally+  | Never+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText RequiresRecreation where     parser = takeLowerText >>= \case         "always" -> pure Always@@ -339,14 +380,15 @@     parseXML = parseXMLText "RequiresRecreation"  data ResourceAttribute-    = CreationPolicy-    | DeletionPolicy-    | Metadata-    | Properties-    | Tags-    | UpdatePolicy-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = CreationPolicy+  | DeletionPolicy+  | Metadata+  | Properties+  | Tags+  | UpdatePolicy+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText ResourceAttribute where     parser = takeLowerText >>= \case         "creationpolicy" -> pure CreationPolicy@@ -377,10 +419,11 @@     parseXML = parseXMLText "ResourceAttribute"  data ResourceSignalStatus-    = Failure-    | Success-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Failure+  | Success+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText ResourceSignalStatus where     parser = takeLowerText >>= \case         "failure" -> pure Failure@@ -400,18 +443,19 @@ instance ToHeader     ResourceSignalStatus  data ResourceStatus-    = CreateComplete-    | CreateFailed-    | CreateInProgress-    | DeleteComplete-    | DeleteFailed-    | DeleteInProgress-    | DeleteSkipped-    | UpdateComplete-    | UpdateFailed-    | UpdateInProgress-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = CreateComplete+  | CreateFailed+  | CreateInProgress+  | DeleteComplete+  | DeleteFailed+  | DeleteInProgress+  | DeleteSkipped+  | UpdateComplete+  | UpdateFailed+  | UpdateInProgress+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText ResourceStatus where     parser = takeLowerText >>= \case         "create_complete" -> pure CreateComplete@@ -449,26 +493,186 @@ instance FromXML ResourceStatus where     parseXML = parseXMLText "ResourceStatus" +data StackInstanceStatus+  = Current+  | Inoperable+  | Outdated+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText StackInstanceStatus where+    parser = takeLowerText >>= \case+        "current" -> pure Current+        "inoperable" -> pure Inoperable+        "outdated" -> pure Outdated+        e -> fromTextError $ "Failure parsing StackInstanceStatus from value: '" <> e+           <> "'. Accepted values: current, inoperable, outdated"++instance ToText StackInstanceStatus where+    toText = \case+        Current -> "CURRENT"+        Inoperable -> "INOPERABLE"+        Outdated -> "OUTDATED"++instance Hashable     StackInstanceStatus+instance NFData       StackInstanceStatus+instance ToByteString StackInstanceStatus+instance ToQuery      StackInstanceStatus+instance ToHeader     StackInstanceStatus++instance FromXML StackInstanceStatus where+    parseXML = parseXMLText "StackInstanceStatus"++data StackSetOperationAction+  = SSOACreate+  | SSOADelete+  | SSOAUpdate+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText StackSetOperationAction where+    parser = takeLowerText >>= \case+        "create" -> pure SSOACreate+        "delete" -> pure SSOADelete+        "update" -> pure SSOAUpdate+        e -> fromTextError $ "Failure parsing StackSetOperationAction from value: '" <> e+           <> "'. Accepted values: create, delete, update"++instance ToText StackSetOperationAction where+    toText = \case+        SSOACreate -> "CREATE"+        SSOADelete -> "DELETE"+        SSOAUpdate -> "UPDATE"++instance Hashable     StackSetOperationAction+instance NFData       StackSetOperationAction+instance ToByteString StackSetOperationAction+instance ToQuery      StackSetOperationAction+instance ToHeader     StackSetOperationAction++instance FromXML StackSetOperationAction where+    parseXML = parseXMLText "StackSetOperationAction"++data StackSetOperationResultStatus+  = Cancelled+  | Failed+  | Pending+  | Running+  | Succeeded+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText StackSetOperationResultStatus where+    parser = takeLowerText >>= \case+        "cancelled" -> pure Cancelled+        "failed" -> pure Failed+        "pending" -> pure Pending+        "running" -> pure Running+        "succeeded" -> pure Succeeded+        e -> fromTextError $ "Failure parsing StackSetOperationResultStatus from value: '" <> e+           <> "'. Accepted values: cancelled, failed, pending, running, succeeded"++instance ToText StackSetOperationResultStatus where+    toText = \case+        Cancelled -> "CANCELLED"+        Failed -> "FAILED"+        Pending -> "PENDING"+        Running -> "RUNNING"+        Succeeded -> "SUCCEEDED"++instance Hashable     StackSetOperationResultStatus+instance NFData       StackSetOperationResultStatus+instance ToByteString StackSetOperationResultStatus+instance ToQuery      StackSetOperationResultStatus+instance ToHeader     StackSetOperationResultStatus++instance FromXML StackSetOperationResultStatus where+    parseXML = parseXMLText "StackSetOperationResultStatus"++data StackSetOperationStatus+  = SSOSFailed+  | SSOSRunning+  | SSOSStopped+  | SSOSStopping+  | SSOSSucceeded+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText StackSetOperationStatus where+    parser = takeLowerText >>= \case+        "failed" -> pure SSOSFailed+        "running" -> pure SSOSRunning+        "stopped" -> pure SSOSStopped+        "stopping" -> pure SSOSStopping+        "succeeded" -> pure SSOSSucceeded+        e -> fromTextError $ "Failure parsing StackSetOperationStatus from value: '" <> e+           <> "'. Accepted values: failed, running, stopped, stopping, succeeded"++instance ToText StackSetOperationStatus where+    toText = \case+        SSOSFailed -> "FAILED"+        SSOSRunning -> "RUNNING"+        SSOSStopped -> "STOPPED"+        SSOSStopping -> "STOPPING"+        SSOSSucceeded -> "SUCCEEDED"++instance Hashable     StackSetOperationStatus+instance NFData       StackSetOperationStatus+instance ToByteString StackSetOperationStatus+instance ToQuery      StackSetOperationStatus+instance ToHeader     StackSetOperationStatus++instance FromXML StackSetOperationStatus where+    parseXML = parseXMLText "StackSetOperationStatus"++data StackSetStatus+  = Active+  | Deleted+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText StackSetStatus where+    parser = takeLowerText >>= \case+        "active" -> pure Active+        "deleted" -> pure Deleted+        e -> fromTextError $ "Failure parsing StackSetStatus from value: '" <> e+           <> "'. Accepted values: active, deleted"++instance ToText StackSetStatus where+    toText = \case+        Active -> "ACTIVE"+        Deleted -> "DELETED"++instance Hashable     StackSetStatus+instance NFData       StackSetStatus+instance ToByteString StackSetStatus+instance ToQuery      StackSetStatus+instance ToHeader     StackSetStatus++instance FromXML StackSetStatus where+    parseXML = parseXMLText "StackSetStatus"+ data StackStatus-    = SSCreateComplete-    | SSCreateFailed-    | SSCreateInProgress-    | SSDeleteComplete-    | SSDeleteFailed-    | SSDeleteInProgress-    | SSReviewInProgress-    | SSRollbackComplete-    | SSRollbackFailed-    | SSRollbackInProgress-    | SSUpdateComplete-    | SSUpdateCompleteCleanupInProgress-    | SSUpdateInProgress-    | SSUpdateRollbackComplete-    | SSUpdateRollbackCompleteCleanupInProgress-    | SSUpdateRollbackFailed-    | SSUpdateRollbackInProgress-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = SSCreateComplete+  | SSCreateFailed+  | SSCreateInProgress+  | SSDeleteComplete+  | SSDeleteFailed+  | SSDeleteInProgress+  | SSReviewInProgress+  | SSRollbackComplete+  | SSRollbackFailed+  | SSRollbackInProgress+  | SSUpdateComplete+  | SSUpdateCompleteCleanupInProgress+  | SSUpdateInProgress+  | SSUpdateRollbackComplete+  | SSUpdateRollbackCompleteCleanupInProgress+  | SSUpdateRollbackFailed+  | SSUpdateRollbackInProgress+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText StackStatus where     parser = takeLowerText >>= \case         "create_complete" -> pure SSCreateComplete@@ -521,9 +725,10 @@     parseXML = parseXMLText "StackStatus"  data TemplateStage-    = Original-    | Processed-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Original+  | Processed+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+  instance FromText TemplateStage where     parser = takeLowerText >>= \case
gen/Network/AWS/CloudFormation/UpdateStack.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.CloudFormation.UpdateStack--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -40,7 +40,9 @@     , usStackPolicyURL     , usTemplateBody     , usTemplateURL+    , usClientRequestToken     , usCapabilities+    , usRollbackConfiguration     , usResourceTypes     , usTags     , usRoleARN@@ -54,12 +56,12 @@     , usrsResponseStatus     ) where -import           Network.AWS.CloudFormation.Types-import           Network.AWS.CloudFormation.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | The input for an 'UpdateStack' action. --@@ -67,27 +69,30 @@ -- -- /See:/ 'updateStack' smart constructor. data UpdateStack = UpdateStack'-    { _usUsePreviousTemplate         :: !(Maybe Bool)-    , _usNotificationARNs            :: !(Maybe [Text])-    , _usStackPolicyBody             :: !(Maybe Text)-    , _usStackPolicyDuringUpdateBody :: !(Maybe Text)-    , _usStackPolicyDuringUpdateURL  :: !(Maybe Text)-    , _usParameters                  :: !(Maybe [Parameter])-    , _usStackPolicyURL              :: !(Maybe Text)-    , _usTemplateBody                :: !(Maybe Text)-    , _usTemplateURL                 :: !(Maybe Text)-    , _usCapabilities                :: !(Maybe [Capability])-    , _usResourceTypes               :: !(Maybe [Text])-    , _usTags                        :: !(Maybe [Tag])-    , _usRoleARN                     :: !(Maybe Text)-    , _usStackName                   :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _usUsePreviousTemplate         :: !(Maybe Bool)+  , _usNotificationARNs            :: !(Maybe [Text])+  , _usStackPolicyBody             :: !(Maybe Text)+  , _usStackPolicyDuringUpdateBody :: !(Maybe Text)+  , _usStackPolicyDuringUpdateURL  :: !(Maybe Text)+  , _usParameters                  :: !(Maybe [Parameter])+  , _usStackPolicyURL              :: !(Maybe Text)+  , _usTemplateBody                :: !(Maybe Text)+  , _usTemplateURL                 :: !(Maybe Text)+  , _usClientRequestToken          :: !(Maybe Text)+  , _usCapabilities                :: !(Maybe [Capability])+  , _usRollbackConfiguration       :: !(Maybe RollbackConfiguration)+  , _usResourceTypes               :: !(Maybe [Text])+  , _usTags                        :: !(Maybe [Tag])+  , _usRoleARN                     :: !(Maybe Text)+  , _usStackName                   :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'UpdateStack' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'usUsePreviousTemplate' - Reuse the existing template that is associated with the stack that you are updating.+-- * 'usUsePreviousTemplate' - Reuse the existing template that is associated with the stack that you are updating. Conditional: You must specify only one of the following parameters: @TemplateBody@ , @TemplateURL@ , or set the @UsePreviousTemplate@ to @true@ . -- -- * 'usNotificationARNs' - Amazon Simple Notification Service topic Amazon Resource Names (ARNs) that AWS CloudFormation associates with the stack. Specify an empty list to remove all notification topics. --@@ -101,15 +106,19 @@ -- -- * 'usStackPolicyURL' - Location of a file containing the updated stack policy. The URL must point to a policy (max size: 16KB) located in an S3 bucket in the same region as the stack. You can specify either the @StackPolicyBody@ or the @StackPolicyURL@ parameter, but not both. You might update the stack policy, for example, in order to protect a new resource that you created during a stack update. If you do not specify a stack policy, the current policy that is associated with the stack is unchanged. ----- * 'usTemplateBody' - Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. (For more information, go to <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html Template Anatomy> in the AWS CloudFormation User Guide.) Conditional: You must specify either the @TemplateBody@ or the @TemplateURL@ parameter, but not both.+-- * 'usTemplateBody' - Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. (For more information, go to <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html Template Anatomy> in the AWS CloudFormation User Guide.) Conditional: You must specify only one of the following parameters: @TemplateBody@ , @TemplateURL@ , or set the @UsePreviousTemplate@ to @true@ . ----- * 'usTemplateURL' - Location of file containing the template body. The URL must point to a template that is located in an Amazon S3 bucket. For more information, go to <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html Template Anatomy> in the AWS CloudFormation User Guide. Conditional: You must specify either the @TemplateBody@ or the @TemplateURL@ parameter, but not both.+-- * 'usTemplateURL' - Location of file containing the template body. The URL must point to a template that is located in an Amazon S3 bucket. For more information, go to <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html Template Anatomy> in the AWS CloudFormation User Guide. Conditional: You must specify only one of the following parameters: @TemplateBody@ , @TemplateURL@ , or set the @UsePreviousTemplate@ to @true@ . --+-- * 'usClientRequestToken' - A unique identifier for this @UpdateStack@ request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to update a stack with the same name. You might retry @UpdateStack@ requests to ensure that AWS CloudFormation successfully received them. All events triggered by a given stack operation are assigned the same client request token, which you can use to track operations. For example, if you execute a @CreateStack@ operation with the token @token1@ , then all the @StackEvents@ generated by that operation will have @ClientRequestToken@ set as @token1@ . In the console, stack operations display the client request token on the Events tab. Stack operations that are initiated from the console use the token format /Console-StackOperation-ID/ , which helps you easily identify the stack operation . For example, if you create a stack using the console, each stack event would be assigned the same token in the following format: @Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002@ .+-- -- * 'usCapabilities' - A list of values that you must specify before AWS CloudFormation can update certain stacks. Some stack templates might include resources that can affect permissions in your AWS account, for example, by creating new AWS Identity and Access Management (IAM) users. For those stacks, you must explicitly acknowledge their capabilities by specifying this parameter. The only valid values are @CAPABILITY_IAM@ and @CAPABILITY_NAMED_IAM@ . The following resources require you to specify this parameter: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html AWS::IAM::AccessKey> , <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html AWS::IAM::Group> , <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html AWS::IAM::InstanceProfile> , <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html AWS::IAM::Policy> , <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html AWS::IAM::Role> , <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html AWS::IAM::User> , and <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html AWS::IAM::UserToGroupAddition> . If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary. If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify @CAPABILITY_NAMED_IAM@ . If you don't specify this parameter, this action returns an @InsufficientCapabilities@ error. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities Acknowledging IAM Resources in AWS CloudFormation Templates> . --+-- * 'usRollbackConfiguration' - The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.+-- -- * 'usResourceTypes' - The template resource types that you have permissions to work with for this update stack action, such as @AWS::EC2::Instance@ , @AWS::EC2::*@ , or @Custom::MyCustomInstance@ . If the list of resource types doesn't include a resource that you're updating, the stack update fails. By default, AWS CloudFormation grants permissions to all resource types. AWS Identity and Access Management (IAM) uses this parameter for AWS CloudFormation-specific condition keys in IAM policies. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html Controlling Access with AWS Identity and Access Management> . ----- * 'usTags' - Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to supported resources in the stack. You can specify a maximum number of 10 tags. If you don't specify this parameter, AWS CloudFormation doesn't modify the stack's tags. If you specify an empty value, AWS CloudFormation removes all associated tags.+-- * 'usTags' - Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to supported resources in the stack. You can specify a maximum number of 50 tags. If you don't specify this parameter, AWS CloudFormation doesn't modify the stack's tags. If you specify an empty value, AWS CloudFormation removes all associated tags. -- -- * 'usRoleARN' - The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that AWS CloudFormation assumes to update the stack. AWS CloudFormation uses the role's credentials to make calls on your behalf. AWS CloudFormation always uses this role for all future operations on the stack. As long as users have permission to operate on the stack, AWS CloudFormation uses this role even if the users don't have permission to pass it. Ensure that the role grants least privilege. If you don't specify a value, AWS CloudFormation uses the role that was previously associated with the stack. If no role is available, AWS CloudFormation uses a temporary session that is generated from your user credentials. --@@ -118,24 +127,27 @@     :: Text -- ^ 'usStackName'     -> UpdateStack updateStack pStackName_ =-    UpdateStack'-    { _usUsePreviousTemplate = Nothing-    , _usNotificationARNs = Nothing-    , _usStackPolicyBody = Nothing-    , _usStackPolicyDuringUpdateBody = Nothing-    , _usStackPolicyDuringUpdateURL = Nothing-    , _usParameters = Nothing-    , _usStackPolicyURL = Nothing-    , _usTemplateBody = Nothing-    , _usTemplateURL = Nothing-    , _usCapabilities = Nothing-    , _usResourceTypes = Nothing-    , _usTags = Nothing-    , _usRoleARN = Nothing-    , _usStackName = pStackName_-    }+  UpdateStack'+  { _usUsePreviousTemplate = Nothing+  , _usNotificationARNs = Nothing+  , _usStackPolicyBody = Nothing+  , _usStackPolicyDuringUpdateBody = Nothing+  , _usStackPolicyDuringUpdateURL = Nothing+  , _usParameters = Nothing+  , _usStackPolicyURL = Nothing+  , _usTemplateBody = Nothing+  , _usTemplateURL = Nothing+  , _usClientRequestToken = Nothing+  , _usCapabilities = Nothing+  , _usRollbackConfiguration = Nothing+  , _usResourceTypes = Nothing+  , _usTags = Nothing+  , _usRoleARN = Nothing+  , _usStackName = pStackName_+  } --- | Reuse the existing template that is associated with the stack that you are updating.++-- | Reuse the existing template that is associated with the stack that you are updating. Conditional: You must specify only one of the following parameters: @TemplateBody@ , @TemplateURL@ , or set the @UsePreviousTemplate@ to @true@ . usUsePreviousTemplate :: Lens' UpdateStack (Maybe Bool) usUsePreviousTemplate = lens _usUsePreviousTemplate (\ s a -> s{_usUsePreviousTemplate = a}); @@ -163,23 +175,31 @@ usStackPolicyURL :: Lens' UpdateStack (Maybe Text) usStackPolicyURL = lens _usStackPolicyURL (\ s a -> s{_usStackPolicyURL = a}); --- | Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. (For more information, go to <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html Template Anatomy> in the AWS CloudFormation User Guide.) Conditional: You must specify either the @TemplateBody@ or the @TemplateURL@ parameter, but not both.+-- | Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. (For more information, go to <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html Template Anatomy> in the AWS CloudFormation User Guide.) Conditional: You must specify only one of the following parameters: @TemplateBody@ , @TemplateURL@ , or set the @UsePreviousTemplate@ to @true@ . usTemplateBody :: Lens' UpdateStack (Maybe Text) usTemplateBody = lens _usTemplateBody (\ s a -> s{_usTemplateBody = a}); --- | Location of file containing the template body. The URL must point to a template that is located in an Amazon S3 bucket. For more information, go to <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html Template Anatomy> in the AWS CloudFormation User Guide. Conditional: You must specify either the @TemplateBody@ or the @TemplateURL@ parameter, but not both.+-- | Location of file containing the template body. The URL must point to a template that is located in an Amazon S3 bucket. For more information, go to <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html Template Anatomy> in the AWS CloudFormation User Guide. Conditional: You must specify only one of the following parameters: @TemplateBody@ , @TemplateURL@ , or set the @UsePreviousTemplate@ to @true@ . usTemplateURL :: Lens' UpdateStack (Maybe Text) usTemplateURL = lens _usTemplateURL (\ s a -> s{_usTemplateURL = a}); +-- | A unique identifier for this @UpdateStack@ request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to update a stack with the same name. You might retry @UpdateStack@ requests to ensure that AWS CloudFormation successfully received them. All events triggered by a given stack operation are assigned the same client request token, which you can use to track operations. For example, if you execute a @CreateStack@ operation with the token @token1@ , then all the @StackEvents@ generated by that operation will have @ClientRequestToken@ set as @token1@ . In the console, stack operations display the client request token on the Events tab. Stack operations that are initiated from the console use the token format /Console-StackOperation-ID/ , which helps you easily identify the stack operation . For example, if you create a stack using the console, each stack event would be assigned the same token in the following format: @Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002@ .+usClientRequestToken :: Lens' UpdateStack (Maybe Text)+usClientRequestToken = lens _usClientRequestToken (\ s a -> s{_usClientRequestToken = a});+ -- | A list of values that you must specify before AWS CloudFormation can update certain stacks. Some stack templates might include resources that can affect permissions in your AWS account, for example, by creating new AWS Identity and Access Management (IAM) users. For those stacks, you must explicitly acknowledge their capabilities by specifying this parameter. The only valid values are @CAPABILITY_IAM@ and @CAPABILITY_NAMED_IAM@ . The following resources require you to specify this parameter: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html AWS::IAM::AccessKey> , <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html AWS::IAM::Group> , <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html AWS::IAM::InstanceProfile> , <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html AWS::IAM::Policy> , <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html AWS::IAM::Role> , <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html AWS::IAM::User> , and <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html AWS::IAM::UserToGroupAddition> . If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary. If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify @CAPABILITY_NAMED_IAM@ . If you don't specify this parameter, this action returns an @InsufficientCapabilities@ error. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities Acknowledging IAM Resources in AWS CloudFormation Templates> . usCapabilities :: Lens' UpdateStack [Capability] usCapabilities = lens _usCapabilities (\ s a -> s{_usCapabilities = a}) . _Default . _Coerce; +-- | The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.+usRollbackConfiguration :: Lens' UpdateStack (Maybe RollbackConfiguration)+usRollbackConfiguration = lens _usRollbackConfiguration (\ s a -> s{_usRollbackConfiguration = a});+ -- | The template resource types that you have permissions to work with for this update stack action, such as @AWS::EC2::Instance@ , @AWS::EC2::*@ , or @Custom::MyCustomInstance@ . If the list of resource types doesn't include a resource that you're updating, the stack update fails. By default, AWS CloudFormation grants permissions to all resource types. AWS Identity and Access Management (IAM) uses this parameter for AWS CloudFormation-specific condition keys in IAM policies. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html Controlling Access with AWS Identity and Access Management> . usResourceTypes :: Lens' UpdateStack [Text] usResourceTypes = lens _usResourceTypes (\ s a -> s{_usResourceTypes = a}) . _Default . _Coerce; --- | Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to supported resources in the stack. You can specify a maximum number of 10 tags. If you don't specify this parameter, AWS CloudFormation doesn't modify the stack's tags. If you specify an empty value, AWS CloudFormation removes all associated tags.+-- | Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to supported resources in the stack. You can specify a maximum number of 50 tags. If you don't specify this parameter, AWS CloudFormation doesn't modify the stack's tags. If you specify an empty value, AWS CloudFormation removes all associated tags. usTags :: Lens' UpdateStack [Tag] usTags = lens _usTags (\ s a -> s{_usTags = a}) . _Default . _Coerce; @@ -200,9 +220,9 @@                  UpdateStackResponse' <$>                    (x .@? "StackId") <*> (pure (fromEnum s))) -instance Hashable UpdateStack+instance Hashable UpdateStack where -instance NFData UpdateStack+instance NFData UpdateStack where  instance ToHeaders UpdateStack where         toHeaders = const mempty@@ -229,8 +249,10 @@                "StackPolicyURL" =: _usStackPolicyURL,                "TemplateBody" =: _usTemplateBody,                "TemplateURL" =: _usTemplateURL,+               "ClientRequestToken" =: _usClientRequestToken,                "Capabilities" =:                  toQuery (toQueryList "member" <$> _usCapabilities),+               "RollbackConfiguration" =: _usRollbackConfiguration,                "ResourceTypes" =:                  toQuery (toQueryList "member" <$> _usResourceTypes),                "Tags" =: toQuery (toQueryList "member" <$> _usTags),@@ -242,10 +264,11 @@ -- -- /See:/ 'updateStackResponse' smart constructor. data UpdateStackResponse = UpdateStackResponse'-    { _usrsStackId        :: !(Maybe Text)-    , _usrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _usrsStackId        :: !(Maybe Text)+  , _usrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'UpdateStackResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -257,11 +280,10 @@     :: Int -- ^ 'usrsResponseStatus'     -> UpdateStackResponse updateStackResponse pResponseStatus_ =-    UpdateStackResponse'-    { _usrsStackId = Nothing-    , _usrsResponseStatus = pResponseStatus_-    }+  UpdateStackResponse'+  {_usrsStackId = Nothing, _usrsResponseStatus = pResponseStatus_} + -- | Unique identifier of the stack. usrsStackId :: Lens' UpdateStackResponse (Maybe Text) usrsStackId = lens _usrsStackId (\ s a -> s{_usrsStackId = a});@@ -270,4 +292,4 @@ usrsResponseStatus :: Lens' UpdateStackResponse Int usrsResponseStatus = lens _usrsResponseStatus (\ s a -> s{_usrsResponseStatus = a}); -instance NFData UpdateStackResponse+instance NFData UpdateStackResponse where
+ gen/Network/AWS/CloudFormation/UpdateStackSet.hs view
@@ -0,0 +1,222 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CloudFormation.UpdateStackSet+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the stack set and /all/ associated stack instances.+--+--+-- Even if the stack set operation created by updating the stack set fails (completely or partially, below or above a specified failure tolerance), the stack set is updated with your changes. Subsequent 'CreateStackInstances' calls on the specified stack set use the updated stack set.+--+module Network.AWS.CloudFormation.UpdateStackSet+    (+    -- * Creating a Request+      updateStackSet+    , UpdateStackSet+    -- * Request Lenses+    , ussUsePreviousTemplate+    , ussParameters+    , ussOperationPreferences+    , ussOperationId+    , ussTemplateBody+    , ussTemplateURL+    , ussDescription+    , ussCapabilities+    , ussTags+    , ussStackSetName++    -- * Destructuring the Response+    , updateStackSetResponse+    , UpdateStackSetResponse+    -- * Response Lenses+    , ussrsOperationId+    , ussrsResponseStatus+    ) where++import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'updateStackSet' smart constructor.+data UpdateStackSet = UpdateStackSet'+  { _ussUsePreviousTemplate  :: !(Maybe Bool)+  , _ussParameters           :: !(Maybe [Parameter])+  , _ussOperationPreferences :: !(Maybe StackSetOperationPreferences)+  , _ussOperationId          :: !(Maybe Text)+  , _ussTemplateBody         :: !(Maybe Text)+  , _ussTemplateURL          :: !(Maybe Text)+  , _ussDescription          :: !(Maybe Text)+  , _ussCapabilities         :: !(Maybe [Capability])+  , _ussTags                 :: !(Maybe [Tag])+  , _ussStackSetName         :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateStackSet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ussUsePreviousTemplate' - Use the existing template that's associated with the stack set that you're updating. Conditional: You must specify only one of the following parameters: @TemplateBody@ or @TemplateURL@ —or set @UsePreviousTemplate@ to true.+--+-- * 'ussParameters' - A list of input parameters for the stack set template.+--+-- * 'ussOperationPreferences' - Preferences for how AWS CloudFormation performs this stack set operation.+--+-- * 'ussOperationId' - The unique ID for this stack set operation.  The operation ID also functions as an idempotency token, to ensure that AWS CloudFormation performs the stack set operation only once, even if you retry the request multiple times. You might retry stack set operation requests to ensure that AWS CloudFormation successfully received them. If you don't specify an operation ID, AWS CloudFormation generates one automatically. Repeating this stack set operation with a new operation ID retries all stack instances whose status is @OUTDATED@ .+--+-- * 'ussTemplateBody' - The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html Template Anatomy> in the AWS CloudFormation User Guide. Conditional: You must specify only one of the following parameters: @TemplateBody@ or @TemplateURL@ —or set @UsePreviousTemplate@ to true.+--+-- * 'ussTemplateURL' - The location of the file that contains the template body. The URL must point to a template (maximum size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html Template Anatomy> in the AWS CloudFormation User Guide. Conditional: You must specify only one of the following parameters: @TemplateBody@ or @TemplateURL@ —or set @UsePreviousTemplate@ to true.+--+-- * 'ussDescription' - A brief description of updates that you are making.+--+-- * 'ussCapabilities' - A list of values that you must specify before AWS CloudFormation can create certain stack sets. Some stack set templates might include resources that can affect permissions in your AWS account—for example, by creating new AWS Identity and Access Management (IAM) users. For those stack sets, you must explicitly acknowledge their capabilities by specifying this parameter. The only valid values are CAPABILITY_IAM and CAPABILITY_NAMED_IAM. The following resources require you to specify this parameter:      * AWS::IAM::AccessKey     * AWS::IAM::Group     * AWS::IAM::InstanceProfile     * AWS::IAM::Policy     * AWS::IAM::Role     * AWS::IAM::User     * AWS::IAM::UserToGroupAddition If your stack template contains these resources, we recommend that you review all permissions that are associated with them and edit their permissions if necessary. If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If you don't specify this parameter, this action returns an @InsufficientCapabilities@ error. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities Acknowledging IAM Resources in AWS CloudFormation Templates.>+--+-- * 'ussTags' - The key-value pairs to associate with this stack set and the stacks created from it. AWS CloudFormation also propagates these tags to supported resources that are created in the stacks. You can specify a maximum number of 50 tags. If you specify tags for this parameter, those tags replace any list of tags that are currently associated with this stack set. This means:     * If you don't specify this parameter, AWS CloudFormation doesn't modify the stack's tags.      * If you specify /any/ tags using this parameter, you must specify /all/ the tags that you want associated with this stack set, even tags you've specifed before (for example, when creating the stack set or during a previous update of the stack set.). Any tags that you don't include in the updated list of tags are removed from the stack set, and therefore from the stacks and resources as well.      * If you specify an empty value, AWS CloudFormation removes all currently associated tags. If you specify new tags as part of an @UpdateStackSet@ action, AWS CloudFormation checks to see if you have the required IAM permission to tag resources. If you omit tags that are currently associated with the stack set from the list of tags you specify, AWS CloudFormation assumes that you want to remove those tags from the stack set, and checks to see if you have permission to untag resources. If you don't have the necessary permission(s), the entire @UpdateStackSet@ action fails with an @access denied@ error, and the stack set is not updated.+--+-- * 'ussStackSetName' - The name or unique ID of the stack set that you want to update.+updateStackSet+    :: Text -- ^ 'ussStackSetName'+    -> UpdateStackSet+updateStackSet pStackSetName_ =+  UpdateStackSet'+  { _ussUsePreviousTemplate = Nothing+  , _ussParameters = Nothing+  , _ussOperationPreferences = Nothing+  , _ussOperationId = Nothing+  , _ussTemplateBody = Nothing+  , _ussTemplateURL = Nothing+  , _ussDescription = Nothing+  , _ussCapabilities = Nothing+  , _ussTags = Nothing+  , _ussStackSetName = pStackSetName_+  }+++-- | Use the existing template that's associated with the stack set that you're updating. Conditional: You must specify only one of the following parameters: @TemplateBody@ or @TemplateURL@ —or set @UsePreviousTemplate@ to true.+ussUsePreviousTemplate :: Lens' UpdateStackSet (Maybe Bool)+ussUsePreviousTemplate = lens _ussUsePreviousTemplate (\ s a -> s{_ussUsePreviousTemplate = a});++-- | A list of input parameters for the stack set template.+ussParameters :: Lens' UpdateStackSet [Parameter]+ussParameters = lens _ussParameters (\ s a -> s{_ussParameters = a}) . _Default . _Coerce;++-- | Preferences for how AWS CloudFormation performs this stack set operation.+ussOperationPreferences :: Lens' UpdateStackSet (Maybe StackSetOperationPreferences)+ussOperationPreferences = lens _ussOperationPreferences (\ s a -> s{_ussOperationPreferences = a});++-- | The unique ID for this stack set operation.  The operation ID also functions as an idempotency token, to ensure that AWS CloudFormation performs the stack set operation only once, even if you retry the request multiple times. You might retry stack set operation requests to ensure that AWS CloudFormation successfully received them. If you don't specify an operation ID, AWS CloudFormation generates one automatically. Repeating this stack set operation with a new operation ID retries all stack instances whose status is @OUTDATED@ .+ussOperationId :: Lens' UpdateStackSet (Maybe Text)+ussOperationId = lens _ussOperationId (\ s a -> s{_ussOperationId = a});++-- | The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html Template Anatomy> in the AWS CloudFormation User Guide. Conditional: You must specify only one of the following parameters: @TemplateBody@ or @TemplateURL@ —or set @UsePreviousTemplate@ to true.+ussTemplateBody :: Lens' UpdateStackSet (Maybe Text)+ussTemplateBody = lens _ussTemplateBody (\ s a -> s{_ussTemplateBody = a});++-- | The location of the file that contains the template body. The URL must point to a template (maximum size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html Template Anatomy> in the AWS CloudFormation User Guide. Conditional: You must specify only one of the following parameters: @TemplateBody@ or @TemplateURL@ —or set @UsePreviousTemplate@ to true.+ussTemplateURL :: Lens' UpdateStackSet (Maybe Text)+ussTemplateURL = lens _ussTemplateURL (\ s a -> s{_ussTemplateURL = a});++-- | A brief description of updates that you are making.+ussDescription :: Lens' UpdateStackSet (Maybe Text)+ussDescription = lens _ussDescription (\ s a -> s{_ussDescription = a});++-- | A list of values that you must specify before AWS CloudFormation can create certain stack sets. Some stack set templates might include resources that can affect permissions in your AWS account—for example, by creating new AWS Identity and Access Management (IAM) users. For those stack sets, you must explicitly acknowledge their capabilities by specifying this parameter. The only valid values are CAPABILITY_IAM and CAPABILITY_NAMED_IAM. The following resources require you to specify this parameter:      * AWS::IAM::AccessKey     * AWS::IAM::Group     * AWS::IAM::InstanceProfile     * AWS::IAM::Policy     * AWS::IAM::Role     * AWS::IAM::User     * AWS::IAM::UserToGroupAddition If your stack template contains these resources, we recommend that you review all permissions that are associated with them and edit their permissions if necessary. If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If you don't specify this parameter, this action returns an @InsufficientCapabilities@ error. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities Acknowledging IAM Resources in AWS CloudFormation Templates.>+ussCapabilities :: Lens' UpdateStackSet [Capability]+ussCapabilities = lens _ussCapabilities (\ s a -> s{_ussCapabilities = a}) . _Default . _Coerce;++-- | The key-value pairs to associate with this stack set and the stacks created from it. AWS CloudFormation also propagates these tags to supported resources that are created in the stacks. You can specify a maximum number of 50 tags. If you specify tags for this parameter, those tags replace any list of tags that are currently associated with this stack set. This means:     * If you don't specify this parameter, AWS CloudFormation doesn't modify the stack's tags.      * If you specify /any/ tags using this parameter, you must specify /all/ the tags that you want associated with this stack set, even tags you've specifed before (for example, when creating the stack set or during a previous update of the stack set.). Any tags that you don't include in the updated list of tags are removed from the stack set, and therefore from the stacks and resources as well.      * If you specify an empty value, AWS CloudFormation removes all currently associated tags. If you specify new tags as part of an @UpdateStackSet@ action, AWS CloudFormation checks to see if you have the required IAM permission to tag resources. If you omit tags that are currently associated with the stack set from the list of tags you specify, AWS CloudFormation assumes that you want to remove those tags from the stack set, and checks to see if you have permission to untag resources. If you don't have the necessary permission(s), the entire @UpdateStackSet@ action fails with an @access denied@ error, and the stack set is not updated.+ussTags :: Lens' UpdateStackSet [Tag]+ussTags = lens _ussTags (\ s a -> s{_ussTags = a}) . _Default . _Coerce;++-- | The name or unique ID of the stack set that you want to update.+ussStackSetName :: Lens' UpdateStackSet Text+ussStackSetName = lens _ussStackSetName (\ s a -> s{_ussStackSetName = a});++instance AWSRequest UpdateStackSet where+        type Rs UpdateStackSet = UpdateStackSetResponse+        request = postQuery cloudFormation+        response+          = receiveXMLWrapper "UpdateStackSetResult"+              (\ s h x ->+                 UpdateStackSetResponse' <$>+                   (x .@? "OperationId") <*> (pure (fromEnum s)))++instance Hashable UpdateStackSet where++instance NFData UpdateStackSet where++instance ToHeaders UpdateStackSet where+        toHeaders = const mempty++instance ToPath UpdateStackSet where+        toPath = const "/"++instance ToQuery UpdateStackSet where+        toQuery UpdateStackSet'{..}+          = mconcat+              ["Action" =: ("UpdateStackSet" :: ByteString),+               "Version" =: ("2010-05-15" :: ByteString),+               "UsePreviousTemplate" =: _ussUsePreviousTemplate,+               "Parameters" =:+                 toQuery (toQueryList "member" <$> _ussParameters),+               "OperationPreferences" =: _ussOperationPreferences,+               "OperationId" =: _ussOperationId,+               "TemplateBody" =: _ussTemplateBody,+               "TemplateURL" =: _ussTemplateURL,+               "Description" =: _ussDescription,+               "Capabilities" =:+                 toQuery (toQueryList "member" <$> _ussCapabilities),+               "Tags" =:+                 toQuery (toQueryList "member" <$> _ussTags),+               "StackSetName" =: _ussStackSetName]++-- | /See:/ 'updateStackSetResponse' smart constructor.+data UpdateStackSetResponse = UpdateStackSetResponse'+  { _ussrsOperationId    :: !(Maybe Text)+  , _ussrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateStackSetResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ussrsOperationId' - The unique ID for this stack set operation.+--+-- * 'ussrsResponseStatus' - -- | The response status code.+updateStackSetResponse+    :: Int -- ^ 'ussrsResponseStatus'+    -> UpdateStackSetResponse+updateStackSetResponse pResponseStatus_ =+  UpdateStackSetResponse'+  {_ussrsOperationId = Nothing, _ussrsResponseStatus = pResponseStatus_}+++-- | The unique ID for this stack set operation.+ussrsOperationId :: Lens' UpdateStackSetResponse (Maybe Text)+ussrsOperationId = lens _ussrsOperationId (\ s a -> s{_ussrsOperationId = a});++-- | -- | The response status code.+ussrsResponseStatus :: Lens' UpdateStackSetResponse Int+ussrsResponseStatus = lens _ussrsResponseStatus (\ s a -> s{_ussrsResponseStatus = a});++instance NFData UpdateStackSetResponse where
+ gen/Network/AWS/CloudFormation/UpdateTerminationProtection.hs view
@@ -0,0 +1,145 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.CloudFormation.UpdateTerminationProtection+-- Copyright   : (c) 2013-2017 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates termination protection for the specified stack. If a user attempts to delete a stack with termination protection enabled, the operation fails and the stack remains unchanged. For more information, see <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html Protecting a Stack From Being Deleted> in the /AWS CloudFormation User Guide/ .+--+--+-- For <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html nested stacks> , termination protection is set on the root stack and cannot be changed directly on the nested stack.+--+module Network.AWS.CloudFormation.UpdateTerminationProtection+    (+    -- * Creating a Request+      updateTerminationProtection+    , UpdateTerminationProtection+    -- * Request Lenses+    , utpEnableTerminationProtection+    , utpStackName++    -- * Destructuring the Response+    , updateTerminationProtectionResponse+    , UpdateTerminationProtectionResponse+    -- * Response Lenses+    , utprsStackId+    , utprsResponseStatus+    ) where++import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'updateTerminationProtection' smart constructor.+data UpdateTerminationProtection = UpdateTerminationProtection'+  { _utpEnableTerminationProtection :: !Bool+  , _utpStackName                   :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateTerminationProtection' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'utpEnableTerminationProtection' - Whether to enable termination protection on the specified stack.+--+-- * 'utpStackName' - The name or unique ID of the stack for which you want to set termination protection.+updateTerminationProtection+    :: Bool -- ^ 'utpEnableTerminationProtection'+    -> Text -- ^ 'utpStackName'+    -> UpdateTerminationProtection+updateTerminationProtection pEnableTerminationProtection_ pStackName_ =+  UpdateTerminationProtection'+  { _utpEnableTerminationProtection = pEnableTerminationProtection_+  , _utpStackName = pStackName_+  }+++-- | Whether to enable termination protection on the specified stack.+utpEnableTerminationProtection :: Lens' UpdateTerminationProtection Bool+utpEnableTerminationProtection = lens _utpEnableTerminationProtection (\ s a -> s{_utpEnableTerminationProtection = a});++-- | The name or unique ID of the stack for which you want to set termination protection.+utpStackName :: Lens' UpdateTerminationProtection Text+utpStackName = lens _utpStackName (\ s a -> s{_utpStackName = a});++instance AWSRequest UpdateTerminationProtection where+        type Rs UpdateTerminationProtection =+             UpdateTerminationProtectionResponse+        request = postQuery cloudFormation+        response+          = receiveXMLWrapper+              "UpdateTerminationProtectionResult"+              (\ s h x ->+                 UpdateTerminationProtectionResponse' <$>+                   (x .@? "StackId") <*> (pure (fromEnum s)))++instance Hashable UpdateTerminationProtection where++instance NFData UpdateTerminationProtection where++instance ToHeaders UpdateTerminationProtection where+        toHeaders = const mempty++instance ToPath UpdateTerminationProtection where+        toPath = const "/"++instance ToQuery UpdateTerminationProtection where+        toQuery UpdateTerminationProtection'{..}+          = mconcat+              ["Action" =:+                 ("UpdateTerminationProtection" :: ByteString),+               "Version" =: ("2010-05-15" :: ByteString),+               "EnableTerminationProtection" =:+                 _utpEnableTerminationProtection,+               "StackName" =: _utpStackName]++-- | /See:/ 'updateTerminationProtectionResponse' smart constructor.+data UpdateTerminationProtectionResponse = UpdateTerminationProtectionResponse'+  { _utprsStackId        :: !(Maybe Text)+  , _utprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'UpdateTerminationProtectionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'utprsStackId' - The unique ID of the stack.+--+-- * 'utprsResponseStatus' - -- | The response status code.+updateTerminationProtectionResponse+    :: Int -- ^ 'utprsResponseStatus'+    -> UpdateTerminationProtectionResponse+updateTerminationProtectionResponse pResponseStatus_ =+  UpdateTerminationProtectionResponse'+  {_utprsStackId = Nothing, _utprsResponseStatus = pResponseStatus_}+++-- | The unique ID of the stack.+utprsStackId :: Lens' UpdateTerminationProtectionResponse (Maybe Text)+utprsStackId = lens _utprsStackId (\ s a -> s{_utprsStackId = a});++-- | -- | The response status code.+utprsResponseStatus :: Lens' UpdateTerminationProtectionResponse Int+utprsResponseStatus = lens _utprsResponseStatus (\ s a -> s{_utprsResponseStatus = a});++instance NFData UpdateTerminationProtectionResponse+         where
gen/Network/AWS/CloudFormation/ValidateTemplate.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.CloudFormation.ValidateTemplate--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -42,12 +42,12 @@     , vtrsResponseStatus     ) where -import           Network.AWS.CloudFormation.Types-import           Network.AWS.CloudFormation.Types.Product-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.CloudFormation.Types+import Network.AWS.CloudFormation.Types.Product+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | The input for 'ValidateTemplate' action. --@@ -55,10 +55,11 @@ -- -- /See:/ 'validateTemplate' smart constructor. data ValidateTemplate = ValidateTemplate'-    { _vtTemplateBody :: !(Maybe Text)-    , _vtTemplateURL  :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _vtTemplateBody :: !(Maybe Text)+  , _vtTemplateURL  :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ValidateTemplate' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -69,11 +70,9 @@ validateTemplate     :: ValidateTemplate validateTemplate =-    ValidateTemplate'-    { _vtTemplateBody = Nothing-    , _vtTemplateURL = Nothing-    }+  ValidateTemplate' {_vtTemplateBody = Nothing, _vtTemplateURL = Nothing} + -- | Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, go to <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html Template Anatomy> in the AWS CloudFormation User Guide. Conditional: You must pass @TemplateURL@ or @TemplateBody@ . If both are passed, only @TemplateBody@ is used. vtTemplateBody :: Lens' ValidateTemplate (Maybe Text) vtTemplateBody = lens _vtTemplateBody (\ s a -> s{_vtTemplateBody = a});@@ -101,9 +100,9 @@                         may (parseXMLList "member"))                      <*> (pure (fromEnum s))) -instance Hashable ValidateTemplate+instance Hashable ValidateTemplate where -instance NFData ValidateTemplate+instance NFData ValidateTemplate where  instance ToHeaders ValidateTemplate where         toHeaders = const mempty@@ -125,14 +124,15 @@ -- -- /See:/ 'validateTemplateResponse' smart constructor. data ValidateTemplateResponse = ValidateTemplateResponse'-    { _vtrsDeclaredTransforms :: !(Maybe [Text])-    , _vtrsCapabilitiesReason :: !(Maybe Text)-    , _vtrsParameters         :: !(Maybe [TemplateParameter])-    , _vtrsDescription        :: !(Maybe Text)-    , _vtrsCapabilities       :: !(Maybe [Capability])-    , _vtrsResponseStatus     :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _vtrsDeclaredTransforms :: !(Maybe [Text])+  , _vtrsCapabilitiesReason :: !(Maybe Text)+  , _vtrsParameters         :: !(Maybe [TemplateParameter])+  , _vtrsDescription        :: !(Maybe Text)+  , _vtrsCapabilities       :: !(Maybe [Capability])+  , _vtrsResponseStatus     :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ValidateTemplateResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -152,15 +152,16 @@     :: Int -- ^ 'vtrsResponseStatus'     -> ValidateTemplateResponse validateTemplateResponse pResponseStatus_ =-    ValidateTemplateResponse'-    { _vtrsDeclaredTransforms = Nothing-    , _vtrsCapabilitiesReason = Nothing-    , _vtrsParameters = Nothing-    , _vtrsDescription = Nothing-    , _vtrsCapabilities = Nothing-    , _vtrsResponseStatus = pResponseStatus_-    }+  ValidateTemplateResponse'+  { _vtrsDeclaredTransforms = Nothing+  , _vtrsCapabilitiesReason = Nothing+  , _vtrsParameters = Nothing+  , _vtrsDescription = Nothing+  , _vtrsCapabilities = Nothing+  , _vtrsResponseStatus = pResponseStatus_+  } + -- | A list of the transforms that are declared in the template. vtrsDeclaredTransforms :: Lens' ValidateTemplateResponse [Text] vtrsDeclaredTransforms = lens _vtrsDeclaredTransforms (\ s a -> s{_vtrsDeclaredTransforms = a}) . _Default . _Coerce;@@ -185,4 +186,4 @@ vtrsResponseStatus :: Lens' ValidateTemplateResponse Int vtrsResponseStatus = lens _vtrsResponseStatus (\ s a -> s{_vtrsResponseStatus = a}); -instance NFData ValidateTemplateResponse+instance NFData ValidateTemplateResponse where
gen/Network/AWS/CloudFormation/Waiters.hs view
@@ -7,159 +7,150 @@  -- | -- Module      : Network.AWS.CloudFormation.Waiters--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- module Network.AWS.CloudFormation.Waiters where -import           Network.AWS.CloudFormation.DescribeChangeSet-import           Network.AWS.CloudFormation.DescribeStacks-import           Network.AWS.CloudFormation.DescribeStacks-import           Network.AWS.CloudFormation.DescribeStacks-import           Network.AWS.CloudFormation.DescribeStacks-import           Network.AWS.CloudFormation.Types-import           Network.AWS.Lens-import           Network.AWS.Prelude-import           Network.AWS.Waiter+import Network.AWS.CloudFormation.DescribeChangeSet+import Network.AWS.CloudFormation.DescribeStacks+import Network.AWS.CloudFormation.DescribeStacks+import Network.AWS.CloudFormation.DescribeStacks+import Network.AWS.CloudFormation.DescribeStacks+import Network.AWS.CloudFormation.Types+import Network.AWS.Lens+import Network.AWS.Prelude+import Network.AWS.Waiter  -- | Polls 'Network.AWS.CloudFormation.DescribeStacks' every 30 seconds until a successful state is reached. An error is returned after 120 failed checks. stackCreateComplete :: Wait DescribeStacks stackCreateComplete =-    Wait-    { _waitName = "StackCreateComplete"-    , _waitAttempts = 120-    , _waitDelay = 30-    , _waitAcceptors = [ matchAll-                             "CREATE_COMPLETE"-                             AcceptSuccess-                             (folding (concatOf dsrsStacks) .-                              sStackStatus . to toTextCI)-                       , matchAny-                             "CREATE_FAILED"-                             AcceptFailure-                             (folding (concatOf dsrsStacks) .-                              sStackStatus . to toTextCI)-                       , matchAny-                             "DELETE_COMPLETE"-                             AcceptFailure-                             (folding (concatOf dsrsStacks) .-                              sStackStatus . to toTextCI)-                       , matchAny-                             "DELETE_FAILED"-                             AcceptFailure-                             (folding (concatOf dsrsStacks) .-                              sStackStatus . to toTextCI)-                       , matchAny-                             "ROLLBACK_FAILED"-                             AcceptFailure-                             (folding (concatOf dsrsStacks) .-                              sStackStatus . to toTextCI)-                       , matchAny-                             "ROLLBACK_COMPLETE"-                             AcceptFailure-                             (folding (concatOf dsrsStacks) .-                              sStackStatus . to toTextCI)-                       , matchError "ValidationError" AcceptFailure]-    }+  Wait+  { _waitName = "StackCreateComplete"+  , _waitAttempts = 120+  , _waitDelay = 30+  , _waitAcceptors =+      [ matchAll+          "CREATE_COMPLETE"+          AcceptSuccess+          (folding (concatOf dsrsStacks) . sStackStatus . to toTextCI)+      , matchAny+          "CREATE_FAILED"+          AcceptFailure+          (folding (concatOf dsrsStacks) . sStackStatus . to toTextCI)+      , matchAny+          "DELETE_COMPLETE"+          AcceptFailure+          (folding (concatOf dsrsStacks) . sStackStatus . to toTextCI)+      , matchAny+          "DELETE_FAILED"+          AcceptFailure+          (folding (concatOf dsrsStacks) . sStackStatus . to toTextCI)+      , matchAny+          "ROLLBACK_FAILED"+          AcceptFailure+          (folding (concatOf dsrsStacks) . sStackStatus . to toTextCI)+      , matchAny+          "ROLLBACK_COMPLETE"+          AcceptFailure+          (folding (concatOf dsrsStacks) . sStackStatus . to toTextCI)+      , matchError "ValidationError" AcceptFailure+      ]+  } + -- | Polls 'Network.AWS.CloudFormation.DescribeStacks' every 30 seconds until a successful state is reached. An error is returned after 120 failed checks. stackUpdateComplete :: Wait DescribeStacks stackUpdateComplete =-    Wait-    { _waitName = "StackUpdateComplete"-    , _waitAttempts = 120-    , _waitDelay = 30-    , _waitAcceptors = [ matchAll-                             "UPDATE_COMPLETE"-                             AcceptSuccess-                             (folding (concatOf dsrsStacks) .-                              sStackStatus . to toTextCI)-                       , matchAny-                             "UPDATE_FAILED"-                             AcceptFailure-                             (folding (concatOf dsrsStacks) .-                              sStackStatus . to toTextCI)-                       , matchAny-                             "UPDATE_ROLLBACK_FAILED"-                             AcceptFailure-                             (folding (concatOf dsrsStacks) .-                              sStackStatus . to toTextCI)-                       , matchAny-                             "UPDATE_ROLLBACK_COMPLETE"-                             AcceptFailure-                             (folding (concatOf dsrsStacks) .-                              sStackStatus . to toTextCI)-                       , matchError "ValidationError" AcceptFailure]-    }+  Wait+  { _waitName = "StackUpdateComplete"+  , _waitAttempts = 120+  , _waitDelay = 30+  , _waitAcceptors =+      [ matchAll+          "UPDATE_COMPLETE"+          AcceptSuccess+          (folding (concatOf dsrsStacks) . sStackStatus . to toTextCI)+      , matchAny+          "UPDATE_FAILED"+          AcceptFailure+          (folding (concatOf dsrsStacks) . sStackStatus . to toTextCI)+      , matchAny+          "UPDATE_ROLLBACK_FAILED"+          AcceptFailure+          (folding (concatOf dsrsStacks) . sStackStatus . to toTextCI)+      , matchAny+          "UPDATE_ROLLBACK_COMPLETE"+          AcceptFailure+          (folding (concatOf dsrsStacks) . sStackStatus . to toTextCI)+      , matchError "ValidationError" AcceptFailure+      ]+  } + -- | Polls 'Network.AWS.CloudFormation.DescribeStacks' every 5 seconds until a successful state is reached. An error is returned after 20 failed checks. stackExists :: Wait DescribeStacks stackExists =-    Wait-    { _waitName = "StackExists"-    , _waitAttempts = 20-    , _waitDelay = 5-    , _waitAcceptors = [ matchStatus 200 AcceptSuccess-                       , matchError "ValidationError" AcceptRetry]-    }+  Wait+  { _waitName = "StackExists"+  , _waitAttempts = 20+  , _waitDelay = 5+  , _waitAcceptors =+      [matchStatus 200 AcceptSuccess, matchError "ValidationError" AcceptRetry]+  } + -- | Polls 'Network.AWS.CloudFormation.DescribeStacks' every 30 seconds until a successful state is reached. An error is returned after 120 failed checks. stackDeleteComplete :: Wait DescribeStacks stackDeleteComplete =-    Wait-    { _waitName = "StackDeleteComplete"-    , _waitAttempts = 120-    , _waitDelay = 30-    , _waitAcceptors = [ matchAll-                             "DELETE_COMPLETE"-                             AcceptSuccess-                             (folding (concatOf dsrsStacks) .-                              sStackStatus . to toTextCI)-                       , matchError "ValidationError" AcceptSuccess-                       , matchAny-                             "DELETE_FAILED"-                             AcceptFailure-                             (folding (concatOf dsrsStacks) .-                              sStackStatus . to toTextCI)-                       , matchAny-                             "CREATE_FAILED"-                             AcceptFailure-                             (folding (concatOf dsrsStacks) .-                              sStackStatus . to toTextCI)-                       , matchAny-                             "ROLLBACK_FAILED"-                             AcceptFailure-                             (folding (concatOf dsrsStacks) .-                              sStackStatus . to toTextCI)-                       , matchAny-                             "UPDATE_ROLLBACK_FAILED"-                             AcceptFailure-                             (folding (concatOf dsrsStacks) .-                              sStackStatus . to toTextCI)-                       , matchAny-                             "UPDATE_ROLLBACK_IN_PROGRESS"-                             AcceptFailure-                             (folding (concatOf dsrsStacks) .-                              sStackStatus . to toTextCI)]-    }+  Wait+  { _waitName = "StackDeleteComplete"+  , _waitAttempts = 120+  , _waitDelay = 30+  , _waitAcceptors =+      [ matchAll+          "DELETE_COMPLETE"+          AcceptSuccess+          (folding (concatOf dsrsStacks) . sStackStatus . to toTextCI)+      , matchError "ValidationError" AcceptSuccess+      , matchAny+          "DELETE_FAILED"+          AcceptFailure+          (folding (concatOf dsrsStacks) . sStackStatus . to toTextCI)+      , matchAny+          "CREATE_FAILED"+          AcceptFailure+          (folding (concatOf dsrsStacks) . sStackStatus . to toTextCI)+      , matchAny+          "ROLLBACK_FAILED"+          AcceptFailure+          (folding (concatOf dsrsStacks) . sStackStatus . to toTextCI)+      , matchAny+          "UPDATE_ROLLBACK_FAILED"+          AcceptFailure+          (folding (concatOf dsrsStacks) . sStackStatus . to toTextCI)+      , matchAny+          "UPDATE_ROLLBACK_IN_PROGRESS"+          AcceptFailure+          (folding (concatOf dsrsStacks) . sStackStatus . to toTextCI)+      ]+  } + -- | Polls 'Network.AWS.CloudFormation.DescribeChangeSet' every 30 seconds until a successful state is reached. An error is returned after 120 failed checks. changeSetCreateComplete :: Wait DescribeChangeSet changeSetCreateComplete =-    Wait-    { _waitName = "ChangeSetCreateComplete"-    , _waitAttempts = 120-    , _waitDelay = 30-    , _waitAcceptors = [ matchAll-                             "CREATE_COMPLETE"-                             AcceptSuccess-                             (drsStatus . to toTextCI)-                       , matchAll-                             "FAILED"-                             AcceptFailure-                             (drsStatus . to toTextCI)-                       , matchError "ValidationError" AcceptFailure]-    }+  Wait+  { _waitName = "ChangeSetCreateComplete"+  , _waitAttempts = 120+  , _waitDelay = 30+  , _waitAcceptors =+      [ matchAll "CREATE_COMPLETE" AcceptSuccess (desrsStatus . to toTextCI)+      , matchAll "FAILED" AcceptFailure (desrsStatus . to toTextCI)+      , matchError "ValidationError" AcceptFailure+      ]+  }+
test/Main.hs view
@@ -2,9 +2,9 @@  -- | -- Module      : Main--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --
test/Test/AWS/Gen/CloudFormation.hs view
@@ -5,20 +5,20 @@  -- | -- Module      : Test.AWS.Gen.CloudFormation--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- module Test.AWS.Gen.CloudFormation where  import Data.Proxy+import Network.AWS.CloudFormation+import Test.AWS.CloudFormation.Internal import Test.AWS.Fixture import Test.AWS.Prelude import Test.Tasty-import Network.AWS.CloudFormation-import Test.AWS.CloudFormation.Internal  -- Auto-generated: the actual test selection needs to be manually placed into -- the top-level so that real test data can be incrementally added.@@ -28,7 +28,10 @@ -- fixtures :: TestTree -- fixtures = --     [ testGroup "request"---         [ requestDeleteStack $+--         [ requestDescribeStackSetOperation $+--             describeStackSetOperation+--+--         , requestDeleteStack $ --             deleteStack -- --         , requestUpdateStack $@@ -43,6 +46,12 @@ --         , requestListStackResources $ --             listStackResources --+--         , requestDeleteStackInstances $+--             deleteStackInstances+--+--         , requestCreateStackInstances $+--             createStackInstances+-- --         , requestGetStackPolicy $ --             getStackPolicy --@@ -52,9 +61,15 @@ --         , requestCreateChangeSet $ --             createChangeSet --+--         , requestListStackSetOperations $+--             listStackSetOperations+-- --         , requestExecuteChangeSet $ --             executeChangeSet --+--         , requestListStackInstances $+--             listStackInstances+-- --         , requestContinueUpdateRollback $ --             continueUpdateRollback --@@ -85,31 +100,61 @@ --         , requestDescribeStackResources $ --             describeStackResources --+--         , requestDescribeStackInstance $+--             describeStackInstance+-- --         , requestCreateStack $ --             createStack --+--         , requestUpdateStackSet $+--             updateStackSet+--+--         , requestDeleteStackSet $+--             deleteStackSet+-- --         , requestEstimateTemplateCost $ --             estimateTemplateCost -- --         , requestDeleteChangeSet $ --             deleteChangeSet --+--         , requestListStackSets $+--             listStackSets+-- --         , requestListExports $ --             listExports --+--         , requestCreateStackSet $+--             createStackSet+--+--         , requestUpdateTerminationProtection $+--             updateTerminationProtection+-- --         , requestGetTemplate $ --             getTemplate -- --         , requestDescribeChangeSet $ --             describeChangeSet --+--         , requestDescribeStackSet $+--             describeStackSet+--+--         , requestListStackSetOperationResults $+--             listStackSetOperationResults+--+--         , requestStopStackSetOperation $+--             stopStackSetOperation+-- --         , requestDescribeStackResource $ --             describeStackResource -- --           ]  --     , testGroup "response"---         [ responseDeleteStack $+--         [ responseDescribeStackSetOperation $+--             describeStackSetOperationResponse+--+--         , responseDeleteStack $ --             deleteStackResponse -- --         , responseUpdateStack $@@ -124,6 +169,12 @@ --         , responseListStackResources $ --             listStackResourcesResponse --+--         , responseDeleteStackInstances $+--             deleteStackInstancesResponse+--+--         , responseCreateStackInstances $+--             createStackInstancesResponse+-- --         , responseGetStackPolicy $ --             getStackPolicyResponse --@@ -133,9 +184,15 @@ --         , responseCreateChangeSet $ --             createChangeSetResponse --+--         , responseListStackSetOperations $+--             listStackSetOperationsResponse+-- --         , responseExecuteChangeSet $ --             executeChangeSetResponse --+--         , responseListStackInstances $+--             listStackInstancesResponse+-- --         , responseContinueUpdateRollback $ --             continueUpdateRollbackResponse --@@ -166,24 +223,51 @@ --         , responseDescribeStackResources $ --             describeStackResourcesResponse --+--         , responseDescribeStackInstance $+--             describeStackInstanceResponse+-- --         , responseCreateStack $ --             createStackResponse --+--         , responseUpdateStackSet $+--             updateStackSetResponse+--+--         , responseDeleteStackSet $+--             deleteStackSetResponse+-- --         , responseEstimateTemplateCost $ --             estimateTemplateCostResponse -- --         , responseDeleteChangeSet $ --             deleteChangeSetResponse --+--         , responseListStackSets $+--             listStackSetsResponse+-- --         , responseListExports $ --             listExportsResponse --+--         , responseCreateStackSet $+--             createStackSetResponse+--+--         , responseUpdateTerminationProtection $+--             updateTerminationProtectionResponse+-- --         , responseGetTemplate $ --             getTemplateResponse -- --         , responseDescribeChangeSet $ --             describeChangeSetResponse --+--         , responseDescribeStackSet $+--             describeStackSetResponse+--+--         , responseListStackSetOperationResults $+--             listStackSetOperationResultsResponse+--+--         , responseStopStackSetOperation $+--             stopStackSetOperationResponse+-- --         , responseDescribeStackResource $ --             describeStackResourceResponse --@@ -192,6 +276,11 @@  -- Requests +requestDescribeStackSetOperation :: DescribeStackSetOperation -> TestTree+requestDescribeStackSetOperation = req+    "DescribeStackSetOperation"+    "fixture/DescribeStackSetOperation.yaml"+ requestDeleteStack :: DeleteStack -> TestTree requestDeleteStack = req     "DeleteStack"@@ -217,6 +306,16 @@     "ListStackResources"     "fixture/ListStackResources.yaml" +requestDeleteStackInstances :: DeleteStackInstances -> TestTree+requestDeleteStackInstances = req+    "DeleteStackInstances"+    "fixture/DeleteStackInstances.yaml"++requestCreateStackInstances :: CreateStackInstances -> TestTree+requestCreateStackInstances = req+    "CreateStackInstances"+    "fixture/CreateStackInstances.yaml"+ requestGetStackPolicy :: GetStackPolicy -> TestTree requestGetStackPolicy = req     "GetStackPolicy"@@ -232,11 +331,21 @@     "CreateChangeSet"     "fixture/CreateChangeSet.yaml" +requestListStackSetOperations :: ListStackSetOperations -> TestTree+requestListStackSetOperations = req+    "ListStackSetOperations"+    "fixture/ListStackSetOperations.yaml"+ requestExecuteChangeSet :: ExecuteChangeSet -> TestTree requestExecuteChangeSet = req     "ExecuteChangeSet"     "fixture/ExecuteChangeSet.yaml" +requestListStackInstances :: ListStackInstances -> TestTree+requestListStackInstances = req+    "ListStackInstances"+    "fixture/ListStackInstances.yaml"+ requestContinueUpdateRollback :: ContinueUpdateRollback -> TestTree requestContinueUpdateRollback = req     "ContinueUpdateRollback"@@ -287,11 +396,26 @@     "DescribeStackResources"     "fixture/DescribeStackResources.yaml" +requestDescribeStackInstance :: DescribeStackInstance -> TestTree+requestDescribeStackInstance = req+    "DescribeStackInstance"+    "fixture/DescribeStackInstance.yaml"+ requestCreateStack :: CreateStack -> TestTree requestCreateStack = req     "CreateStack"     "fixture/CreateStack.yaml" +requestUpdateStackSet :: UpdateStackSet -> TestTree+requestUpdateStackSet = req+    "UpdateStackSet"+    "fixture/UpdateStackSet.yaml"++requestDeleteStackSet :: DeleteStackSet -> TestTree+requestDeleteStackSet = req+    "DeleteStackSet"+    "fixture/DeleteStackSet.yaml"+ requestEstimateTemplateCost :: EstimateTemplateCost -> TestTree requestEstimateTemplateCost = req     "EstimateTemplateCost"@@ -302,11 +426,26 @@     "DeleteChangeSet"     "fixture/DeleteChangeSet.yaml" +requestListStackSets :: ListStackSets -> TestTree+requestListStackSets = req+    "ListStackSets"+    "fixture/ListStackSets.yaml"+ requestListExports :: ListExports -> TestTree requestListExports = req     "ListExports"     "fixture/ListExports.yaml" +requestCreateStackSet :: CreateStackSet -> TestTree+requestCreateStackSet = req+    "CreateStackSet"+    "fixture/CreateStackSet.yaml"++requestUpdateTerminationProtection :: UpdateTerminationProtection -> TestTree+requestUpdateTerminationProtection = req+    "UpdateTerminationProtection"+    "fixture/UpdateTerminationProtection.yaml"+ requestGetTemplate :: GetTemplate -> TestTree requestGetTemplate = req     "GetTemplate"@@ -317,6 +456,21 @@     "DescribeChangeSet"     "fixture/DescribeChangeSet.yaml" +requestDescribeStackSet :: DescribeStackSet -> TestTree+requestDescribeStackSet = req+    "DescribeStackSet"+    "fixture/DescribeStackSet.yaml"++requestListStackSetOperationResults :: ListStackSetOperationResults -> TestTree+requestListStackSetOperationResults = req+    "ListStackSetOperationResults"+    "fixture/ListStackSetOperationResults.yaml"++requestStopStackSetOperation :: StopStackSetOperation -> TestTree+requestStopStackSetOperation = req+    "StopStackSetOperation"+    "fixture/StopStackSetOperation.yaml"+ requestDescribeStackResource :: DescribeStackResource -> TestTree requestDescribeStackResource = req     "DescribeStackResource"@@ -324,6 +478,13 @@  -- Responses +responseDescribeStackSetOperation :: DescribeStackSetOperationResponse -> TestTree+responseDescribeStackSetOperation = res+    "DescribeStackSetOperationResponse"+    "fixture/DescribeStackSetOperationResponse.proto"+    cloudFormation+    (Proxy :: Proxy DescribeStackSetOperation)+ responseDeleteStack :: DeleteStackResponse -> TestTree responseDeleteStack = res     "DeleteStackResponse"@@ -359,6 +520,20 @@     cloudFormation     (Proxy :: Proxy ListStackResources) +responseDeleteStackInstances :: DeleteStackInstancesResponse -> TestTree+responseDeleteStackInstances = res+    "DeleteStackInstancesResponse"+    "fixture/DeleteStackInstancesResponse.proto"+    cloudFormation+    (Proxy :: Proxy DeleteStackInstances)++responseCreateStackInstances :: CreateStackInstancesResponse -> TestTree+responseCreateStackInstances = res+    "CreateStackInstancesResponse"+    "fixture/CreateStackInstancesResponse.proto"+    cloudFormation+    (Proxy :: Proxy CreateStackInstances)+ responseGetStackPolicy :: GetStackPolicyResponse -> TestTree responseGetStackPolicy = res     "GetStackPolicyResponse"@@ -380,6 +555,13 @@     cloudFormation     (Proxy :: Proxy CreateChangeSet) +responseListStackSetOperations :: ListStackSetOperationsResponse -> TestTree+responseListStackSetOperations = res+    "ListStackSetOperationsResponse"+    "fixture/ListStackSetOperationsResponse.proto"+    cloudFormation+    (Proxy :: Proxy ListStackSetOperations)+ responseExecuteChangeSet :: ExecuteChangeSetResponse -> TestTree responseExecuteChangeSet = res     "ExecuteChangeSetResponse"@@ -387,6 +569,13 @@     cloudFormation     (Proxy :: Proxy ExecuteChangeSet) +responseListStackInstances :: ListStackInstancesResponse -> TestTree+responseListStackInstances = res+    "ListStackInstancesResponse"+    "fixture/ListStackInstancesResponse.proto"+    cloudFormation+    (Proxy :: Proxy ListStackInstances)+ responseContinueUpdateRollback :: ContinueUpdateRollbackResponse -> TestTree responseContinueUpdateRollback = res     "ContinueUpdateRollbackResponse"@@ -457,6 +646,13 @@     cloudFormation     (Proxy :: Proxy DescribeStackResources) +responseDescribeStackInstance :: DescribeStackInstanceResponse -> TestTree+responseDescribeStackInstance = res+    "DescribeStackInstanceResponse"+    "fixture/DescribeStackInstanceResponse.proto"+    cloudFormation+    (Proxy :: Proxy DescribeStackInstance)+ responseCreateStack :: CreateStackResponse -> TestTree responseCreateStack = res     "CreateStackResponse"@@ -464,6 +660,20 @@     cloudFormation     (Proxy :: Proxy CreateStack) +responseUpdateStackSet :: UpdateStackSetResponse -> TestTree+responseUpdateStackSet = res+    "UpdateStackSetResponse"+    "fixture/UpdateStackSetResponse.proto"+    cloudFormation+    (Proxy :: Proxy UpdateStackSet)++responseDeleteStackSet :: DeleteStackSetResponse -> TestTree+responseDeleteStackSet = res+    "DeleteStackSetResponse"+    "fixture/DeleteStackSetResponse.proto"+    cloudFormation+    (Proxy :: Proxy DeleteStackSet)+ responseEstimateTemplateCost :: EstimateTemplateCostResponse -> TestTree responseEstimateTemplateCost = res     "EstimateTemplateCostResponse"@@ -478,6 +688,13 @@     cloudFormation     (Proxy :: Proxy DeleteChangeSet) +responseListStackSets :: ListStackSetsResponse -> TestTree+responseListStackSets = res+    "ListStackSetsResponse"+    "fixture/ListStackSetsResponse.proto"+    cloudFormation+    (Proxy :: Proxy ListStackSets)+ responseListExports :: ListExportsResponse -> TestTree responseListExports = res     "ListExportsResponse"@@ -485,6 +702,20 @@     cloudFormation     (Proxy :: Proxy ListExports) +responseCreateStackSet :: CreateStackSetResponse -> TestTree+responseCreateStackSet = res+    "CreateStackSetResponse"+    "fixture/CreateStackSetResponse.proto"+    cloudFormation+    (Proxy :: Proxy CreateStackSet)++responseUpdateTerminationProtection :: UpdateTerminationProtectionResponse -> TestTree+responseUpdateTerminationProtection = res+    "UpdateTerminationProtectionResponse"+    "fixture/UpdateTerminationProtectionResponse.proto"+    cloudFormation+    (Proxy :: Proxy UpdateTerminationProtection)+ responseGetTemplate :: GetTemplateResponse -> TestTree responseGetTemplate = res     "GetTemplateResponse"@@ -498,6 +729,27 @@     "fixture/DescribeChangeSetResponse.proto"     cloudFormation     (Proxy :: Proxy DescribeChangeSet)++responseDescribeStackSet :: DescribeStackSetResponse -> TestTree+responseDescribeStackSet = res+    "DescribeStackSetResponse"+    "fixture/DescribeStackSetResponse.proto"+    cloudFormation+    (Proxy :: Proxy DescribeStackSet)++responseListStackSetOperationResults :: ListStackSetOperationResultsResponse -> TestTree+responseListStackSetOperationResults = res+    "ListStackSetOperationResultsResponse"+    "fixture/ListStackSetOperationResultsResponse.proto"+    cloudFormation+    (Proxy :: Proxy ListStackSetOperationResults)++responseStopStackSetOperation :: StopStackSetOperationResponse -> TestTree+responseStopStackSetOperation = res+    "StopStackSetOperationResponse"+    "fixture/StopStackSetOperationResponse.proto"+    cloudFormation+    (Proxy :: Proxy StopStackSetOperation)  responseDescribeStackResource :: DescribeStackResourceResponse -> TestTree responseDescribeStackResource = res