blob: dc3e73a1f56406ad8344ae70fe0945966461e256 [file] [log] [blame]
peusterm58310762016-01-12 17:09:20 +01001#!/usr/bin/python
2"""
3 Simple CLI client to interact with a running emulator.
4
peusterm2ec74e12016-01-13 11:17:53 +01005 (c) 2016 by Manuel Peuster <manuel.peuster@upb.de>
6
peusterm58310762016-01-12 17:09:20 +01007 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
15import sys
hadik3r558504a2016-06-27 17:59:04 +020016
cgeoffroy9524ad32016-03-03 18:24:15 +010017from emuvim.cli import compute
cgeoffroy9524ad32016-03-03 18:24:15 +010018from emuvim.cli import datacenter
19from emuvim.cli import monitor
hadik3r558504a2016-06-27 17:59:04 +020020from emuvim.cli import network
21from emuvim.cli.rest import compute as restcom
22from emuvim.cli.rest import datacenter as restdc
23
24
peusterm58310762016-01-12 17:09:20 +010025
26def main():
27 if len(sys.argv) < 2:
stevenvanrossembb084ef2016-05-20 09:27:01 +020028 print("Usage: son-emu-cli <toolname> <arguments>")
peusterm58310762016-01-12 17:09:20 +010029 exit(0)
hadik3r558504a2016-06-27 17:59:04 +020030 if sys.argv[1] == "compute-zapi":
peusterm58310762016-01-12 17:09:20 +010031 compute.main(sys.argv[2:])
hadik3r525c1642016-06-27 18:55:53 +020032 elif sys.argv[1] == "network":
peusterm58310762016-01-12 17:09:20 +010033 network.main(sys.argv[2:])
hadik3r558504a2016-06-27 17:59:04 +020034 elif sys.argv[1] == "datacenter-zapi":
peustermd313dc12016-02-04 15:36:02 +010035 datacenter.main(sys.argv[2:])
hadik3r525c1642016-06-27 18:55:53 +020036 elif sys.argv[1] == "monitor":
stevenvanrossemc5a536a2016-02-16 14:52:39 +010037 monitor.main(sys.argv[2:])
hadik3r558504a2016-06-27 17:59:04 +020038 elif sys.argv[1] == "compute":
39 restcom.main(sys.argv[2:])
40 elif sys.argv[1] == "datacenter":
41 restdc.main(sys.argv[2:])
42
peusterm58310762016-01-12 17:09:20 +010043
44if __name__ == '__main__':
45 main()