]> git.immae.eu Git - github/fretlink/ansible-clever.git/blame - dhall/Config.dhall
dhall: add missing configuration for clever_restart_only variable
[github/fretlink/ansible-clever.git] / dhall / Config.dhall
CommitLineData
2acb3d4f 1let Addon = (./Addon.dhall).Type
50a9e710 2
2acb3d4f
CD
3let Vault = ./Vault.dhall
4
96f02eb1
CD
5let FixedOrRange =
6 λ(t : Type) → < Fixed : { fixed : t } | Range : { min : t, max : t } >
7
8let fixed = λ(t : Type) → λ(f : t) → (FixedOrRange t).Fixed { fixed = f }
9
10let range = λ(t : Type) → λ(r : { min : t, max : t }) → (FixedOrRange t).Range r
11
12let InstancesConfig = FixedOrRange Natural
13
14let FlavorsConfig = FixedOrRange Text
15
16let ScalingParameters =
17 { flavor : Optional FlavorsConfig, instances : Optional InstancesConfig }
18
2acb3d4f
CD
19let Config =
20 λ(Environment : Type)
21 → { clever_app : Text
22 , clever_orga : Text
23 , clever_secret : Text
24 , clever_token : Text
25 , clever_syslog_server : Optional Text
26 , clever_domain : Optional Text
27 , clever_app_tasks_file : Optional Text
28 , clever_haskell_entry_point : Optional Text
29 , clever_disable_metrics : Bool
30 , clever_addons : List Addon
31 , clever_env : Environment
1c139365 32 , clever_build_flavor : Optional Text
96f02eb1 33 , clever_scaling : Optional ScalingParameters
f0f8a079 34 , clever_restart_only : Optional Bool
2acb3d4f
CD
35 }
36
37let mkConfig =
38 λ(vault : Vault)
39 → λ(app : Text)
40 → λ(organization : Text)
41 → { clever_app = app
42 , clever_orga = organization
43 , clever_secret = vault.secret
44 , clever_token = vault.token
45 , clever_syslog_server = None Text
46 , clever_domain = None Text
47 , clever_app_tasks_file = None Text
48 , clever_haskell_entry_point = None Text
49 , clever_disable_metrics = False
50 , clever_addons = [] : List Addon
51 , clever_env = {=}
1c139365 52 , clever_build_flavor = None Text
96f02eb1 53 , clever_scaling = None ScalingParameters
f0f8a079 54 , clever_restart_only = None Bool
2acb3d4f
CD
55 }
56 : Config {}
57
96f02eb1
CD
58in { Type = Config
59 , mkConfig = mkConfig
60 , ScalingParameters = ScalingParameters
61 , InstancesConfig = InstancesConfig
62 , FlavorsConfig = FlavorsConfig
63 , fixed = fixed
64 , range = range
65 }