blob: 4e5d4f627adc83f1f12db2e03bf310445cf09788 [file] [log] [blame]
Ray Milkey4ff514c2015-09-01 09:02:03 -07001#! /usr/bin/env python
2
3import requests
4
5from requests.auth import HTTPBasicAuth
6import sys
7
8
9
10if len(sys.argv) != 7:
11 print "usage: create-intent onos-node name ingressDevice ingressPort egressDevice egressPort"
12 sys.exit(1)
13
14node = sys.argv[1]
15name = sys.argv[2]
16ingress = sys.argv[3]
17ingressPort = sys.argv[4]
18egress = sys.argv[5]
19egressPort = sys.argv[6]
20
21intentJsonTemplate = \
22 '{{' + \
23 '"type": "PointToPointIntent",' + \
24 '"appId": "org.onosproject.cli",' + \
25 '"ingressPoint": {{' + \
26 ' "device": "{}",' + \
27 ' "port": "{}"' + \
28 '}},' + \
29 '"egressPoint": {{' + \
30 ' "device": "{}",' + \
31 ' "port": "{}"' + \
32 '}}' + \
33 '}}'
34
35intentJson = intentJsonTemplate.format(ingress, ingressPort, egress, egressPort)
36intentRequest = requests.post('http://' + node + ':8181/onos/v1/intents/',
37 auth=HTTPBasicAuth('onos', 'rocks'),
38 data=intentJson)
39
40if intentRequest.status_code != 201:
41 print intentRequest.text
42 sys.exit(1)
43
44location = intentRequest.headers["location"]
45print "@stc " + name + "Location=" + location
46sys.exit(0)
47
48
49