{-# LANGUAGE DeriveAnyClass #-} module Hercules.API.Agent.Evaluate.EvaluateEvent.OnScheduleHandlerEvent where import Hercules.API.Agent.Evaluate.EvaluateEvent.InputDeclaration (InputDeclaration) import Hercules.API.DayOfWeek (DayOfWeek) import Hercules.API.Prelude data OnScheduleHandlerEvent = OnScheduleHandlerEvent { OnScheduleHandlerEvent -> Text handlerName :: Text, OnScheduleHandlerEvent -> Map Text InputDeclaration handlerExtraInputs :: Map Text InputDeclaration, OnScheduleHandlerEvent -> Bool isFlake :: Bool, OnScheduleHandlerEvent -> TimeConstraints when :: TimeConstraints } deriving ((forall x. OnScheduleHandlerEvent -> Rep OnScheduleHandlerEvent x) -> (forall x. Rep OnScheduleHandlerEvent x -> OnScheduleHandlerEvent) -> Generic OnScheduleHandlerEvent forall x. Rep OnScheduleHandlerEvent x -> OnScheduleHandlerEvent forall x. OnScheduleHandlerEvent -> Rep OnScheduleHandlerEvent x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cfrom :: forall x. OnScheduleHandlerEvent -> Rep OnScheduleHandlerEvent x from :: forall x. OnScheduleHandlerEvent -> Rep OnScheduleHandlerEvent x $cto :: forall x. Rep OnScheduleHandlerEvent x -> OnScheduleHandlerEvent to :: forall x. Rep OnScheduleHandlerEvent x -> OnScheduleHandlerEvent Generic, Int -> OnScheduleHandlerEvent -> ShowS [OnScheduleHandlerEvent] -> ShowS OnScheduleHandlerEvent -> String (Int -> OnScheduleHandlerEvent -> ShowS) -> (OnScheduleHandlerEvent -> String) -> ([OnScheduleHandlerEvent] -> ShowS) -> Show OnScheduleHandlerEvent forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> OnScheduleHandlerEvent -> ShowS showsPrec :: Int -> OnScheduleHandlerEvent -> ShowS $cshow :: OnScheduleHandlerEvent -> String show :: OnScheduleHandlerEvent -> String $cshowList :: [OnScheduleHandlerEvent] -> ShowS showList :: [OnScheduleHandlerEvent] -> ShowS Show, OnScheduleHandlerEvent -> OnScheduleHandlerEvent -> Bool (OnScheduleHandlerEvent -> OnScheduleHandlerEvent -> Bool) -> (OnScheduleHandlerEvent -> OnScheduleHandlerEvent -> Bool) -> Eq OnScheduleHandlerEvent forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: OnScheduleHandlerEvent -> OnScheduleHandlerEvent -> Bool == :: OnScheduleHandlerEvent -> OnScheduleHandlerEvent -> Bool $c/= :: OnScheduleHandlerEvent -> OnScheduleHandlerEvent -> Bool /= :: OnScheduleHandlerEvent -> OnScheduleHandlerEvent -> Bool Eq, OnScheduleHandlerEvent -> () (OnScheduleHandlerEvent -> ()) -> NFData OnScheduleHandlerEvent forall a. (a -> ()) -> NFData a $crnf :: OnScheduleHandlerEvent -> () rnf :: OnScheduleHandlerEvent -> () NFData, [OnScheduleHandlerEvent] -> Value [OnScheduleHandlerEvent] -> Encoding OnScheduleHandlerEvent -> Value OnScheduleHandlerEvent -> Encoding (OnScheduleHandlerEvent -> Value) -> (OnScheduleHandlerEvent -> Encoding) -> ([OnScheduleHandlerEvent] -> Value) -> ([OnScheduleHandlerEvent] -> Encoding) -> ToJSON OnScheduleHandlerEvent forall a. (a -> Value) -> (a -> Encoding) -> ([a] -> Value) -> ([a] -> Encoding) -> ToJSON a $ctoJSON :: OnScheduleHandlerEvent -> Value toJSON :: OnScheduleHandlerEvent -> Value $ctoEncoding :: OnScheduleHandlerEvent -> Encoding toEncoding :: OnScheduleHandlerEvent -> Encoding $ctoJSONList :: [OnScheduleHandlerEvent] -> Value toJSONList :: [OnScheduleHandlerEvent] -> Value $ctoEncodingList :: [OnScheduleHandlerEvent] -> Encoding toEncodingList :: [OnScheduleHandlerEvent] -> Encoding ToJSON, Value -> Parser [OnScheduleHandlerEvent] Value -> Parser OnScheduleHandlerEvent (Value -> Parser OnScheduleHandlerEvent) -> (Value -> Parser [OnScheduleHandlerEvent]) -> FromJSON OnScheduleHandlerEvent forall a. (Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a $cparseJSON :: Value -> Parser OnScheduleHandlerEvent parseJSON :: Value -> Parser OnScheduleHandlerEvent $cparseJSONList :: Value -> Parser [OnScheduleHandlerEvent] parseJSONList :: Value -> Parser [OnScheduleHandlerEvent] FromJSON) data TimeConstraints = TimeConstraints { TimeConstraints -> Maybe Int minute :: Maybe Int, TimeConstraints -> Maybe [Int] hour :: Maybe [Int], TimeConstraints -> Maybe [DayOfWeek] dayOfWeek :: Maybe [DayOfWeek], TimeConstraints -> Maybe [Int] dayOfMonth :: Maybe [Int] } deriving ((forall x. TimeConstraints -> Rep TimeConstraints x) -> (forall x. Rep TimeConstraints x -> TimeConstraints) -> Generic TimeConstraints forall x. Rep TimeConstraints x -> TimeConstraints forall x. TimeConstraints -> Rep TimeConstraints x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cfrom :: forall x. TimeConstraints -> Rep TimeConstraints x from :: forall x. TimeConstraints -> Rep TimeConstraints x $cto :: forall x. Rep TimeConstraints x -> TimeConstraints to :: forall x. Rep TimeConstraints x -> TimeConstraints Generic, Int -> TimeConstraints -> ShowS [TimeConstraints] -> ShowS TimeConstraints -> String (Int -> TimeConstraints -> ShowS) -> (TimeConstraints -> String) -> ([TimeConstraints] -> ShowS) -> Show TimeConstraints forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> TimeConstraints -> ShowS showsPrec :: Int -> TimeConstraints -> ShowS $cshow :: TimeConstraints -> String show :: TimeConstraints -> String $cshowList :: [TimeConstraints] -> ShowS showList :: [TimeConstraints] -> ShowS Show, TimeConstraints -> TimeConstraints -> Bool (TimeConstraints -> TimeConstraints -> Bool) -> (TimeConstraints -> TimeConstraints -> Bool) -> Eq TimeConstraints forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: TimeConstraints -> TimeConstraints -> Bool == :: TimeConstraints -> TimeConstraints -> Bool $c/= :: TimeConstraints -> TimeConstraints -> Bool /= :: TimeConstraints -> TimeConstraints -> Bool Eq, TimeConstraints -> () (TimeConstraints -> ()) -> NFData TimeConstraints forall a. (a -> ()) -> NFData a $crnf :: TimeConstraints -> () rnf :: TimeConstraints -> () NFData, [TimeConstraints] -> Value [TimeConstraints] -> Encoding TimeConstraints -> Value TimeConstraints -> Encoding (TimeConstraints -> Value) -> (TimeConstraints -> Encoding) -> ([TimeConstraints] -> Value) -> ([TimeConstraints] -> Encoding) -> ToJSON TimeConstraints forall a. (a -> Value) -> (a -> Encoding) -> ([a] -> Value) -> ([a] -> Encoding) -> ToJSON a $ctoJSON :: TimeConstraints -> Value toJSON :: TimeConstraints -> Value $ctoEncoding :: TimeConstraints -> Encoding toEncoding :: TimeConstraints -> Encoding $ctoJSONList :: [TimeConstraints] -> Value toJSONList :: [TimeConstraints] -> Value $ctoEncodingList :: [TimeConstraints] -> Encoding toEncodingList :: [TimeConstraints] -> Encoding ToJSON, Value -> Parser [TimeConstraints] Value -> Parser TimeConstraints (Value -> Parser TimeConstraints) -> (Value -> Parser [TimeConstraints]) -> FromJSON TimeConstraints forall a. (Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a $cparseJSON :: Value -> Parser TimeConstraints parseJSON :: Value -> Parser TimeConstraints $cparseJSONList :: Value -> Parser [TimeConstraints] parseJSONList :: Value -> Parser [TimeConstraints] FromJSON)