Revision 62933497 src/Ganeti/OpCodes.hs
b/src/Ganeti/OpCodes.hs | ||
---|---|---|
40 | 40 |
, CommonOpParams(..) |
41 | 41 |
, defOpParams |
42 | 42 |
, MetaOpCode(..) |
43 |
, resolveDependencies |
|
43 | 44 |
, wrapOpCode |
44 | 45 |
, setOpComment |
45 | 46 |
, setOpPriority |
... | ... | |
1032 | 1033 |
, opReason = [] |
1033 | 1034 |
} |
1034 | 1035 |
|
1036 |
-- | Resolve relative dependencies to absolute ones, given the job ID. |
|
1037 |
resolveDependsCommon :: (Monad m) => CommonOpParams -> JobId -> m CommonOpParams |
|
1038 |
resolveDependsCommon p@(CommonOpParams { opDepends = Just deps}) jid = do |
|
1039 |
deps' <- mapM (`absoluteJobDependency` jid) deps |
|
1040 |
return p { opDepends = Just deps' } |
|
1041 |
resolveDependsCommon p _ = return p |
|
1042 |
|
|
1035 | 1043 |
-- | The top-level opcode type. |
1036 | 1044 |
data MetaOpCode = MetaOpCode { metaParams :: CommonOpParams |
1037 | 1045 |
, metaOpCode :: OpCode |
1038 | 1046 |
} deriving (Show, Eq) |
1039 | 1047 |
|
1048 |
-- | Resolve relative dependencies to absolute ones, given the job Id. |
|
1049 |
resolveDependencies :: (Monad m) => MetaOpCode -> JobId -> m MetaOpCode |
|
1050 |
resolveDependencies mopc jid = do |
|
1051 |
mpar <- resolveDependsCommon (metaParams mopc) jid |
|
1052 |
return (mopc { metaParams = mpar }) |
|
1053 |
|
|
1040 | 1054 |
-- | JSON serialisation for 'MetaOpCode'. |
1041 | 1055 |
showMeta :: MetaOpCode -> JSValue |
1042 | 1056 |
showMeta (MetaOpCode params op) = |
Also available in: Unified diff