Skip to content

Data Structure

Glenn edited this page Apr 9, 2020 · 41 revisions

Data Structure for Parsers and Generators

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": "",  
      "description": "",  
      "ip_config": [  
        {  
          "ip_address": "",  
          "mask": "",  
          "type": "",  
        }  
      ],  
      "physical_interfaces": [],  
      "type": "",  
      "vlan_id": "",  
      "vlan_name": ""  
    }  
  },  
  "zones": {  
    "name": {  
      "enabled": "",  
      "description": "",  
      "allow_intrazone": "",  
      "members": []  
    }  
  },  
  "routes": {  
    "1": {  
      "description": "",  
      "distance": "",  
      "gateway": "",  
      "interface": "",  
      "mask": "",  
      "network": "",  
      "source": "",  
      "type": ""  
    }  
  },  
  "routes6": {  
    "1": {  
      "description": "",  
      "distance": "",  
      "gateway": "",  
      "interface": "",  
      "mask": "",  
      "network": "",  
      "source": "",  
      "type": ""  
    }  
  },  
  "network_objects": {  
    "name": {  
      "description": "",  
      "mask": "",  
      "network": "",  
      "type": ""  
    }  
  },  
  "network6_objects": {  
    "name": {  
      "description": "",  
      "mask": "",  
      "network": "",  
      "type": ""  
    }  
  },  
  "network_groups": {  
    "name": {  
      "description": "",  
      "members": [],  
      "type": ""  
    }  
  },  
  "network6_groups": {  
    "name": {  
      "description": "",  
      "members": [],  
      "type": ""  
    }  
  },  
  "service_objects": {  
    "name": {  
      "description": "",  
      "destination_port": "",  
      "protocol": "",  
      "source_port": "",  
      "type": ""  
    }  
  },  
  "service_groups": {  
    "name": {  
      "description": "",  
      "members": [],  
      "type": ""  
    }  
  },  
  "policies": {  
    "1": {  
      "action": "",  
      "description": "",  
      "dst_address": "",  
      "dst_address_type": "",  
      "dst_interface": "",  
      "dst_service": "",  
      "dst_service_type": "",  
      "enabled": "",  
      "logging": "",  
      "name": "",  
      "nat": "",  
      "nat_src_address": "",  
      "protocol": "",  
      "schedule": "",  
      "src_address": "",  
      "src_address_type": "",  
      "src_interface": "",  
      "src_service": "",  
      "src_service_type": "",  
      "type": "",  
      "users": ""  
    }  
  },  
  "nat": {  
    "1": {  
      "description": "",  
      "dst_address_original": "",  
      "dst_address_original_type": "",  
      "dst_address_translated": "",  
      "dst_address_translated_type": "",  
      "dst_interface": "",  
      "dst_service_original": "",  
      "dst_service_original_type": "",  
      "dst_service_translated": "",  
      "dst_service_translated_type": "",  
      "enabled": "",  
      "name": "",  
      "src_address_original": "",  
      "src_address_original_type": "",  
      "src_address_translated": "",  
      "src_address_translated_type": "",  
      "src_interface": "",  
      "src_service_original": "",  
      "src_service_original_type": "",  
      "src_service_translated": "",  
      "src_service_translated_type": "",  
      "type": ""  
    }  
  }  
}  
Clone this wiki locally