27 lines
691 B
Text
27 lines
691 B
Text
|
|
let node_role_contract = [| 'ControlPlane, 'Worker, 'LoadBalancer |] in
|
||
|
|
|
||
|
|
let scale_template_contract = {
|
||
|
|
server_type | String,
|
||
|
|
location | String,
|
||
|
|
hostname_pattern | String,
|
||
|
|
private_network | String,
|
||
|
|
ip_range_prefix | String,
|
||
|
|
formula_id | String | optional,
|
||
|
|
image_role | String | optional,
|
||
|
|
os_type | String | optional,
|
||
|
|
architecture | String | optional,
|
||
|
|
} in
|
||
|
|
|
||
|
|
let scale_policy_contract = {
|
||
|
|
role | node_role_contract,
|
||
|
|
min | Number,
|
||
|
|
max | Number,
|
||
|
|
template | scale_template_contract,
|
||
|
|
} in
|
||
|
|
|
||
|
|
{
|
||
|
|
NodeRole = node_role_contract,
|
||
|
|
ScaleTemplate = scale_template_contract,
|
||
|
|
ScalePolicy = scale_policy_contract,
|
||
|
|
}
|