|
|
|
@@ -25,6 +25,185 @@ type RenderedConfig struct {
|
|
|
|
|
Providers []RenderedProvider `yaml:"providers,omitempty" json:"providers,omitempty"`
|
|
|
|
|
Routes []RenderedRoute `yaml:"routes,omitempty" json:"routes,omitempty"`
|
|
|
|
|
RoutingRules []RenderedRoutingRule `yaml:"routing_rules,omitempty" json:"routing_rules,omitempty"`
|
|
|
|
|
Tunnels []RenderedTunnel `yaml:"tunnels,omitempty" json:"tunnels,omitempty"`
|
|
|
|
|
StoppedRules []RenderedStoppedRule `yaml:"stopped_rules,omitempty" json:"stopped_rules,omitempty"`
|
|
|
|
|
ProxyARP []RenderedProxy `yaml:"proxy_arp,omitempty" json:"proxy_arp,omitempty"`
|
|
|
|
|
ProxyNDP []RenderedProxy `yaml:"proxy_ndp,omitempty" json:"proxy_ndp,omitempty"`
|
|
|
|
|
ArpRules []RenderedArpRule `yaml:"arp_rules,omitempty" json:"arp_rules,omitempty"`
|
|
|
|
|
Maclist []RenderedMaclist `yaml:"maclist,omitempty" json:"maclist,omitempty"`
|
|
|
|
|
Mangle []RenderedMangle `yaml:"mangle,omitempty" json:"mangle,omitempty"`
|
|
|
|
|
Accounting []RenderedAccounting `yaml:"accounting,omitempty" json:"accounting,omitempty"`
|
|
|
|
|
TCDevices []RenderedTCDevice `yaml:"tc_devices,omitempty" json:"tc_devices,omitempty"`
|
|
|
|
|
TCClasses []RenderedTCClass `yaml:"tc_classes,omitempty" json:"tc_classes,omitempty"`
|
|
|
|
|
TCFilters []RenderedTCFilter `yaml:"tc_filters,omitempty" json:"tc_filters,omitempty"`
|
|
|
|
|
TCInterfaces []RenderedTCInterface `yaml:"tc_interfaces,omitempty" json:"tc_interfaces,omitempty"`
|
|
|
|
|
TCPriorities []RenderedTCPriority `yaml:"tc_priorities,omitempty" json:"tc_priorities,omitempty"`
|
|
|
|
|
Blrules []RenderedBlrule `yaml:"blrules,omitempty" json:"blrules,omitempty"`
|
|
|
|
|
Conntrack []RenderedConntrack `yaml:"conntrack,omitempty" json:"conntrack,omitempty"`
|
|
|
|
|
Secmarks []RenderedSecmark `yaml:"secmarks,omitempty" json:"secmarks,omitempty"`
|
|
|
|
|
Vars map[string]string `yaml:"vars,omitempty" json:"vars,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type RenderedBlrule struct {
|
|
|
|
|
Priority int `yaml:"priority,omitempty" json:"priority,omitempty"`
|
|
|
|
|
Action string `yaml:"action" json:"action"`
|
|
|
|
|
Source string `yaml:"source,omitempty" json:"source,omitempty"`
|
|
|
|
|
Dest string `yaml:"dest,omitempty" json:"dest,omitempty"`
|
|
|
|
|
Proto string `yaml:"proto,omitempty" json:"proto,omitempty"`
|
|
|
|
|
DPort []string `yaml:"dport,omitempty" json:"dport,omitempty"`
|
|
|
|
|
SPort []string `yaml:"sport,omitempty" json:"sport,omitempty"`
|
|
|
|
|
Log string `yaml:"log,omitempty" json:"log,omitempty"`
|
|
|
|
|
Comment string `yaml:"comment,omitempty" json:"comment,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type RenderedConntrack struct {
|
|
|
|
|
Action string `yaml:"action" json:"action"`
|
|
|
|
|
Source string `yaml:"source,omitempty" json:"source,omitempty"`
|
|
|
|
|
Dest string `yaml:"dest,omitempty" json:"dest,omitempty"`
|
|
|
|
|
Proto string `yaml:"proto,omitempty" json:"proto,omitempty"`
|
|
|
|
|
DPort []string `yaml:"dport,omitempty" json:"dport,omitempty"`
|
|
|
|
|
SPort []string `yaml:"sport,omitempty" json:"sport,omitempty"`
|
|
|
|
|
Chain string `yaml:"chain,omitempty" json:"chain,omitempty"`
|
|
|
|
|
Helper string `yaml:"helper,omitempty" json:"helper,omitempty"`
|
|
|
|
|
User string `yaml:"user,omitempty" json:"user,omitempty"`
|
|
|
|
|
Comment string `yaml:"comment,omitempty" json:"comment,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type RenderedSecmark struct {
|
|
|
|
|
Secmark string `yaml:"secmark" json:"secmark"`
|
|
|
|
|
Chain string `yaml:"chain" json:"chain"`
|
|
|
|
|
Source string `yaml:"source,omitempty" json:"source,omitempty"`
|
|
|
|
|
Dest string `yaml:"dest,omitempty" json:"dest,omitempty"`
|
|
|
|
|
Proto string `yaml:"proto,omitempty" json:"proto,omitempty"`
|
|
|
|
|
DPort []string `yaml:"dport,omitempty" json:"dport,omitempty"`
|
|
|
|
|
SPort []string `yaml:"sport,omitempty" json:"sport,omitempty"`
|
|
|
|
|
Comment string `yaml:"comment,omitempty" json:"comment,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type RenderedMangle struct {
|
|
|
|
|
Action string `yaml:"action" json:"action"`
|
|
|
|
|
Chain string `yaml:"chain,omitempty" json:"chain,omitempty"`
|
|
|
|
|
MarkValue string `yaml:"mark_value,omitempty" json:"mark_value,omitempty"`
|
|
|
|
|
Source string `yaml:"source,omitempty" json:"source,omitempty"`
|
|
|
|
|
Dest string `yaml:"dest,omitempty" json:"dest,omitempty"`
|
|
|
|
|
Proto string `yaml:"proto,omitempty" json:"proto,omitempty"`
|
|
|
|
|
DPort []string `yaml:"dport,omitempty" json:"dport,omitempty"`
|
|
|
|
|
SPort []string `yaml:"sport,omitempty" json:"sport,omitempty"`
|
|
|
|
|
User string `yaml:"user,omitempty" json:"user,omitempty"`
|
|
|
|
|
Mark string `yaml:"mark,omitempty" json:"mark,omitempty"`
|
|
|
|
|
Length string `yaml:"length,omitempty" json:"length,omitempty"`
|
|
|
|
|
TOS string `yaml:"tos,omitempty" json:"tos,omitempty"`
|
|
|
|
|
Helper string `yaml:"helper,omitempty" json:"helper,omitempty"`
|
|
|
|
|
Probability *float64 `yaml:"probability,omitempty" json:"probability,omitempty"`
|
|
|
|
|
Comment string `yaml:"comment,omitempty" json:"comment,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type RenderedAccounting struct {
|
|
|
|
|
Action string `yaml:"action" json:"action"`
|
|
|
|
|
Section string `yaml:"section,omitempty" json:"section,omitempty"`
|
|
|
|
|
Chain string `yaml:"chain,omitempty" json:"chain,omitempty"`
|
|
|
|
|
Source string `yaml:"source,omitempty" json:"source,omitempty"`
|
|
|
|
|
Dest string `yaml:"dest,omitempty" json:"dest,omitempty"`
|
|
|
|
|
Proto string `yaml:"proto,omitempty" json:"proto,omitempty"`
|
|
|
|
|
DPort []string `yaml:"dport,omitempty" json:"dport,omitempty"`
|
|
|
|
|
SPort []string `yaml:"sport,omitempty" json:"sport,omitempty"`
|
|
|
|
|
Mark string `yaml:"mark,omitempty" json:"mark,omitempty"`
|
|
|
|
|
Comment string `yaml:"comment,omitempty" json:"comment,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type RenderedTCDevice struct {
|
|
|
|
|
Interface string `yaml:"interface" json:"interface"`
|
|
|
|
|
InBandwidth string `yaml:"in_bandwidth,omitempty" json:"in_bandwidth,omitempty"`
|
|
|
|
|
OutBandwidth string `yaml:"out_bandwidth,omitempty" json:"out_bandwidth,omitempty"`
|
|
|
|
|
Comment string `yaml:"comment,omitempty" json:"comment,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type RenderedTCClass struct {
|
|
|
|
|
Interface string `yaml:"interface" json:"interface"`
|
|
|
|
|
Mark int `yaml:"mark,omitempty" json:"mark,omitempty"`
|
|
|
|
|
Rate string `yaml:"rate,omitempty" json:"rate,omitempty"`
|
|
|
|
|
Ceil string `yaml:"ceil,omitempty" json:"ceil,omitempty"`
|
|
|
|
|
Priority int `yaml:"priority,omitempty" json:"priority,omitempty"`
|
|
|
|
|
Comment string `yaml:"comment,omitempty" json:"comment,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type RenderedTCFilter struct {
|
|
|
|
|
Class string `yaml:"class" json:"class"`
|
|
|
|
|
Source string `yaml:"source,omitempty" json:"source,omitempty"`
|
|
|
|
|
Dest string `yaml:"dest,omitempty" json:"dest,omitempty"`
|
|
|
|
|
Proto string `yaml:"proto,omitempty" json:"proto,omitempty"`
|
|
|
|
|
DPort []string `yaml:"dport,omitempty" json:"dport,omitempty"`
|
|
|
|
|
SPort []string `yaml:"sport,omitempty" json:"sport,omitempty"`
|
|
|
|
|
TOS string `yaml:"tos,omitempty" json:"tos,omitempty"`
|
|
|
|
|
Length int `yaml:"length,omitempty" json:"length,omitempty"`
|
|
|
|
|
Priority int `yaml:"priority,omitempty" json:"priority,omitempty"`
|
|
|
|
|
Comment string `yaml:"comment,omitempty" json:"comment,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type RenderedTCInterface struct {
|
|
|
|
|
Interface string `yaml:"interface" json:"interface"`
|
|
|
|
|
Type string `yaml:"type,omitempty" json:"type,omitempty"`
|
|
|
|
|
InBandwidth string `yaml:"in_bandwidth,omitempty" json:"in_bandwidth,omitempty"`
|
|
|
|
|
OutBandwidth string `yaml:"out_bandwidth,omitempty" json:"out_bandwidth,omitempty"`
|
|
|
|
|
Comment string `yaml:"comment,omitempty" json:"comment,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type RenderedTCPriority struct {
|
|
|
|
|
Band int `yaml:"band" json:"band"`
|
|
|
|
|
Proto string `yaml:"proto,omitempty" json:"proto,omitempty"`
|
|
|
|
|
DPort []string `yaml:"dport,omitempty" json:"dport,omitempty"`
|
|
|
|
|
SPort []string `yaml:"sport,omitempty" json:"sport,omitempty"`
|
|
|
|
|
Address string `yaml:"address,omitempty" json:"address,omitempty"`
|
|
|
|
|
Interface string `yaml:"interface,omitempty" json:"interface,omitempty"`
|
|
|
|
|
Helper string `yaml:"helper,omitempty" json:"helper,omitempty"`
|
|
|
|
|
Comment string `yaml:"comment,omitempty" json:"comment,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type RenderedTunnel struct {
|
|
|
|
|
Type string `yaml:"type" json:"type"`
|
|
|
|
|
Zone string `yaml:"zone" json:"zone"`
|
|
|
|
|
Gateways []string `yaml:"gateways,omitempty" json:"gateways,omitempty"`
|
|
|
|
|
GatewayZones []string `yaml:"gateway_zones,omitempty" json:"gateway_zones,omitempty"`
|
|
|
|
|
Port int `yaml:"port,omitempty" json:"port,omitempty"`
|
|
|
|
|
Comment string `yaml:"comment,omitempty" json:"comment,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type RenderedStoppedRule struct {
|
|
|
|
|
Action string `yaml:"action" json:"action"`
|
|
|
|
|
Source string `yaml:"source,omitempty" json:"source,omitempty"`
|
|
|
|
|
Dest string `yaml:"dest,omitempty" json:"dest,omitempty"`
|
|
|
|
|
Proto string `yaml:"proto,omitempty" json:"proto,omitempty"`
|
|
|
|
|
DPort []string `yaml:"dport,omitempty" json:"dport,omitempty"`
|
|
|
|
|
SPort []string `yaml:"sport,omitempty" json:"sport,omitempty"`
|
|
|
|
|
Comment string `yaml:"comment,omitempty" json:"comment,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type RenderedProxy struct {
|
|
|
|
|
Address string `yaml:"address" json:"address"`
|
|
|
|
|
Interface string `yaml:"interface,omitempty" json:"interface,omitempty"`
|
|
|
|
|
External string `yaml:"external" json:"external"`
|
|
|
|
|
HaveRoute bool `yaml:"haveroute,omitempty" json:"haveroute,omitempty"`
|
|
|
|
|
Persistent bool `yaml:"persistent,omitempty" json:"persistent,omitempty"`
|
|
|
|
|
Comment string `yaml:"comment,omitempty" json:"comment,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type RenderedArpRule struct {
|
|
|
|
|
Action string `yaml:"action" json:"action"`
|
|
|
|
|
ActionAddress string `yaml:"action_address,omitempty" json:"action_address,omitempty"`
|
|
|
|
|
ActionMAC string `yaml:"action_mac,omitempty" json:"action_mac,omitempty"`
|
|
|
|
|
Source string `yaml:"source,omitempty" json:"source,omitempty"`
|
|
|
|
|
Dest string `yaml:"dest,omitempty" json:"dest,omitempty"`
|
|
|
|
|
Opcode int `yaml:"opcode,omitempty" json:"opcode,omitempty"`
|
|
|
|
|
Comment string `yaml:"comment,omitempty" json:"comment,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type RenderedMaclist struct {
|
|
|
|
|
Action string `yaml:"action" json:"action"`
|
|
|
|
|
Interface string `yaml:"interface" json:"interface"`
|
|
|
|
|
MAC string `yaml:"mac,omitempty" json:"mac,omitempty"`
|
|
|
|
|
Addresses []string `yaml:"addresses,omitempty" json:"addresses,omitempty"`
|
|
|
|
|
Log string `yaml:"log,omitempty" json:"log,omitempty"`
|
|
|
|
|
Comment string `yaml:"comment,omitempty" json:"comment,omitempty"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type RenderedHost struct {
|
|
|
|
|