net.network¶
Summary¶
Details¶
-
GET
/api/app/v1/net/
(module)¶
-
GET
/api/app/v1/net
¶ Shows network information for the appliance or modules.
New in version 1.0.
Note
Information will only appear on options that have been configured. For example, if you haven’t configured an IPv6 gateway it will not appear.
Warning
The non formatted version has been deprecated. Use the formatted version
Parameters: - module (required) – Module to get the information on. If excluded it defaults to all
Query Parameters: - format (optional) – If set to true use optional second format
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - Network information
- 400 Bad Request – Bad Request
- 401 Unauthorized – Access Denied
- 424 Failed Dependency – Failed Dependency - no network information to get
- 500 Internal Server Error – Server Error
Accepted Authorization: admin, audit
Example 1 - Request: Get all network information not formatted:
GET /api/app/v1/net HTTP/1.1 Accept: text/html
Example 1 - Response: Get all network information not formatted:
HTTP/1.1 200 OK Content-Type: application/json { "APPLIANCE": { "DNS": { "dns_primary": "8.8.8.8", "dns_secondary": "8.8.4.4", "dns_tertiary": null }, "GATEWAY": { "ipv4": { "gateway": "192.168.92.1", "interface": "eth0" } }, "eth0": { "data": { "ip_address": "192.168.92.2", "ipv4_config_source": "static", "ipv6_address": null, "ipv6_status": "disabled", "mac": "ca:87:3f:5d:68:00", "netmask": "255.255.254.0", "prefix": null }, "phys_interfaces": [ "C" ] } }, "WCG": { "DNS": { "dns_primary": "8.8.8.8", "dns_secondary": null, "dns_tertiary": "8.8.4.4" }, "GATEWAY": { "ipv4": { "gateway": "10.206.7.254", "interface": "eth1" }, "ipv6": { "gateway": "2017::0002", "interface": "eth0" } }, "eth0": { "data": { "interface_status": "up", "ip_address": null, "ipv4_config_source": "static", "ipv6_address": "2017::1235", "ipv6_status": "enabled", "mac": "00:50:56:a2:3f:4b", "netmask": null, "prefix": "64" }, "phys_interfaces": [ "P1" ] }, "eth1": { "data": { "interface_status": "up", "ip_address": "10.206.6.69", "ipv4_config_source": "static", "mac": "00:50:56:a2:76:22", "netmask": "255.255.252.0" }, "phys_interfaces": [ "P2" ] } } }
Example 2 - Request: Get all network information formatted:
GET /api/app/v1/net?format=true HTTP/1.1 Accept: text/html
Example 2 - Response: Get all network information formatted:
HTTP/1.1 200 OK Content-Type: application/json { "APP": { "C": { "data": { "ip_address": "10.206.6.69", "ipv4_config_source": "static", "ipv6_address": null, "ipv6_status": "disabled", "mac": "6a:de:4f:4f:be:42", "netmask": "255.255.252.0", "prefix": null, "virt_interface": "eth0" } }, "DNS": { "dns_primary": "10.51.80.10", "dns_secondary": "10.51.80.11", "dns_tertiary": null }, "GATEWAY": { "ipv4": { "gateway": "10.206.7.254", "interface": "C" } } }, "PROXY": { "DNS": { "dns_primary": null, "dns_secondary": null, "dns_tertiary": null }, "P1": { "data": { "mac": "be:b4:f1:2a:95:bd", "virt_interface": "eth0", "vlan_id": 123 } }, "P2": { "data": { "interface_status": "up", "mac": "d2:ee:e8:af:c3:ce", "virt_interface": "eth1" } } }, "WEB": { "DNS": { "dns_primary": null, "dns_secondary": null, "dns_tertiary": null } } }
Example 3 - Request: Get WCG network information not formatted:
GET /api/app/v1/net/wcg HTTP/1.1 Accept: text/html
Example 3 - Response: Get WCG network information not formatted:
HTTP/1.1 200 OK Content-Type: application/json { "WCG": { "DNS": { "dns_primary": "8.8.8.8", "dns_secondary": null, "dns_tertiary": "8.8.4.4" }, "GATEWAY": { "ipv4": { "gateway": "10.206.7.254", "interface": "eth1" }, "ipv6": { "gateway": "2017::0002", "interface": "eth0" } }, "eth0": { "data": { "interface_status": "up", "ip_address": null, "ipv4_config_source": "static", "ipv6_address": "2017::1235", "ipv6_status": "enabled", "mac": "00:50:56:a2:3f:4b", "netmask": null, "prefix": "64" }, "phys_interfaces": [ "P1" ] }, "eth1": { "data": { "interface_status": "up", "ip_address": "10.206.6.69", "ipv4_config_source": "static", "mac": "00:50:56:a2:76:22", "netmask": "255.255.252.0" }, "phys_interfaces": [ "P2" ] } } }
Example 4 - Request: Get WCG network information formatted:
GET /api/app/v1/net/wcg HTTP/1.1 Accept: text/html
Example 4 - Response: Get WCG network information formatted:
HTTP/1.1 200 OK Content-Type: application/json { "DNS": { "dns_primary": null, "dns_secondary": null, "dns_tertiary": null }, "P1": { "data": { "mac": "be:b4:f1:2a:95:bd", "virt_interface": "eth0", "vlan_id": 123 } }, "P2": { "data": { "interface_status": "up", "mac": "d2:ee:e8:af:c3:ce", "virt_interface": "eth1" } } }
Example 5 - Request: No information for module:
GET /api/app/v1/net/na HTTP/1.1 Accept: text/html
Example 5 - Response: No information for module:
HTTP/1.1 424 FAILED DEPENDENCY Content-Type: application/json { "Reason": "No network information on na", "Status": "Failure" }
-
PUT
/api/app/v1/net/
(module)/
(interface)/
(state)¶ Brings specified interface up or down. Can be used on any interface.
New in version 1.0.
Parameters: - module (required) – Module to set interface state on
- interface (required) – Interface to act upon (eth1)
- status (required) – (up, down)
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - DNS server successfully set
- 400 Bad Request – Bad Request
- 401 Unauthorized – Access Denied
- 409 Conflict – Conflict - Already in rquested state
- 500 Internal Server Error – Server Error - invalid module
Accepted Authorization: admin
Example 1 - Request: Bring down WCG eth1:
PUT /api/app/v1/net/wcg/eth1/down HTTP/1.1 Accept: text/html
Example 1 - Response: Disable WCG eth1:
HTTP/1.1 200 OK Content-Type: application/json { "Status": "Success" }
Example 2 - Request: Bringing up an already up interface/Bringing down an already down interface:
PUT /api/app/v1/net/wcg/eth1/up HTTP/1.1 Accept: text/html
Example 3 - Response: Invalid IP Address:
HTTP/1.1 409 CONFLICT Content-Type: application/json { "Reason": "Interface is already up", "Status": "Failure" }
-
DELETE
/api/app/v1/net/
(module)/
(interface)/ipv4
¶ Delete IPv4 network configuration.
New in version 1.0.
Parameters: - module (required) – Module to delete information on
- interface (required) – Inteface to delete the information on
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - IPv4 information successfully deleted
- 400 Bad Request – Bad Request - invalid interface
- 401 Unauthorized – Access Denied
- 500 Internal Server Error – Server Error - invalid module
Accepted Authorization: admin
Example 1 - Request: Delete WCG eth0 IPv4 information:
DELETE /api/app/v1/net/wcg/eth0/ipv4 HTTP/1.1 Accept: text/html
Example 1 - Response: Delete WCG eth0 IPv4 information:
HTTP/1.1 200 OK Content-Type: application/json { "Status": "Success" }
Example 2 - Request: No IPv4 address associated with interface:
DELETE /api/app/v1/net/wcg/eth0/ipv4 HTTP/1.1 Accept: text/html
Example 2 - Response: No IPv4 associated with interface:
HTTP/1.1 400 BAD REQUEST Content-Type: application/json { "Reason": "There is no IP address associated with this interface to delete." "Status": "Failure" }
Example 3 - Request: Invalid interface:
DELETE /api/app/v1/net/wcg/eth2/ipv4 HTTP/1.1 Accept: text/html
Example 3 - Response: Invalid interface:
HTTP/1.1 400 BAD REQUEST Content-Type: application/json { "Reason": "Invalid interface supplied" "Status": "Failure" }
-
PUT
/api/app/v1/net/
(module)/
(interface)/ipv4
¶
-
PUT
/api/app/v1/net/
(interface)/ipv4
¶ Sets IPv4 network configuration.
New in version 1.0.
Parameters: - module (optional) – Module to set information on. If omitted it will set on the appliance
Query Parameters: - ip_address (optional) – IPv4 address of the specified interface
- netmask (optional) – Netmask of the specified interface
- gateway (optional) – Gateway address of the specified interface
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - IPv4 information successfully set
- 400 Bad Request – Bad Request - incorrect parameters
- 401 Unauthorized – Access Denied
- 409 Conflict – Conflict - Duplicate IP
- 424 Failed Dependency – Failed Dependency - Parameter depends on others being pre-configured
- 500 Internal Server Error – Server Error - invalid module
Accepted Authorization: admin
Example 1 - Request: Set appliance eth0:
PUT /api/app/v1/net/eth0/ipv4?ip_address=192.168.0.3&netmask=255.255.252.0&gateway=192.168.0.1 HTTP/1.1 Accept: text/html
Example 1 - Response: Set appliance eth0:
HTTP/1.1 200 OK Content-Type: application/json { "Status": "Success" }
Example 2 - Request: Set module (esg) eth0:
PUT /api/app/v1/net/esg/eth0/ipv4?ip_address=192.168.0.3&netmask=255.255.252.0&gateway=192.168.0.1 HTTP/1.1 Accept: text/html
Example 2 - Response: Set module (esg) eth0:
HTTP/1.1 200 OK Content-Type: application/json { "Status": "Success" }
Example 3 - Request: Incorrect IPv4 address:
PUT /api/app/v1/net/eth0/ipv4?ip_address=192.168.0.300&netmask=255.255.252.0&gateway=192.168.0.1 HTTP/1.1 Accept: text/html
Example 3 - Response: Incorrect IPv4 address:
HTTP/1.1 400 BAD REQUEST Content-Type: application/json { "Reason": "Invalid IP address supplied" "Status": "Failure" }
-
DELETE
/api/app/v1/net/
(module)/
(interface)/ipv6
¶ Delete ipv6 network configuration.
New in version 1.0.
Parameters: - module (required) – Module to delete information on
- interface (required) – Inteface to delete the information on
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - IPv6 information successfully deleted
- 400 Bad Request – Bad Request - invalid interface
- 401 Unauthorized – Access Denied
- 500 Internal Server Error – Server Error - invalid module
Accepted Authorization: admin
Example 1 - Request: Delete WCG eth0 IPv6 information:
DELETE /api/app/v1/net/wcg/eth0/ipv6 HTTP/1.1 Accept: text/html
Example 1 - Response: Delete WCG eth0 IPv6 information:
HTTP/1.1 200 OK Content-Type: application/json { "Status": "Success" }
Example 2 - Request: No IPv6 address associated with interface:
DELETE /api/app/v1/net/wcg/eth0/ipv6 HTTP/1.1 Accept: text/html
Example 2 - Response: No IPv6 address associated with interface:
HTTP/1.1 400 BAD REQUEST Content-Type: application/json { "Reason": "There is no IP address associated with this interface to delete." "Status": "Failure" }
Example 3 - Request: Invalid interface:
DELETE /api/app/v1/net/wcg/eth2/ipv6 HTTP/1.1 Accept: text/html
Example 3 - Response: Invalid interface:
HTTP/1.1 400 BAD REQUEST Content-Type: application/json { "Reason": "Invalid interface supplied" "Status": "Failure" }
-
PUT
/api/app/v1/net/
(module)/
(interface)/ipv6
¶
-
PUT
/api/app/v1/net/
(interface)/ipv6
¶ Set IPv6 network configuration.
New in version 1.0.
Parameters: - module (optional) – Module to set information on. If omitted it will set on the appliance
- interface (optional) – Interface to set IPv6 on
Query Parameters: - ipv6_address (optional) – IPv6 address of the specified interface
- prefix (optional) – Prefix Length
- ipv6_gateway (optional) – IPv6 Gateway address of the specified interface
- ipv6_status (optional) – Status of IPv6. (enabled, disabled). Required if status is disabled, optional if status is enabled
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - IPv6 information successfully set
- 400 Bad Request – Bad Request - invalid parameters
- 401 Unauthorized – Access Denied
- 409 Conflict – Conflict - Duplicate IP
- 424 Failed Dependency – Failed Dependency - Parameter depends on others being pre-configured
- 500 Internal Server Error – Server Error - invalid module
Accepted Authorization: admin
Example 1 - Request: Set appliance eth0:
PUT /api/app/v1/net/eth0/ipv6?ipv6_address=2017::0001&ipv6_status=enabled&prefix=64&ipv6_gateway=2017::1234 HTTP/1.1 Accept: text/html
Example 1 - Response: Set appliance eth0:
HTTP/1.1 200 OK Content-Type: application/json { "Status": "Success" }
Example 2 - Request: Set module (wcg) eth0:
PUT /api/app/v1/net/wcg/eth0/ipv6?ipv6_address=2017::0001&ipv6_status=enabled&prefix=64&ipv6_gateway=2017::1234 HTTP/1.1 Accept: text/html
Example 2 - Response: Set module (wcg) eth0:
HTTP/1.1 200 OK Content-Type: application/json { "Status": "Success" }
Example 3 - Request: Incorrect IPv6 address:
PUT /api/app/v1/net/wcg/eth0/ipv6?ipv6_address=201G::0001&ipv6_status=enabled&prefix=64&ipv6_gateway=2017::1234 HTTP/1.1 Accept: text/html
Example 3 - Response: Set appliance eth0:
HTTP/1.1 400 BAD REQUEST Content-Type: application/json { "Reason": "Invalid IP address supplied" "Status": "Failure" }
-
DELETE
/api/app/v1/net/
(module)/
(interface)/vlan
¶
-
DELETE
/api/app/v1/net/
(interface)/vlan
¶ Remove VLAN configuration on an interface.
New in version 1.0.
Note
This feature is only available on a V-Series
Note
Changing the VLAN id on the C interface may affect your access to the API
Note
eth0 and eth1 are the P1/E1 and P2/E2 respectively, depending on module
Parameters: - interface (required) – Interface to set the vlan on
- module (optional) – Module to set the vlan on. If ommitted then set on appliance
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - show undedicated interfaces
- 400 Bad Request – Bad Request - no VLAN Configured, not available on this platform
- 401 Unauthorized – Access Denied
- 500 Internal Server Error – Server Error - invalid module
Accepted Authorization: admin
Example 1 - Request: Delete VLAN on WCG eth0 interface:
DELETE /api/app/v1/net/wcg/eth0/vlan HTTP/1.1 Accept: text/html
Example 1 - Response: Delete VLAN on WCG eth0 interface:
HTTP/1.1 200 OK Content-Type: application/json { "Status": "Success" }
Example 2 - Request: Delete VLAN on V-Series:
DELETE /api/app/v1/net/wcg/eth0/vlan HTTP/1.1 Accept: text/html
Example 2 - Response: Delete VLAN on V-Series:
HTTP/1.1 400 BAD REQUEST Content-Type: application/json { "Reason": "This feature is only available on X Series hardware.", "Status": "Failure" }
Example 3 - Request: Delete already configured vlan:
DELETE /api/app/v1/net/wcg/eth0/vlan HTTP/1.1 Accept: text/html
Example 3 - Response: Delete already configured vlan:
HTTP/1.1 400 BAD REQUEST Content-Type: application/json { "Reason": "No vlan configured", "Status": "Failure" }
-
PUT
/api/app/v1/net/
(module)/
(interface)/vlan
¶
-
PUT
/api/app/v1/net/
(interface)/vlan
¶ Configures VLAN settings
New in version 1.0.
Note
This feature is only available on a X-Series in 8.3, 8.4
Note
Changing the VLAN id on the C interface may affect your access to the API
Note
eth0 and eth1 are the P1/E1 and P2/E2 respectively, depending on module
Parameters: - interface (required) – Interface to set the vlan on
- module (optional) – Module to set the vlan on. If ommitted then set on appliance
Query Parameters: - vlan_id (required) – vlan id to set
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - show undedicated interfaces
- 401 Unauthorized – Access Denied
- 500 Internal Server Error – Server Error - invalid module
Accepted Authorization: admin
Example 1 - Request: Set VLAN on WCG eth0 interface:
PUT /api/app/v1/net/wcg/eth0/vlan?vlan_id=123 HTTP/1.1 Accept: text/html
Example 1 - Response: Set VLAN on WCG eth0 interface:
HTTP/1.1 200 OK Content-Type: application/json { "Status": "Success" }
Example 2 - Request: Set VLAN on V-Series:
PUT /api/app/v1/net/wcg/eth0/vlan?vlan_id=123 HTTP/1.1 Accept: text/html
Example 2 - Response: Set VLAN on V-Series:
HTTP/1.1 400 BAD REQUEST Content-Type: application/json { "Reason": "This feature is only available on X Series hardware.", "Status": "Failure" }
Example 3 - Request: Set invalid VLAN:
PUT /api/app/v1/net/wcg/eth0/vlan?vlan_id=123456 HTTP/1.1 Accept: text/html
Example 3 - Response: Set invalid VLAN:
HTTP/1.1 400 BAD REQUEST Content-Type: application/json { "Reason": "Invalid vlan id, must be between 2-4094", "Status": "Failure" }
-
DELETE
/api/app/v1/net/
(module)/
(phys_interface)¶ Removes the specified interface dedication from the specified module.
New in version 1.0.
Parameters: - module (required) – Module to remove the interface dedication from
- phys_interface (required) – Physical interface to remove dedication from
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - interface successfully undedicated
- 400 Bad Request – Bad Request
- 401 Unauthorized – Access Denied
- 422 Unprocessable Entity – Unprocessable entity - Inteface not attached to module or being used by dpm
- 500 Internal Server Error – Server Error - invalid module
Accepted Authorization: admin
Example 1 - Request: Detach E1 from WCG:
DELETE /api/app/v1/net/wcg/e1 HTTP/1.1 Accept: text/html
Example 1 - Response: Detach E1 from WCG:
HTTP/1.1 200 OK Content-Type: application/json { "Status": "Success" }
Example 2 - Request: Detach an nonattached interface from WCG:
DELETE /api/app/v1/net/wcg/e1 HTTP/1.1 Accept: text/html
Example 2 - Response: Detach an nonattached interface from WCG:
HTTP/1.1 422 UNPROCESSABLE ENTITY Content-Type: application/json { "Reason": "E1 is not dedicated to wcg.", "Status": "Failure" }
-
POST
/api/app/v1/net/
(module)/
(phys_interface)/
(virt_interface)¶
-
POST
/api/app/v1/net/
(module)/
(phys_interface)¶ Dedicates the specified interface to the specified module.
New in version 1.0.
Parameters: - module (required) – Module to dedicate the interface to
- phys_interface (required) – Physical interface to dedicate
- virt_interface (optional) – Virtual interface to attach the physical interface to
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - interface successfully dedicated
- 400 Bad Request – Bad Request - inteface not enabled
- 401 Unauthorized – Access Denied
- 422 Unprocessable Entity – Unprocessable entity - interface is not available
- 500 Internal Server Error – Server Error - invalid module
Accepted Authorization: admin
Example 1 - Request: Attach E1 to WCG:
POST /api/app/v1/net/wcg/e1 HTTP/1.1 Accept: text/html
Example 1 - Response: Attach E1 to WCG:
HTTP/1.1 200 OK Content-Type: application/json { "virt_interface": "wcg.aux0" }
Example 2 - Request: Attach E1 to WCG Aux1 interface:
POST /api/app/v1/net/wcg/e1/aux1 HTTP/1.1 Accept: text/html
Example 2 - Response: Attach E1 to WCG Aux1 interface:
HTTP/1.1 200 OK Content-Type: application/json { "virt_interface": "wcg.aux1" }
Example 3 - Request: Interface not available:
POST /api/app/v1/net/wcg/wcg.eth1 HTTP/1.1 Accept: text/html
Example 3 - Response: Interface not available:
HTTP/1.1 422 BAD UNPROCESSABLE ENTITY Content-Type: application/json { "Reason": "WCG.ETH0 interface is not available.", "Status": "Failure" }
-
GET
/api/app/v1/net/
(module)/dedicated
¶ Show the interfaces that are dedicated to the specified module.
New in version 1.0.
Parameters: - module (required) – Module to get the information on
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - list of dedicated interfaces
- 401 Unauthorized – Access Denied
- 424 Failed Dependency – Failed Dependency - No dedicated interface to show
- 500 Internal Server Error – Server Error
Accepted Authorization: admin, audit
Example 1 - Request: Get dedicated interfaces on WCG:
GET /api/app/v1/net/wcg/dedicated HTTP/1.1 Accept: text/html
Example 1 - Response: Get dedicated interfaces on WCG:
HTTP/1.1 200 OK Content-Type: application/json { "Result": { "wcg.aux1": "E1" } }
Example 2 - Request: No dedicated interfaces on WCG:
GET /api/app/v1/net/wcg/dedicated HTTP/1.1 Accept: text/html
Example 2 - Response: No dedicated interfaces on WCG:
HTTP/1.1 424 FAILED DEPENDENCY Content-Type: application/json { "Reason": "There are no mapped interfaces.", "Status": "Failure" }
-
PUT
/api/app/v1/net/
(module)/dns
¶
-
PUT
/api/app/v1/net/dns
¶ Set the primary, secondary, tertiary dns servers.
New in version 1.0.
Parameters: - module (required) – Module to set DNS on. If ommitted set on appliance
Query Parameters: - dns_primary (optional) – Primary DNS server
- dns_secondary (optional) – Secondary DNS server
- dns_tertiary (optional) – Tertiary DNS server
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - DNS server successfully set
- 400 Bad Request – Bad Request - invalid DNS servers
- 401 Unauthorized – Access Denied
- 424 Failed Dependency – Failed dependency - DPM must be disabled
- 500 Internal Server Error – Server Error - invalid module
Accepted Authorization: admin
Example 1 - Request: Set DNS server on appliance:
PUT /api/app/v1/net/dns?dns_primary=8.8.8.8&dns_secondary=8.8.4.4&dns_tertiary=8.8.2.2 HTTP/1.1 Accept: text/html
Example 1 - Response: Set DNS server on appliance:
HTTP/1.1 200 OK Content-Type: application/json { "Status": "Success" }
Example 2 - Request: Set DNS server on module:
PUT /api/app/v1/net/wcg/dns?dns_primary=8.8.8.8&dns_secondary=8.8.4.4&dns_tertiary=8.8.2.2 HTTP/1.1 Accept: text/html
Example 2 - Response: Set DNS server on module:
HTTP/1.1 200 OK Content-Type: application/json { "Status": "Success" }
Example 3 - Request: Invalid IP address:
PUT /api/app/v1/net/dns?dns_primary=8.8.8.500 HTTP/1.1 Accept: text/html
Example 3 - Response: Invalid IP address:
HTTP/1.1 400 BAD REQUEST Content-Type: application/json { "Reason": "Invalid IPv4 address supplied" "Status": "Failure" }
-
DELETE
/api/app/v1/net/
(module)/dns/
(dns_server)¶
-
DELETE
/api/app/v1/net/dns/
(dns_server)¶ Delete the primary, secondary, tertiary dns servers.
New in version 1.0.
Parameters: - module (required) – Module to delete DNS on. If ommitted delte on appliance
Query Parameters: - dns_server (optional) – DNS server to delete. Options(dns2, dns3)
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - DNS server successfully set
- 400 Bad Request – Bad Request - invalid parameters
- 401 Unauthorized – Access Denied
- 424 Failed Dependency – Failed dependency - DPM must be disabled, DNS is not configured
- 500 Internal Server Error – Server Error - invalid module
Accepted Authorization: admin
Example 1 - Request: Delete DNS server on appliance:
DELETE /api/app/v1/net/dns?dns_server=dns2 HTTP/1.1 Accept: text/html
Example 1 - Response: Delete DNS server on appliance:
HTTP/1.1 200 OK Content-Type: application/json { "Status": "Success" }
Example 2 - Request: Delete DNS server on module:
DELETE /api/app/v1/net/wcg/dns?dns_server=dns2 HTTP/1.1 Accept: text/html
Example 2 - Response: Delete DNS server on module:
HTTP/1.1 200 OK Content-Type: application/json { "Status": "Success" }
-
GET
/api/app/v1/net/
(module)/mac
¶
-
GET
/api/app/v1/net/mac
¶ Gets MAC addresses for interfaces in a specified module or appliance.
New in version 1.0.
Parameters: - module (optional) – Module of which to get the MAC address. If ommitted defaults to appliance
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - show MAC addresses
- 401 Unauthorized – Access Denied
- 500 Internal Server Error – Server Error - invalid module
Accepted Authorization: admin, audit
Example 1 - Request: Get WCG MAC address:
GET /api/app/v1/net/wcg/mac HTTP/1.1 Accept: text/html
Example 1 - Response: Get WCG MAC address:
HTTP/1.1 200 OK Content-Type: application/json { "aux0": "2e:7c:7f:3f:ce:be", "aux1": "42:e5:c4:7f:65:92", "eth0": "be:b4:f1:2a:95:bd", "eth1": "d2:ee:e8:af:c3:ce" }
-
GET
/api/app/v1/net/
(module)/port
¶
-
GET
/api/app/v1/net/port
¶ Get port information on a module or the appliance.
New in version 1.0.
Parameters: - module (optional) – Module to view port information. If ommitted it shows appliance information.
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - show port information
- 401 Unauthorized – Access Denied
- 500 Internal Server Error – Server Error - invalid module
Accepted Authorization: admin, audit
Example 1 - Request: Show all port information:
GET /api/app/v1/net/port HTTP/1.1 Accept: text/html
Example 1 - Response: Show all port information:
HTTP/1.1 200 OK Content-Type: application/json { "WCG": { "TCP": [ "8888" ] } }
Example 2 - Request: Show WCG port information:
GET /api/app/v1/net/wcg/port HTTP/1.1 Accept: text/html
Example 2 - Response: Show WCG port information:
HTTP/1.1 200 OK Content-Type: application/json { "PROXY": { "TCP": [ "8888" ] } }
-
DELETE
/api/app/v1/net/
(module)/port/
(protocol)/
(port_num)¶ Closes a UDP or TCP port for specified module.
New in version 1.0.
Parameters: - module (required) – Module to close the port on
- protocol (required) – Protocol of the port. Options (tcp, udp)
- port_num (required) – Port number
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - port successfully closed
- 401 Unauthorized – Access Denied
- 424 Failed Dependency – Failed Dependency - port has not been opened
Accepted Authorization: admin
Example 1 - Request: Close TCP Port 8888 on WCG:
DELETE /api/app/v1/net/wcg/port/tcp/8888 HTTP/1.1 Accept: text/html
Example 1 - Response: Close TCP Port 8888 on WCG:
HTTP/1.1 200 OK Content-Type: application/json { "Status": "Success" }
Example 2 - Request: Close a port that is already closed:
DELETE /api/app/v1/net/wcg/port/tcp/8888 HTTP/1.1 Accept: text/html
Example 2 - Response: Close a port that is already closed:
HTTP/1.1 424 FAILED DEPENDENCY Content-Type: application/json { "Reason": "Port has not been opened by user", "Status": "Failure" }
-
PUT
/api/app/v1/net/
(module)/port/
(protocol)/
(port_num)¶ Open a UDP or TCP port for specified module.
New in version 1.0.
Warning
This does no validation of currently open ports. If you forward 443 to a container it will break the API
Parameters: - module (required) – Module to open the port on
- protocol (required) – Protocol of the port. Options(tcp, udp)
- port_num (required) – Port number
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - port successfully opened
- 400 Bad Request – Bad Request - invalid parameters
- 401 Unauthorized – Access Denied
- 409 Conflict – Conflict - port already open
- 424 Failed Dependency – Failed dependency - DPM must be disabled
Accepted Authorization: admin
Example 1 - Request: Open TCP Port 8888 on WCG:
PUT /api/app/v1/net/wcg/port/tcp/8888 HTTP/1.1 Accept: text/html
Example 1 - Response: Open TCP Port 8888 on WCG:
HTTP/1.1 200 OK Content-Type: application/json { "Status": "Success" }
Example 2 - Request: Open a port that is already open:
PUT /api/app/v1/net/wcg/port/tcp/8888 HTTP/1.1 Accept: text/html
Example 2 - Response: Open a port that is already open:
HTTP/1.1 409 CONFLICT Content-Type: application/json { "Reason": "Port is already open", "Status": "Failure" }
-
POST
/api/app/v1/net/bond/
(p_interface)/
(e_interface)¶ Bonds interfaces together.
New in version 1.0.
Parameters: - p_interface (required) – P interface to bond. Options (p1, p2)
- e_interface (required) – E interface to bond. Options (e1, e2)
Query Parameters: - bond_mode (optional) – Bond mode for the interfaces. Options (active-backup, balance-rr)
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - interfaces successfully bonded
- 400 Bad Request – Bad Request - invalid interface, feature not available
- 401 Unauthorized – Access Denied
- 422 Unprocessable Entity – Conflict - interfaces already bonded
Accepted Authorization: admin
Example 1 - Request: Bond interfaces:
POST /api/app/v1/net/bond/p1/e1?bond_mode=active-backup HTTP/1.1 Accept: text/html
Example 1 - Response: Bond interfaces:
HTTP/1.1 200 OK Content-Type: application/json { "Status": "Success" }
-
DELETE
/api/app/v1/net/bond/
(p_interface)/
(e_interface)¶ Unbond interfaces.
New in version 1.0.
Parameters: - p_interface (required) – P interface to unbond. Options (p1, p2)
- e_interface (required) – E interface to unbond. Options (e1, e2)
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - interface successfully unbonded
- 400 Bad Request – Bad Request - feature not available
- 401 Unauthorized – Access Denied
- 424 Failed Dependency – Failed Dependency - interfaces not bonded
Accepted Authorization: admin
Example 1 - Request: Bond interfaces:
GET /api/app/v1/net/bond/p1/e1 HTTP/1.1 Accept: text/html
Example 1 - Response: Bond interfaces:
HTTP/1.1 200 OK Content-Type: application/json { "Status": "Success" }
-
GET
/api/app/v1/net/bond/exists
¶ Get the list of bonds that exist.
New in version 1.0.
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - list of existing bonds
- 401 Unauthorized – Access Denied
- 422 Unprocessable Entity – Bad Request - no bonds, feature not available
Accepted Authorization: admin, audit
Example 1 - Request: Get possible bonds:
GET /api/app/v1/net/bond/exists HTTP/1.1 Accept: text/html
Example 1 - Response: Get possible bonds:
HTTP/1.1 200 OK Content-Type: application/json { "bond_list": [ [ "P1", "E1" ], [ "P2", "E2" ] ] }
Example 2 - Request: No bonds exist:
GET /api/app/v1/net/bond/exists HTTP/1.1 Accept: text/html
Example 2 - Response: No bonds exist:
HTTP/1.1 422 FAILED DEPENDENCY Content-Type: application/json { "Reason": "There are no bonded interfaces.", "Status": "Failure" }
Example 3 - Request: Get current bonds on an appliance that doesn’t allow bonds:
GET /api/app/v1/net/wcg/dedicated HTTP/1.1 Accept: text/html
Example 3 - Response: Get current bonds on an applaince that doesn’t allow bonds:
HTTP/1.1 400 BAD REQUEST Content-Type: application/json { "Reason": "This feature is only available on V10K/V20K hardware.", "Status": "Failure" }
-
GET
/api/app/v1/net/bond/possible
¶ Get the list of possible bonds.
New in version 1.0.
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - list of possible bonds
- 400 Bad Request – Bad Request - no bonds, feature not available
- 401 Unauthorized – Access Denied
Accepted Authorization: admin, audit
Example 1 - Request: Get possible bonds:
GET /api/app/v1/net/bond/possible HTTP/1.1 Accept: text/html
Example 1 - Response: Get possible bonds:
HTTP/1.1 200 OK Content-Type: application/json { "bond_list": [ [ "P1", "E1" ], [ "P2", "E2" ] ] }
Example 2 - Request: Get possible bonds on an appliance that doesn’t allow bonds:
GET /api/app/v1/net/wcg/dedicated HTTP/1.1 Accept: text/html
Example 2 - Response: Get possible bonds on an applaince that doesn’t allow bonds:
HTTP/1.1 400 BAD REQUEST Content-Type: application/json { "Reason": "This feature is only available on V10K/V20K hardware.", "Status": "Failure" }
-
DELETE
/api/app/v1/net/dhcp/
(module)/
(interface)¶
-
DELETE
/api/app/v1/net/dhcp/
(interface)¶ Remove IPv4 address set with DHCP from interface
New in version 1.0.
Parameters: - interface (required) – The name of the interface within the host to uncongifure.
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - IPv4 information successfully removed
- 400 Bad Request – Bad Request - incorrect parameters
- 403 Forbidden – Access Denied
- 500 Internal Server Error – Server Error - Could not remove address set with DHCP
Accepted Authorization: admin
Example 1 - Request: Remove wcg eth0 IPv4 configuration:
DELETE /api/app/v1/net/dhcp/wcg/eth0 HTTP/1.1 Accept: text/html
Example 1 - Response: remove wcg eth0 IPv4 network configuration set with DHCP:
HTTP/1.1 200 OK Content-Type: application/json { "Status": "Success" }
-
PUT
/api/app/v1/net/dhcp/
(module)/
(interface)¶
-
PUT
/api/app/v1/net/dhcp/
(interface)¶ Enables interface’s IPv4 address to be set with DHCP
New in version 1.0.
Parameters: - interface (required) – The name of the interface within the host to congifure.
Query Parameters: - allow_gateway (optional) – Whether or not to attempt to dynamically configure the gateway on this interface.
- allow_dns (optional) – Whether or not to attempt to dynamically configure the DNS servers.
- allow_ntp (optional) – Whether or not to attempt to dynamically configure the NTP servers.
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - IPv4 information successfully set
- 400 Bad Request – Bad Request - incorrect parameters
- 403 Forbidden – Access Denied
- 500 Internal Server Error – Server Error - DHCP could not be used to configure the interface
Accepted Authorization: admin
Example 1 - Request: Set wcg eth0:
PUT /api/app/v1/net/dhcp/wcg/eth0?allow_gateway=True&allow_dns=True&allow_ntp=True HTTP/1.1 Accept: text/html
Example 1 - Response: Set wcg eth0:
HTTP/1.1 200 OK Content-Type: application/json { "Status": "Success" }
-
GET
/api/app/v1/net/dhcp/
(module)/
(interface)¶
-
GET
/api/app/v1/net/dhcp/
(interface)¶ Get the DHCP lease information for an interface
New in version 1.0.
Parameters: - interface (required) – The name of the interface within the host about which to get lease information .
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - DHCP lease information successfully returned
- 400 Bad Request – Bad Request - incorrect parameters
- 403 Forbidden – Access Denied
- 500 Internal Server Error – Server Error - Could not get DHCP lease information
Accepted Authorization: admin
Example 1 - Request: Get DHCP lease information for wcg eth0:
GET /api/app/v1/net/dhcp/wcg/eth0 HTTP/1.1 Accept: text/html
Example 1 - Response: Get DHCP lease information for wcg eth0:
HTTP/1.1 200 OK Content-Type: application/json { "dhcp-lease-time": "600", "dhcp-message-type": "5", "dhcp-server-identifier": "10.206.6.239", "domain-name": "dev.forcepoint.com", "domain-name-servers": "10.51.80.10,10.51.80.11,8.8.8.8", "expire": "2017/08/30 15:51:26 UTC", "fixed-address": "10.206.6.91", "interface": "eth0", "ntp-servers": "216.239.35.4", "rebind": "2017/08/30 15:50:11 UTC", "renew": "2017/08/30 15:45:25 UTC", "routers": "10.206.7.254", "subnet-mask": "255.255.252.0" }
-
PUT
/api/app/v1/net/dhcp/module_hooks
¶ Run module hooks that DHCP was unable to run onboot.
New in version 1.0.
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - ran module hooks successfully
Accepted Authorization: skey
**Example 1 - Request: Run module hooks that DHCP was unable to run onboot:
PUT /api/app/v1/net/dhcp/module_hooks HTTP/1.1 Accept: text/html
**Example 1 - Run module hooks that DHCP was unable to run onboot:
HTTP/1.1 200 OK Content-Type: application/json { "Status": "Success" }
-
DELETE
/api/app/v1/net/diagnostic_ports
¶ Close diagnostic ports
New in version 1.0.
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - diagnostic ports closed
- 401 Unauthorized – Access Denied
- 409 Conflict – Conflict - diagnostic ports already closed
Accepted Authorization: admin
Example 1 - Request: Close diagnostic ports:
DELETE /api/app/v1/net/diagnostic_ports HTTP/1.1 Accept: text/html
Example 1 - Response: Close diagnostic ports:
HTTP/1.1 200 OK Content-Type: application/json { "Status": "Success" }
Example 2 - Request: Close already closed diagnostic ports:
DELETE /api/app/v1/net/diagnostic_ports HTTP/1.1 Accept: text/html
Example 2 - Response: Close already closed diagnostic ports:
HTTP/1.1 409 CONFLICT Content-Type: application/json { "Reason": "Diagnostic ports are already disabled", "Status": "Failure" }
-
PUT
/api/app/v1/net/diagnostic_ports
¶ Open diagnostic ports.
New in version 1.0.
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - diagnostic ports open
- 401 Unauthorized – Access Denied
- 409 Conflict – Conflict - diagnostic ports already open
Accepted Authorization: admin
Example 1 - Request: Open diagnostic ports:
PUT /api/app/v1/net/diagnostic_ports HTTP/1.1 Accept: text/html
Example 1 - Response: Open diagnostic ports:
HTTP/1.1 200 OK Content-Type: application/json { "Status": "Success" }
Example 2 - Request: Open already opened diagnostic ports:
PUT /api/app/v1/net/diagnostic_ports HTTP/1.1 Accept: text/html
Example 2 - Response: Open already opened diagnostic ports:
HTTP/1.1 409 CONFLICT Content-Type: application/json { "Reason": "Diagnostic ports are already enabled", "Status": "Failure" }
-
GET
/api/app/v1/net/diagnostic_ports
¶ Show diagnostic ports status
New in version 1.0.
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - Diagnostic port status
- 401 Unauthorized – Access Denied
Accepted Authorization: admin, audit
Example 1 - Request: Get diagnostic ports status:
GET /api/app/v1/net/diagnostic_ports HTTP/1.1 Accept: text/html
Example 1 - Response: Get diagnostic ports status:
HTTP/1.1 200 OK Content-Type: application/json { "Status": "disabled" }
-
GET
/api/app/v1/net/info/
(interface)¶ Returns the speed and connection status of a physical NIC.
New in version 1.0.
Parameters: - interface (required) – Interface to retrieve info about
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - get interface status
- 400 Bad Request – Bad Request - invalid interface
- 401 Unauthorized – Access Denied
Accepted Authorization: admin, audit
Example 1 - Request: Get P1 interface status/speed:
GET /api/app/v1/net/info/p1 HTTP/1.1 Accept: text/html
Example 1 - Response: Get P1 interface status/speed:
HTTP/1.1 200 OK Content-Type: application/json { "isup": "True", "speed": "10000" }
Example 2 - Request: Get invalid interface status/speed:
GET /api/app/v1/net/info/p4 HTTP/1.1 Accept: text/html
Example 1 - Response: Get invalid interface status/speed:
HTTP/1.1 400 BAD REQUEST Content-Type: application/json { "Reason": "Invalid interface supplied.", "Status": "Failure" }
-
GET
/api/app/v1/net/interface
¶ Returns undedicated/free physical interfaces.
New in version 1.0.
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - show undedicated interfaces
- 401 Unauthorized – Access Denied
Accepted Authorization: admin, audit
Example 1 - Request: Get undedicated interfaces:
GET /api/app/v1/net/interface HTTP/1.1 Accept: text/html
Example 1 - Response: Get undedicated interfaces:
HTTP/1.1 200 OK Content-Type: application/json { "interfaces": [ "E2" ] }
-
GET
/api/app/v1/net/interface/physical/
(interface)¶ Translates a physical interface (ex: P1) to the virtual interface(s) equivalent (ex: wcg.eth0).
New in version 1.0.
Parameters: - interface (required) – Physical interface to translate
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - shows physical to virtual translation
- 400 Bad Request – Bad Request - invalid interface
- 401 Unauthorized – Access Denied
Accepted Authorization: admin, audit
Example 1 - Request: Translate P1 to virtual interface:
GET /api/app/v1/net/interface/physical/p1 HTTP/1.1 Accept: text/html
Example 1 - Response: Translate P1 to virtual interface:
HTTP/1.1 200 OK Content-Type: application/json { "virt_interfaces": [ "wcg.eth0" ] }
Example 2 - Request: Attempt to translate invalid interface:
GET /api/app/v1/net/interface/physical/p3 HTTP/1.1 Accept: text/html
Example 2 - Response: Attempt to translate invalid interface:
HTTP/1.1 400 BAD REQUEST Content-Type: application/json { "Reason": "This is not a valid interface.", "Status": "Failure" }
-
GET
/api/app/v1/net/interface/virtual/
(module)/
(interface)¶ Translates a virtual interface (ex: wcg.eth0) to the physical interface(s) equivalent (ex: P1).
New in version 1.0.
Parameters: - interface (required) – Virtual inteface to translate
- module (required) – Module the interface is attached to
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - show virtual to physical translation
- 400 Bad Request – Bad Request - invalid parameters
- 401 Unauthorized – Access Denied
- 424 Failed Dependency – Failed Dependency: No phys interfaces or none associated with module
Accepted Authorization: admin, audit
Example 1 - Request: Translate wcg eth0 to physical:
GET /api/app/v1/net/interface/virtual/wcg/eth0 HTTP/1.1 Accept: text/html
Example 1 - Response: Translate wcg eth0 to physical:
HTTP/1.1 200 OK Content-Type: application/json { "phys_interfaces": [ "P1" ] }
Example 2 - Request: Translate nonexistent interface to physical:
GET /api/app/v1/net/interface/virtual/wcg/eth2 HTTP/1.1 Accept: text/html
Example 2 - Response: Translate nonexistent interface to physical:
HTTP/1.1 424 FAILED DEPENDENCY Content-Type: application/json { "Reason": "There are no physical interfaces associated with module proxy", "Status": "Failure" }
-
GET
/api/app/v1/net/mgmt
¶ Returns the IP address for the management interface (C).
New in version 1.0.
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - show management interface ip
- 401 Unauthorized – Access Denied
Accepted Authorization: admin, audit
Example 1 - Request: Get management interface(C) IP:
GET /api/app/v1/net/mgmt HTTP/1.1 Accept: text/html
Example 1 - Response: Get management interface(C) IP:
HTTP/1.1 200 OK Content-Type: application/json { "ip": "10.206.6.67" }
-
GET
/api/app/v1/net/status/
(module)/
(interface)¶ Returns physical interface status (enabled or disabled).
New in version 1.0.
Parameters: - module (required) – Module that contains the interface
- interface (required) – Interface to check
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - get interface status
- 401 Unauthorized – Access Denied
- 500 Internal Server Error – Server Error - invalid module
Accepted Authorization: admin, audit
Example 1 - Request: Get interface status:
GET /api/app/v1/net/wcg/eth0 HTTP/1.1 Accept: text/html
Example 1 - Response: Get interface status:
HTTP/1.1 200 OK Content-Type: application/json { "status": "up" }
-
GET
/api/app/v1/net/virtual
¶ Gets the virtual interface mapping for the appliance.
New in version 1.0.
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - show virtual interface mappings
- 401 Unauthorized – Access Denied
Accepted Authorization: admin, audit
Example 1 - Request: Get virtual interface mapping V10K/V20K**:
GET /api/app/v1/net/virtual HTTP/1.1 Accept: text/html
Example 1 - Response: Get virtual interface mapping V10K/V20K**:
HTTP/1.1 200 OK Content-Type: application/json { "virt_interfaces": { "esg.eth0": "br-e1", "esg.eth1": "br-e2", "esg.internal": "br-mgmt", "eth0": "br-main", "na.eth0": "br-n", "na.internal": "br-mgmt", "wcg.eth0": "br-p1", "wcg.eth1": "br-p2", "wcg.internal": "br-mgmt", "wse.internal": "br-mgmt" } }
-
GET
/api/app/v1/net/vswitch/priority
¶ Retrieves Rapid Spanning Tree Protocol priority for the switch the physical interface is on.
New in version 1.0.
Note
This is only available on the X Series
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - get RSTP priority
- 401 Unauthorized – Access Denied
Accepted Authorization: admin, audit
Example 1 - Request: Get RSTP priority:
GET /api/app/v1/net/vswitch/priority HTTP/1.1 Accept: text/html
Example 1 - Response: Get RSTP priority:
HTTP/1.1 200 OK Content-Type: application/json { "rstp_priority": "61440" }
-
PUT
/api/app/v1/net/vswitch/priority/
(priority)¶ Sets Rapid Spanning Tree Protocol priority.
New in version 1.0.
Note
This is only available on the X Series
Note
The default for the appliance is the lowest priority, 61440
Parameters: - priority (required) – RSTP priority of the bridge. Must be between 0 and 61440, and a multiple of 4096
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - set RSTP priority
- 401 Unauthorized – Access Denied
Accepted Authorization: admin
Example 1 - Request: Set RSTP priority:
PUT /api/app/v1/net/vswitch/priority/57344 HTTP/1.1 Accept: text/html
Example 1 - Response: Set RSTP priority:
HTTP/1.1 200 OK Content-Type: application/json { "Status": "Success" }
-
GET
/api/app/v1/net/vswitch/status
¶ Retrieves Rapid Spanning Tree Protocol status.
New in version 1.0.
Note
This is only available on the X Series
Response Headers: - Content-Type – application/json
Status Codes: - 200 OK – Success - get RSTP status
- 401 Unauthorized – Access Denied
Accepted Authorization: admin, audit
Example 1 - Request: Get RSTP status:
GET /api/app/v1/net/vswitch/status HTTP/1.1 Accept: text/html
Example 1 - Response: Get RSTP status:
HTTP/1.1 200 OK Content-Type: application/json { "P1": { "state": "active" }, "P2": { "state": "standby" } }