prvng_kcl/server.k

34 lines
1.7 KiB
Plaintext
Raw Permalink Normal View History

2025-10-07 11:17:54 +01:00
# Info: KCL core lib server schemas for provisioning (Provisioning)
# Author: JesusPerezLorenzo
# Release: 0.0.4
# Date: 15-12-2023
import regex
import .defaults
import .lib
schema Server(defaults.ServerDefaults):
"""
server settings
"""
not_use: bool = False
# Hostname as reference for resource if is changed later inside server, change will not be updated in resource inventory
hostname: str
title: str
network_private_id?: str
# extra hostnames for server local resolution
extra_hostnames?: [str]
delete_lock: bool = False
taskservs?: [lib.TaskServDef]
cluster?: [lib.ClusterDef]
check:
len(hostname) > 0, "Check hostname value"
len(title) > 0, "Check titlevalue"
priv_cidr_block == Undefined or regex.match(priv_cidr_block, "^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}\/(?:3[0-2]|[0-2]?[0-9])$"), "'priv_cidr_block = ${priv_cidr_block}' check value definition"
#network_private_ip == Undefined or regex.match(network_private_ip,"^\$.*$") or regex.match(network_private_ip, "^((25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])$"), "'network_private_ip = ${network_private_ip}' check value definition (use $vaule or xx.xx.xx.xx)"
#liveness_ip == Undefined or regex.match(liveness_ip,"^\$.*$") or regex.match(liveness_ip, "^((25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])$"), "'liveness_ip = ${liveness_ip}' check value definition (use $vaule or xx.xx.xx.xx)"
# len(adm_user.password) > 0, "Check Admin User password 'adm_user.password'"
# len(adm_user.email) > 0, "Check Admin User email 'adm_user.email'"
# len(db.name) > 0, "Check DB name"