From 033bf438bd2ae39d6a465c475500a24514cc2739 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 7 Apr 2016 20:29:07 +0200 Subject: addr4: str -> mkOptionType --- krebs/4lib/types.nix | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'krebs/4lib') diff --git a/krebs/4lib/types.nix b/krebs/4lib/types.nix index 32d1daf9..7255dc3e 100644 --- a/krebs/4lib/types.nix +++ b/krebs/4lib/types.nix @@ -186,10 +186,16 @@ types // rec { }; }); - # TODO - addr = str; - addr4 = str; - addr6 = str; + addr = either addr4 addr6; + addr4 = mkOptionType { + name = "IPv4 address"; + check = let + IPv4address = let d = "([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])"; in + concatMapStringsSep "." (const d) (range 1 4); + in x: match IPv4address != null; + merge = mergeOneOption; + }; + addr6 = str; # TODO pgp-pubkey = str; -- cgit v1.2.3