-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Recursively delete CloudFormation stacks and their dependants -- -- This simple tool will repeatedly query CloudFormation stacks for -- outputs, and see if any other stacks are importing those. This is to -- make it easier to tear down CFn stacks which have many other stacks -- depending on their outputs. @package forest-fire @version 0.2.2 module Types type Dependency = Map StackName [StackName] data Stack Stack :: StackId -> StackName -> [Export] -> Stack [sStackId] :: Stack -> StackId [sStackName] :: Stack -> StackName [sExports] :: Stack -> [Export] newtype Stacks Stacks :: [Stack] -> Stacks [sStacks] :: Stacks -> [Stack] newtype Export Export :: ExportName -> Export [eName] :: Export -> ExportName newtype StackName StackName :: String -> StackName newtype StackId StackId :: String -> StackId newtype ExportName ExportName :: String -> ExportName newtype Imports Imports :: [StackName] -> Imports [iStackNames] :: Imports -> [StackName] snStackName :: StackName -> String instance GHC.Show.Show Types.Imports instance GHC.Show.Show Types.Stacks instance GHC.Show.Show Types.Stack instance GHC.Show.Show Types.Export instance GHC.Classes.Eq Types.ExportName instance GHC.Generics.Generic Types.ExportName instance GHC.Show.Show Types.ExportName instance GHC.Classes.Eq Types.StackId instance GHC.Generics.Generic Types.StackId instance GHC.Show.Show Types.StackId instance GHC.Classes.Ord Types.StackName instance GHC.Classes.Eq Types.StackName instance GHC.Generics.Generic Types.StackName instance GHC.Show.Show Types.StackName module AWSCommands executeAWScommand :: Bool -> [String] -> IO ByteString jsonForDescribeStacks :: StackName -> IO ByteString jsonForListImports :: ExportName -> IO ByteString doDeletionWait :: StackName -> IO () module JSONInstances class Monad m => AWSExecution m findExportsByStack :: AWSExecution m => StackName -> m [ExportName] whoImportsThisValue :: AWSExecution m => ExportName -> m [StackName] instance Data.Aeson.Types.FromJSON.FromJSON Types.Export instance Data.Aeson.Types.FromJSON.FromJSON Types.Stacks instance Data.Aeson.Types.FromJSON.FromJSON Types.Stack instance Data.Aeson.Types.FromJSON.FromJSON Types.Imports instance Data.Aeson.Types.FromJSON.FromJSON Types.StackName instance Data.Aeson.Types.FromJSON.FromJSON Types.StackId instance Data.Aeson.Types.FromJSON.FromJSON Types.ExportName instance JSONInstances.AWSExecution GHC.Types.IO module Lib outputDeletionPlan :: String -> IO Dependency showDeletionPlan :: String -> IO () actuallyDoTheDelete :: String -> IO () deletionOrder :: Dependency -> [StackName] safe :: Dependency -> [StackName] buildDependencyGraph :: AWSExecution m => StackName -> m Dependency