module Language.Docker.EDSL.Types where
import Data.ByteString.Char8 (ByteString)
import Data.String
import qualified Language.Docker.Syntax as Syntax
data EBaseImage
= EUntaggedImage String
| ETaggedImage String
String
| EDigestedImage String
ByteString
deriving (Show, Eq, Ord)
instance IsString EBaseImage where
fromString = EUntaggedImage
data EInstruction next
= From EBaseImage
next
| Add Syntax.Source
Syntax.Destination
next
| User String
next
| Label Syntax.Pairs
next
| StopSignal String
next
| Copy Syntax.Source
Syntax.Destination
next
| RunArgs Syntax.Arguments
next
| CmdArgs Syntax.Arguments
next
| Shell Syntax.Arguments
next
| Workdir Syntax.Directory
next
| Expose Syntax.Ports
next
| Volume String
next
| EntrypointArgs Syntax.Arguments
next
| Maintainer String
next
| Env Syntax.Pairs
next
| Arg String
next
| Comment String
next
| Healthcheck String
next
| OnBuildRaw Syntax.Instruction
next
| Embed [Syntax.InstructionPos]
next
deriving (Functor)