]> git.immae.eu Git - github/fretlink/ansible-clever.git/blob - dhall/Config.dhall
dhall: add missing configuration for clever_restart_only variable
[github/fretlink/ansible-clever.git] / dhall / Config.dhall
1 let Addon = (./Addon.dhall).Type
2
3 let Vault = ./Vault.dhall
4
5 let FixedOrRange =
6 λ(t : Type) → < Fixed : { fixed : t } | Range : { min : t, max : t } >
7
8 let fixed = λ(t : Type) → λ(f : t) → (FixedOrRange t).Fixed { fixed = f }
9
10 let range = λ(t : Type) → λ(r : { min : t, max : t }) → (FixedOrRange t).Range r
11
12 let InstancesConfig = FixedOrRange Natural
13
14 let FlavorsConfig = FixedOrRange Text
15
16 let ScalingParameters =
17 { flavor : Optional FlavorsConfig, instances : Optional InstancesConfig }
18
19 let 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
32 , clever_build_flavor : Optional Text
33 , clever_scaling : Optional ScalingParameters
34 , clever_restart_only : Optional Bool
35 }
36
37 let 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 = {=}
52 , clever_build_flavor = None Text
53 , clever_scaling = None ScalingParameters
54 , clever_restart_only = None Bool
55 }
56 : Config {}
57
58 in { Type = Config
59 , mkConfig = mkConfig
60 , ScalingParameters = ScalingParameters
61 , InstancesConfig = InstancesConfig
62 , FlavorsConfig = FlavorsConfig
63 , fixed = fixed
64 , range = range
65 }