/dhall-nomad-v1.0.0/types/Template.dhall

Copy path to clipboard

Source

{- https://www.nomadproject.io/docs/job-specification/template -}
let CommonConfig =
{ destination : Text
, left_delimiter : Optional Text
, perms : Optional Text
, right_delimiter : Optional Text
}

let SignalConfig =
{ change_signal : Text
, change_mode : ./ChangeModeSignal.dhall
, splay : Optional Text
}

let RestartConfig =
{ change_mode : ./ChangeModeRestart.dhall
, env : Bool
, splay : Optional Text
}

let NoopConfig = { change_mode : ./ChangeModeNoop.dhall }

let FileConfig = { source : Text } ⩓ CommonConfig

let InlineConfig = { data : Text } ⩓ CommonConfig

let NoopFileConfig = NoopConfigFileConfig

let NoopInlineConfig = NoopConfigInlineConfig

let SignalFileConfig = SignalConfigFileConfig

let SignalInlineConfig = SignalConfigInlineConfig

let RestartFileConfig = RestartConfigFileConfig

let RestartInlineConfig = RestartConfigInlineConfig

let Variants =
< FileTemplateNoop : NoopFileConfig
| InlineTemplateNoop : NoopInlineConfig
| FileTemplateWithSignal : SignalFileConfig
| InlineTemplateWithSignal : SignalInlineConfig
| FileTemplateWithRestart : RestartFileConfig
| InlineTemplateWithRestart : RestartInlineConfig
>

in { Type = Variants
, NoopFileConfig
, NoopInlineConfig
, SignalFileConfig
, SignalInlineConfig
, RestartFileConfig
, RestartInlineConfig
}