Netconf-Module/configMaker.nix

113 lines
1.9 KiB
Nix

let module_inst = {
interfaces = let
AP = { # AP
enable = true;
interface-mode = "trunk";
vlans = [ "users" "admin" ];
};
off.enable = false;
in {
"ge-0/0/12" = AP;
"ge-0/0/13" = AP;
"ge-0/0/14" = AP;
"ge-0/0/15" = AP;
"ge-0/0/16" = AP;
"ge-0/0/17" = AP;
"ge-0/1/1" = {
enable = true;
interface-mode = "trunk";
vlans = [ "uplink-cri" ];
};
"xe-0/1/0" = { # upstream
enable = true;
interface-mode = "trunk";
vlans = [ "all" ];
dhcp_trusted = true;
};
"me0" = { # mgmt
enable = true;
management = "192.168.42.6/24";
};
};
vlans = {
"users".ids = [ { begin = 3045; end = 4094; } ];
"admin" = {
ids = 3000;
management = "10.0.0.2/22";
};
"uplink-cri".ids = [ 223 ];
};
};
module = import ./moduleMaker.nix [
"ge-0/0/0"
"ge-0/0/1"
"ge-0/0/2"
"ge-0/0/3"
"ge-0/0/4"
"ge-0/0/5"
"ge-0/0/6"
"ge-0/0/7"
"ge-0/0/8"
"ge-0/0/9"
"ge-0/0/10"
"ge-0/0/11"
"ge-0/0/12"
"ge-0/0/13"
"ge-0/0/14"
"ge-0/0/15"
"ge-0/0/16"
"ge-0/0/17"
"ge-0/0/18"
"ge-0/0/19"
"ge-0/0/20"
"ge-0/0/21"
"ge-0/0/22"
"ge-0/0/23"
"ge-0/0/24"
"ge-0/0/25"
"ge-0/0/26"
"ge-0/0/27"
"ge-0/0/28"
"ge-0/0/29"
"ge-0/0/30"
"ge-0/0/31"
"ge-0/0/32"
"ge-0/0/33"
"ge-0/0/34"
"ge-0/0/35"
"ge-0/0/36"
"ge-0/0/37"
"ge-0/0/38"
"ge-0/0/39"
"ge-0/0/40"
"ge-0/0/41"
"ge-0/0/42"
"ge-0/0/43"
"ge-0/0/44"
"ge-0/0/45"
"ge-0/0/46"
"ge-0/0/47"
"ge-0/1/0"
"ge-0/1/1"
"ge-0/1/2"
"ge-0/1/3"
"xe-0/1/0"
"xe-0/1/1"
"xe-0/1/2"
"xe-0/1/3"
"me0"
];
in (import <nixpkgs/lib>).evalModules {
specialArgs.pkgs = import <nixpkgs> {};
modules = [
module
module_inst
];
}