EdgeView allows users to use its APIs, allowing for easy third party application integration. The following APIs are available for use:
- Collection: For accessing collections.
- Device: For accessing device information.
- Policy: For accessing a specific policy.
- Report: For accessing the Report API.
This section describes how to use EdgeView APIs.
Use EdgeView APIs
To use an EdgeView API, perform the following steps:
From the EdgeView menu bar, click the Menu icon on the top-right corner and select Edit Profile. The User Profile page appears.
Go to the Access Token tab and create an access token. For more information on managing access tokens, see Manage EdgeView Access Tokens.
Use the generated token in REST API calls as a bearer token for authorization. To test this, click the Menu icon on the top-right corner and select References > EdgeView API.
You are taken to the updated EdgeView API documentation.
You can try out any of the APIs listed here, by selecting the desired API and entering the required information along with the access token. For more information on how to try out the available APIs, refer to Use EdgeView Access Tokens.
To access a printable version of the EdgeView API documentation, execute the following command in EdgeView installation scc-build directory:
docker cp evapi:/usr/local/tomcat/webapps/evapi/WEB-INF/classes/index.html.
This command results in an index HTML file with the printable version of EdgeView API documentation in it.
EdgeView API Mapping to EdgeMarc Configuration Parameters
The following table lists the EdgeView API inputs and their corresponding EdgeMarc configuration parameters:
EdgeView APIs and EdgeMarc Configuration Parameters
EV-API device/{deviceId}/property | EdgeMarc Configuration File/Parameter |
---|---|
network:wan:dns_manual:enable | /etc/config/intf.conf PRI_DNS_MANUAL |
network:wan:secondary:dns_manual:enable | /etc/config/intf.conf SEC_DNS_MANUAL |
sip:multihomed_proxy:enable | /etc/config/alg_defs.conf SIP_MULTIHOME |
sip:server_redundancy:enable | /etc/config/local_defs.conf AVAILABILITY |
device:expiration:override:enable | /etc/config/alg_defs.conf SIP_EXP_ENABLE |
management:ssh:wan:enable | /etc/config/fw_defs.conf ENABLE_SSH |
sip:keep_alive_messages:enable | /etc/config/local_defs.conf ACTIVE_MONITOR |
sip:transparent_proxy:enable | /etc/config/alg_defs.conf SIP_TRANSPARENT |
sip:b2bua_pass_useragent:enable | /etc/config/alg_defs.conf SIP_B2BUA_PASS_USERAGENT_HDR |
sip:monitor_messages:enable | /etc/config/local_defs.conf SIP_MSG_MONITOR |
management:remote_syslog:enable | /etc/config/snmpd_defs.conf REMOTE_SYSLOG_ENABLE |
management:gui:wan:http:enable | /etc/config/fw_defs.conf ENABLE_HTTP |
management:gui:wan:https:enable | /etc/config/fw_defs.conf ENABLE_HTTPS |
management:system_monitor:enable | /etc/config/system.conf MONIT_ENABLED |
management:analytics:enable | /etc/config/analytics.conf ENABLE_ANALYTICS |
sip:sip_statistics:enable | /etc/config/analytics.conf SIP_STATS_ENABLE |
management:snmp:wan:enable | /etc/config/fw_defs.conf ENABLE_SNMP |
management:snmp:v1:enable | /etc/config/snmpd_defs.conf SNMP_ENABLE |
network:ntp:server:enable | /etc/config/time_defs.conf ENABLE_SNTP |
network:dhcpd:enable | /etc/config/dhcpd_defs_lan.conf ENABLE_DHCP |
sip:mos_scoring:enable | /etc/config/snmpd_defs.conf ENABLE_MOS |
sip:custom_domain:enable | /etc/config/alg_defs.conf SIP_USE_DOMAIN |
management:collectd:enable | /etc/config/collectd_defs.conf COLLECTD_ENABLE |
network:wan:secondary:default_gateway | /etc/config/intf.conf SEC_GATEWAY_IP |
network:wan:secondary:v6:default_gateway | /etc/config/intf.conf SEC_GATEWAY_IP6 |
network:wan:dns_primary | /etc/config/intf.conf PRI_DNS_IP_1 |
network:wan:dns_secondary | /etc/config/intf.conf PRI_DNS_IP_2 |
network:wan:secondary:dns_primary | /etc/config/intf.conf SEC_DNS_IP_1 |
network:wan:secondary:dns_secondary | /etc/config/intf.conf SEC_DNS_IP_2 |
sip:default_server:host | /etc/config/alg_defs.conf SIP_CALLAGENT_IP |
sip:default_server:port | /etc/config/alg_defs.conf SIP_PORT |
sip:transport:type | /etc/config/alg_defs.conf SIP_SERVER_TRANSPORT |
sip:custom_domain:server_domain | /etc/config/local_defs.conf SIP_PROXY_DOMAIN |
sip:udp:alg_ports | /etc/config/alg_defs.conf SIP_UDP_INB_PORTS |
sip:message_rate:pacing_behavior | /etc/config/alg_defs.conf SIP_THROTTLE_MODE |
sip:message_rate:pacing_interval | /etc/config/alg_defs.conf SIP_THROTTLE |
management:analytics:timeout | /etc/config/analytics.conf DISABLE_ANALYTICS_TIMEOUT |
device:expiration:override:value | /etc/config/alg_defs.conf SIP_EXPIRES |
management:snmp:v1:ro_community | /etc/config/snmpd_defs.conf SNMP_RO_COMM |
management:snmp:v1:host | /etc/config/snmpd_defs.conf SNMP_TRAPAGENTIP |
network:ntp:server:host | /etc/config/time_defs.conf SNTP_SERVER_ADDR |
network:dhcpd:range | /etc/config/dhcpd_defs_lan.conf DHCP_RANGE_1 |
network:dhcpd:ntp_server_address | /etc/config/dhcpd_defs_lan.conf OPTION_42 |
management:autoconfig:auto_cfg_type | /etc/config/auto_cfg.conf AUTO_CFG_TYPE |
sip:mos_scoring:value | /etc/config/snmpd_defs.conf MOS_THRESHOLD |
network:dhcpd:ftp_server_address | /etc/config/dhcpd_defs_lan.conf OPTION_66_QUOTED |
management:remote_syslog:hosts | /etc/config/snmpd_defs.conf REMOTE_SYSLOG_HOSTS |
management:autoconfig:ztp:server_list | /etc/config/auto_cfg.conf ZTP_SERVER_LIST |
management:autoconfig:broadworks:dm_url | /etc/config/auto_cfg.conf DM_URL |
management:autoconfig:broadworks:dm_wget_options | /etc/config/auto_cfg.conf DM_WGET_OPTIONS |
REST Proxy API
The following API is added to EV-API to call an SBC Edge 11.0 REST API via the REST Proxy:
Modified: for 16.2.2
Method | Endpoint | Description | Required Role(s)/Permission(s) |
---|---|---|---|
GET, POST, PUT, DELETE | /evapi/v1/proxy/node/{deviceId}/<SBC Edge REST API> | proxy: an SBC Edge REST API {deviceld}: the mac address of the device | tenantadmin/ztp |
The following example shows the usage of the SBC Edge REST API:
// For example, to perform system backup of a SBC Edge instance curl -k -o backup.tar -H "Authorization: Bearer <EV-API token> " "https://<EdgeVieww ipaddress>/evapi/v1/proxy/node/<macaddr (1k/2k0 or management ID (SBC Edge CNE>/rest/system?action=backup" --header 'Content-Type: application/x-www-form-urlencoded' -d "Passphrase=dummy" //get the list of alarms curl -k -H "Authorization: Bearer 03581470-2674-4a6d-939a-6b8f3ae011dd" --request GET 'https://10.10.94.70/evapi/v1/proxy/node/54:39:68:a0:00:00:02:c1/rest/activealarm' // get alarm details curl -k -H "Authorization: Bearer 03581470-2674-4a6d-939a-6b8f3ae011dd" --request GET --url 'https://10.10.94.70/evapi/v1/proxy/node/54:39:68:a0:00:00:02:c1/rest/activealarm/35' // ack an alarm // ** NOTE the data part -d "smoethext=somethext" is required as discovered by Kim during our initial testing of the rest api.It throws an error if this -d "dummy data" is absent. curl -k -H "Authorization: Bearer 03581470-2674-4a6d-939a-6b8f3ae011dd" --request POST --url 'https://10.10.94.70/evapi/v1/proxy/node/54:39:68:a0:00:00:02:c1/rest/activealarm/35?action=ack' -d "Passphdddadfasdfadfarase=dumadfadsfasdfmy" // when evuser is not a tenantadmin or ztp user: curl -k -H "Authorization: Bearer 34a05ccf-9657-414c-91f3-5886613dd2bc" --request GET --url 'https://10.10.94.70/evapi/v1/proxy/node/54:39:68:a0:00:00:02:c1/rest/activealarm/35' {"request":"http://10.10.94.70/evapi/v1/proxy/node/54:39:68:a0:00:00:02:c1/rest/activealarm/35", "message":"Field = FORBIDDEN, ErrorMessage = User is not authorized to perform proxy calls."}