2025-10-07 11:20:26 +01:00

26 lines
945 B
Plaintext

# Info: KCL IP alias task schemas for provisioning (Provisioning)
# Author: JesusPerezLorenzo
# Release: 0.0.4
# Date: 4-08-2024
import regex
schema IPalias:
setup_mode: "system" | "alias" = "alias"
address: str
hostname: str = ""
main_hostname: bool = False
interface: str
dev_interface: str
netmask: str = "255.255.255.0"
nameservers: str = ""
search: str = ""
check:
address == Undefined or regex.match(address,"^\$.*$") or regex.match(address,"^((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])$"), "'address = ${address}' check value definition (use $vaule or xx.xx.xx.xx)"
netmask == Undefined or regex.match(netmask,"^((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])$"), "'netmask = ${netmask}' check value definition (use $vaule or xx.xx.xx.xx)"
schema IPaliases:
name: str = "IPaliases"
aliases: [IPalias]