add rest api for network and monitoring
[osm/vim-emu.git] / src / emuvim / cli / son_emu_cli.py
1 #!/usr/bin/python
2 """
3 Simple CLI client to interact with a running emulator.
4
5 (c) 2016 by Manuel Peuster <manuel.peuster@upb.de>
6
7 The CLI offers different tools, e.g., compute, network, ...
8 Each of these tools is implemented as an independent Python
9 module.
10
11 cli compute start dc1 my_name flavor_a
12 cli network create dc1 11.0.0.0/24
13 """
14
15 import sys
16
17 from emuvim.cli import compute
18 from emuvim.cli import datacenter
19 from emuvim.cli import monitor
20 from emuvim.cli import network
21 from emuvim.cli.rest import compute as restcom
22 from emuvim.cli.rest import datacenter as restdc
23 from emuvim.cli.rest import monitor as restmon
24 from emuvim.cli.rest import network as restnetw
25
26
27 def main():
28 if len(sys.argv) < 2:
29 print("Usage: son-emu-cli <toolname> <arguments>")
30 exit(0)
31 if sys.argv[1] == "compute-zapi":
32 compute.main(sys.argv[2:])
33 elif sys.argv[1] == "network-zapi":
34 network.main(sys.argv[2:])
35 elif sys.argv[1] == "datacenter-zapi":
36 datacenter.main(sys.argv[2:])
37 elif sys.argv[1] == "monitor-zapi":
38 monitor.main(sys.argv[2:])
39 elif sys.argv[1] == "monitor":
40 restmon.main(sys.argv[2:])
41 elif sys.argv[1] == "network":
42 restnetw.main(sys.argv[2:])
43 elif sys.argv[1] == "compute":
44 restcom.main(sys.argv[2:])
45 elif sys.argv[1] == "datacenter":
46 restdc.main(sys.argv[2:])
47
48
49 if __name__ == '__main__':
50 main()