b9-0.5.35: A tool and library for building virtual machine images.

Safe HaskellNone
LanguageHaskell2010

B9.DSL

Description

Experimental new, hopefully typesafe. domain specific language for description of VM-builds.

Synopsis

Documentation

type B9DSL a = Free BuildStep a Source #

(#) :: B9DSL a -> String -> B9DSL a Source #

imageSource :: ImageSource -> B9DSL (Imported VmImage) Source #

createImage :: String -> FileSystem -> ImageType -> ImageSize -> B9DSL (Imported VmImage) Source #

from :: String -> B9DSL (Imported VmImage) Source #

fromResized :: ImageResize -> String -> B9DSL (Imported VmImage) Source #

imageDestination :: Imported VmImage -> ImageDestination -> B9DSL () Source #

share :: Imported VmImage -> String -> B9DSL () Source #

exportLiveInstallerImage :: Imported VmImage -> String -> FilePath -> ImageResize -> B9DSL () Source #

exportImage :: Imported VmImage -> FilePath -> ImageType -> FileSystem -> ImageResize -> B9DSL () Source #

mount :: DSLCanMount src => ExecEnv -> src -> FilePath -> B9DSL (Imported (MountArtifact src)) Source #

lxc :: String -> B9DSL ExecEnv Source #

lxc32 :: String -> B9DSL ExecEnv Source #

exec :: Script -> ExecEnv -> B9DSL () Source #

sh :: String -> ExecEnv -> B9DSL () Source #

rootImage :: String -> String -> ExecEnv -> B9DSL () Source #

dataImage :: String -> ExecEnv -> B9DSL () Source #

mountAndShareSharedImage :: String -> String -> String -> ExecEnv -> B9DSL (Imported VmImage) Source #

mountAndShareNewImage :: String -> Int -> String -> FilePath -> ExecEnv -> B9DSL (Imported VmImage) Source #

runDSL :: Monad m => (forall a. BuildStep a -> m a) -> B9DSL b -> m b Source #

printDSL :: B9DSL a -> IO () Source #

Print the DSL to IO

printBuildStep :: BuildStep a -> IO a Source #