need_string_match(in_domain({'next_node', 'mac'}), '^%x[02468aAcCeE]:%x%x:%x%x:%x%x:%x%x:%x%x$', false) if need_string_match(in_domain({'next_node', 'ip4'}), '^%d+.%d+.%d+.%d+$', false) then need_string_match(in_domain({'prefix4'}), '^%d+.%d+.%d+.%d+/%d+$') end need_string_match(in_domain({'next_node', 'ip6'}), '^[%x:]+$', false) for _, config in ipairs({'wifi24', 'wifi5'}) do if need_table({config, 'ap'}, nil, false) then need_string_match(in_domain({config, 'ap', 'ssid'}), '^' .. ('.?'):rep(32) .. '$') need_boolean({config, 'ap', 'disabled'}, false) end end