# | Server configuration contracts (schema definitions)
# | Migrated from: provisioning/kcl/server.k
# | Pattern: Pure schema definitions using Nickel contracts

{
  Server = {
    not_use | Bool,
    hostname | String,
    title | String,
    delete_lock | Bool,
    lock | Bool,
    time_zone | String,
    running_wait | Number,
    running_timeout | Number,
    storage_os_find | String,
    network_utility_ipv4 | Bool,
    network_utility_ipv6 | Bool,
    network_public_ipv4 | Bool,
    network_public_ipv6 | Bool,
    labels | String,
    user | String,
    user_home | String,
    user_ssh_port | Number,
    fix_local_hosts | Bool,
    installer_user | String,
    network_private_id | String | optional,
    extra_hostnames | String | optional,
    taskservs | Dyn | optional,
    cluster | Dyn | optional,
    priv_cidr_block | String | optional,
    ssh_key_path | String | optional,
    ssh_key_name | String | optional,
    network_public_ip | String | optional,
    network_private_name | String | optional,
    primary_dns | String | optional,
    secondary_dns | String | optional,
    main_domain | String | optional,
    domains_search | String | optional,
    user_ssh_key_path | String | optional,
    scale | Dyn | optional,
  },
}
