net.network

Summary

Resource

Operation

Description

Network

GET /api/app/v1/net/(module)

Get network information

GET /api/app/v1/net

PUT /api/app/v1/net/(module)/(interface)/(state)

Set interface state

DELETE /api/app/v1/net/(module)/(interface)/ipv4

Delete IPv4 network configuration

PUT /api/app/v1/net/(module)/(interface)/ipv4

Set IPv4 network configuration

PUT /api/app/v1/net/(interface)/ipv4

DELETE /api/app/v1/net/(module)/(interface)/ipv6

Delete IPv6 network configuration

PUT /api/app/v1/net/(module)/(interface)/ipv6

Set IPv6 network configuration

PUT /api/app/v1/net/(interface)/ipv6

DELETE /api/app/v1/net/(module)/(interface)/vlan

Remove VLAN

DELETE /api/app/v1/net/(interface)/vlan

PUT /api/app/v1/net/(module)/(interface)/vlan

Set VLAN on an interface

PUT /api/app/v1/net/(interface)/vlan

DELETE /api/app/v1/net/(module)/(phys_interface)

Remove interface dedication

POST /api/app/v1/net/(module)/(phys_interface)/(virt_interface)

Dedicate interface

POST /api/app/v1/net/(module)/(phys_interface)

GET /api/app/v1/net/(module)/dedicated

Show dedicated interfaces

PUT /api/app/v1/net/(module)/dns

Set DNS servers

PUT /api/app/v1/net/dns

DELETE /api/app/v1/net/(module)/dns/(dns_server)

Delete DNS servers

DELETE /api/app/v1/net/dns/(dns_server)

GET /api/app/v1/net/(module)/mac

Get MAC address

GET /api/app/v1/net/mac

GET /api/app/v1/net/(module)/port

Get port information

GET /api/app/v1/net/port

DELETE /api/app/v1/net/(module)/port/(protocol)/(port_num)

Close port

PUT /api/app/v1/net/(module)/port/(protocol)/(port_num)

Open Port

POST /api/app/v1/net/bond/(p_interface)/(e_interface)

Bond interfaces

DELETE /api/app/v1/net/bond/(p_interface)/(e_interface)

Unbond interfaces

GET /api/app/v1/net/bond/exists

Get current bonds

GET /api/app/v1/net/bond/possible

Get possible bonds

PUT /api/app/v1/net/change_gateway/(module)/(interface)

Switch the gateway to another module interface if it is on the same subnet

DELETE /api/app/v1/net/dhcp/(module)/(interface)

Remove IPv4 network configuration set with DHCP

DELETE /api/app/v1/net/dhcp/(interface)

PUT /api/app/v1/net/dhcp/(module)/(interface)

Set IPv4 network configuration using DHCP

PUT /api/app/v1/net/dhcp/(interface)

GET /api/app/v1/net/dhcp/(module)/(interface)

Get DHCP lease information for an interface

GET /api/app/v1/net/dhcp/(interface)

PUT /api/app/v1/net/dhcp/module_hooks

Run module hooks due to DHCP changes onboot

DELETE /api/app/v1/net/diagnostic_ports

Close diagnostic ports

PUT /api/app/v1/net/diagnostic_ports

Open diagnostic ports

GET /api/app/v1/net/diagnostic_ports

Show diagnostic ports status

GET /api/app/v1/net/info/(interface)

Get interface speed/status

GET /api/app/v1/net/interface

Get undedicated interfaces

GET /api/app/v1/net/interface/physical/(interface)

Translate physical to virtual interface

GET /api/app/v1/net/interface/virtual/(module)/(interface)

Translate virtual to physical interface

GET /api/app/v1/net/is_valid_gateway/(module)/(interface)

Check if gateway is valid for the other module interface

GET /api/app/v1/net/mgmt

Get management inteface ip

GET /api/app/v1/net/status/(module)/(interface)

Get interface status

GET /api/app/v1/net/virtual

Get virtual interface mapping

GET /api/app/v1/net/vswitch/priority

Get RSTP priority

PUT /api/app/v1/net/vswitch/priority/(priority)

Set RSTP priority

GET /api/app/v1/net/vswitch/status

Get RSTP status

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:
Status Codes:
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:
Status Codes:
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:
Status Codes:
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:
Status Codes:
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:
Status Codes:
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:
Status Codes:
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 X Series Appliances

Note

Changing the VLAN id on the C interface may affect your access to the API

Note

eth0 and eth1 are the P1 and P2 interfaces respectively

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:
Status Codes:
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 X Series Appliances

Note

Changing the VLAN id on the C interface may affect your access to the API

Note

eth0 and eth1 are the P1 and P2 interfaces respectively

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:
Status Codes:
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:
Status Codes:
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:
Status Codes:
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:
Status Codes:
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:
Status Codes:
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:
Status Codes:
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:
Status Codes:
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:
Status Codes:
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:
Status Codes:
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:
Status Codes:
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:
Status Codes:
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:
Status Codes:
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:
Status Codes:
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:
Status Codes:
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"
}
PUT /api/app/v1/net/change_gateway/(module)/(interface)

Change the default gateway on a given module to the specified interface

New in version 1.0.

Parameters:
  • module (required) – Module of the gateway we are changing

  • interface (required) – Interface to switch the gateway to

Response Headers:
Status Codes:
Accepted Authorization:

admin

Example 1 - Request: Check if current gateway in wcg module is valid for eth0:

PUT /api/app/v1/net/change_gateway/wcg/eth0 HTTP/1.1
Accept: text/html

Example 1 - Response: Change the gateway on wcg module to eth0:

HTTP/1.1 200 OK
Content-Type: application/json

{
  "Status": "Success"
}

Example 2 - Request: No IPv4 address associated with the eth1 interface:

PUT /api/app/v1/net/change_gateway/wcg/eth1 HTTP/1.1
Accept: text/html

Example 2 - Response: No IPv4 associated with the other interface:

HTTP/1.1 400 BAD REQUEST
Content-Type: application/json

{
  "Reason": "Error retrieving interface eth1 configuration. Is the interface configured?"
  "Status": "Failure"
}

Example 3 - Request: Interface eth1 not in same subnet as gateway:

PUT /api/app/v1/net/is_valid_gateway/wcg/eth1 HTTP/1.1
Accept: text/html

Example 3 - Response: Gateway not in same subnet as interface:

HTTP/1.1 400 BAD REQUEST
Content-Type: application/json

{
  "Reason": "Changing gateway will cause loss of connectivity"
  "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:
Status Codes:
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:
Status Codes:
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:
Status Codes:
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:
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:
Status Codes:
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:
Status Codes:
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:
Status Codes:
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:
Status Codes:
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:
Status Codes:
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:
Status Codes:
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:
Status Codes:
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/is_valid_gateway/(module)/(interface)

Check if the gateway is valid for the other module interface

New in version 1.0.

Parameters:
  • module (required) – Module of the gateway we are checking

  • interface (required) – Current interface that the gateway is on

Response Headers:
Status Codes:
Accepted Authorization:

admin

Example 1 - Request: Check if gateway currently assigned to eth0 is valid for eth1:

GET /api/app/v1/net/is_valid_gateway/wcg/eth0 HTTP/1.1
Accept: text/html

Example 1 - Response: Check if gateway currently assigned to wcg module is valid for eth0:

HTTP/1.1 200 OK
Content-Type: application/json

{
  "Status": "Success"
}

Example 2 - Request: No IPv4 address associated with the interface:

GET /api/app/v1/net/is_valid_gateway/wcg/eth1 HTTP/1.1
Accept: text/html

Example 2 - Response: No IPv4 associated with the interface:

HTTP/1.1 400 BAD REQUEST
Content-Type: application/json

{
  "Reason": "Error retrieving interface configuration."
  "Status": "Failure"
}
GET /api/app/v1/net/mgmt

Returns the IP address for the management interface (C).

New in version 1.0.

Response Headers:
Status Codes:
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:
Status Codes:
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:
Status Codes:
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:
Status Codes:
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:
Status Codes:
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:
Status Codes:
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"
  }
}