Traffic Groups Using The API

From Observer GigaFlow Support | VIAVI Solutions Inc.
Jump to: navigation, search

It is possible to provision and remove Traffic Groups from the GigaFlow server via the rest API using the following requests.

Add a new TrafficGroup called "Office_2" with no description, a starting IP of 172.21.40.101 and an ending IP of "172.21.40.254"; it will also set the group to only accept flows from the 3 listed devices:

{"type":"addtrafficgroup","groups":[{"name":"Office 7_2","description":"","startip":"172.21.40.101","endip":"172.21.40.254","natted":false,"devices":["172.21.40.254","83.70.199.180","172.21.40.199"]}]}

If you do not want to assign any devices, you can skip that parameter completely:

{"type":"addtrafficgroup","groups":[{"name":"Office 7_2","description":"","startip":"172.21.40.101","endip":"172.21.40.254","natted":false}]}

You can also add using subnet mask or bit length:

{"type":"addtrafficgroup","groups":[{"name":"Office 7_2","description":"","subnet":"172.21.40.0/24","natted":false}]}
{"type":"addtrafficgroup","groups":[{"name":"Office 7_2","description":"","subnet":"172.21.40.0/255.255.255.0","natted":false}]}

If a traffic group already exists, you can only add devices to it; you can't make any other changes. If you need to change a traffic group, remove and then re-add it with the correct settings.

To remove a traffic group, use the following request (which will delete the 2 listed groups)

{"type":"removetrafficgroup","groups":["test1","test2"]}

Further examples:

curl -H "Content-Type: application/json" -X POST -d '{"type":"addtrafficgroup","groups":[{"name":"Office 7_2","description":"","startip":"172.21.40.101","endip":"172.21.40.254","natted":false}]}' "http://172.21.21.21:7902/rest/?userName=admin&userPass=admin"
curl -H "Content-Type: application/json" -X POST -d '{"type":"addtrafficgroup","groups":[{"name":"Office 7_3","description":"","subnet":"172.21.41.101/255.255.255.0","natted":false}]}' "http://172.21.21.21:7902/rest/?userName=admin&userPass=admin"
curl -H "Content-Type: application/json" -X POST -d '{"type":"addtrafficgroup","groups":[{"name":"Office 7_4","description":"","subnet":"172.21.41.101/24","natted":false}]}' "http://172.21.21.21:7902/rest/?userName=admin&userPass=admin"
curl -H "Content-Type: application/json" -X POST -d '{"type":"addtrafficgroup","groups":[{"name":"test1","description":"","startip":"1.1.1.1","endip":"1.1.1.2","devices":["1.1.1.254","1.1.1.253"]},{"name":"test2","description":"test2 desc","startip":"1.1.1.4","endip":"1.1.1.5","natted":false}]}' "http://172.21.21.21:7902/rest/?userName=admin&userPass=admin"
curl -H "Content-Type: application/json" -X POST -d '{"type":"removetrafficgroup","groups":["test1"]}' "http://172.21.21.21:7902/rest/?userName=admin&userPass=admin"
curl -H "Content-Type: application/json" -X POST -d '{"type":"removetrafficgroup","groups":["test1","test2"]}' "http://172.21.21.21:7902/rest/?userName=admin&userPass=admin"

Query traffic groups:

curl -H "Content-Type: application/json" -X POST -d '{"type":"trafficgroupconfiguration"}' "http://172.21.21.21:7902/rest/?userName=admin&userPass=admin"