26 lines
945 B
Plaintext
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]
|
|
|