{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE TemplateHaskell #-}
module Network.AWS.Wolf.Types.Product where
import Data.Aeson.TH
import Network.AWS.Wolf.Prelude
data Conf = Conf
{ _cDomain :: Text
, _cBucket :: Text
, _cPrefix :: Text
} deriving (Show, Eq)
$(makeLenses ''Conf)
$(deriveJSON spinalOptions ''Conf)
newtype Control = Control
{ _cRunUid :: Text
} deriving (Show, Eq)
$(makeLenses ''Control)
$(deriveJSON spinalOptions ''Control)
data Task = Task
{ _tName :: Text
, _tVersion :: Text
, _tQueue :: Text
} deriving (Show, Eq)
$(makeLenses ''Task)
$(deriveJSON spinalOptions ''Task)
data Plan = Plan
{ _pStart :: Task
, _pTasks :: [Task]
} deriving (Show, Eq)
$(makeLenses ''Plan)
$(deriveJSON spinalOptions ''Plan)