-
Notifications
You must be signed in to change notification settings - Fork 18
Data Structure
Glenn edited this page Mar 2, 2022
·
41 revisions
This is the structure that should be used when developing modules. Not all of these values will be valid for all firewall types, in that instance those values that are not valid should be left blank.
{
"system": {
"domain": "",
"hostname": ""
},
"interfaces": {
"name": {
"enabled": True/False,
"description": "",
"ipv4_config": [
{
"ip_address": "",
"mask": "",
}
],
"ipv6_config": [
{
"ip_address": "",
"mask": "",
}
],
"mtu": "",
"physical_interfaces": [],
"type": "",
"vlan_id": "",
"vlan_name": ""
}
},
"zones": {
"name": {
"allow_intrazone": "",
"description": "",
"enabled": True/False,
"members": []
}
},
"routes": [
{
"blackhole": True/False,
"description": "",
"distance": "",
"enabled": True/False,
"gateway": "",
"interface": "",
"mask": "",
"network": "",
"source": [],
"type": "",
}
],
"routes6": [
{
"blackhole": True/False,
"description": "",
"distance": "",
"enabled": True/False,
"gateway": "",
"interface": "",
"mask": "",
"network": "",
"source": [],
"type": ""
}
],
"network_objects": {
"name": {
"address_first": "",
"address_last": "",
"description": "",
"fqdn": "",
"host": "",
"interface": ""
"mask": "",
"network": "",
"type": "host/network/range/fqdn",
}
},
"network6_objects": {
"name": {
"address_first": "",
"address_last": "",
"description": "",
"fqdn": "",
"host": "",
"interface": ""
"mask": "",
"network": "",
"type": "host/network/range/fqdn",
}
},
"network_groups": {
"name": {
"description": "",
"members": [],
"type": "group"
}
},
"network6_groups": {
"name": {
"description": "",
"members": [],
"type": "group"
}
},
"service_objects": {
"name": {
"description": "",
"dst_port_first": "",
"dst_port_last": "",
"dst_port": "",
"icmp_code": "",
"icmp_type": "",
"protocol": "",
"src_port": "",
"src_port_first": "",
"src_port_last": "",
"type": "service/range"
}
},
"service_groups": {
"name": {
"description": "",
"members": [],
"type": "group"
}
},
"mapping_objects": {
"name": {
"addresses": [
{
"name": "",
"type": ""
}
],
"interfaces": [
{
"name": "",
"type": ""
}
],
"services": [
{
"name": "",
"type": ""
}
],
}
},
"policies": [
{
"action": "",
"description": "",
"dst_addresses": [
{
"name": "",
"type": ""
}
],
"dst_interfaces": [
{
"name": "",
"type": ""
}
],
"dst_services": [
{
"name": "",
"type": ""
}
],
"enabled": True/False,
"logging": True/False,
"name": "",
"nat": "",
"policy_set": "",
"protocol": "",
"schedule": "",
"src_addresses": [
{
"name": "",
"type": ""
}
],
"src_interfaces": [
{
"name": "",
"type": ""
}
],
"src_services": [
{
"name": "",
"type": ""
}
],
"type": "policy",
"users_excluded": [],
"users_included": []
}
],
"nat": [
{
"description": "",
"dst_addresses_original": [
{
"name": "",
"type": ""
}
],
"dst_addresses_translated": [
{
"name": "",
"type": ""
}
],
"dst_interfaces": [
{
"name": "",
"type": ""
}
],
"dst_services_original": [
{
"name": "",
"type": ""
}
],
"dst_services_translated": [
{
"name": "",
"type": ""
}
],
"enabled": True/False,
"name": "",
"src_addresses_original": [
{
"name": "",
"type": ""
}
],
"src_addresses_translated": [
{
"name": "",
"type": ""
}
],
"src_interfaces": [
{
"name": "",
"type": ""
}
],
"src_services_original": [
{
"name": "",
"type": ""
}
],
"src_services_translated": [
{
"name": "",
"type": ""
}
],
"type": ""
}
]
}