module System.Mesos.Lens where
import Control.Lens.TH
import System.Mesos.Internal (makePrefixFields)
import System.Mesos.Types
makePrisms ''TaskState
makePrisms ''Status
makeFields ''FrameworkID
makeFields ''OfferID
makeFields ''SlaveID
makeFields ''TaskID
makeFields ''ExecutorID
makeFields ''ContainerID
makeFields ''FrameworkInfo
makeFields ''HealthCheckStrategy
makePrisms ''HealthCheckStrategy
makePrefixFields "healthCheck" ''HealthCheck
makePrefixFields "command" ''CommandInfo
makePrefixFields "commandURI" ''CommandURI
makePrisms ''CommandValue
makePrefixFields "executorInfo" ''ExecutorInfo
makePrefixFields "masterInfo" ''MasterInfo
makePrefixFields "slaveInfo" ''SlaveInfo
makeLenses ''Filters
makePrisms ''Value
makeFields ''Resource
makePrefixFields "resource" ''ResourceStatistics
makeFields ''ResourceUsage
makePrefixFields "performanceStatistics" ''PerformanceStatistics
makeFields ''Request
makeFields ''Offer
makePrisms ''TaskExecutionInfo
makeFields ''TaskInfo
makePrefixFields "taskStatus" ''TaskStatus
makeFields ''Credential
makePrisms ''Mode
makeFields ''Volume
makeFields ''ContainerType
makePrisms ''ContainerType
makePrefixFields "containerInfo" ''ContainerInfo