blob: 5c0ae72786b934961e68a097dd1cef3e6c2162df [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
stevenvanrossem73efd192016-06-29 01:44:07 +020023from emuvim.cli.rest import monitor as restmon
24from emuvim.cli.rest import network as restnetw
hadik3r558504a2016-06-27 17:59:04 +020025
peusterm58310762016-01-12 17:09:20 +010026
27def main():
28 if len(sys.argv) < 2:
stevenvanrossembb084ef2016-05-20 09:27:01 +020029 print("Usage: son-emu-cli <toolname> <arguments>")
peusterm58310762016-01-12 17:09:20 +010030 exit(0)
hadik3r558504a2016-06-27 17:59:04 +020031 if sys.argv[1] == "compute-zapi":
peusterm58310762016-01-12 17:09:20 +010032 compute.main(sys.argv[2:])
stevenvanrossem73efd192016-06-29 01:44:07 +020033 elif sys.argv[1] == "network-zapi":
peusterm58310762016-01-12 17:09:20 +010034 network.main(sys.argv[2:])
hadik3r558504a2016-06-27 17:59:04 +020035 elif sys.argv[1] == "datacenter-zapi":
peustermd313dc12016-02-04 15:36:02 +010036 datacenter.main(sys.argv[2:])
stevenvanrossem73efd192016-06-29 01:44:07 +020037 elif sys.argv[1] == "monitor-zapi":
stevenvanrossemc5a536a2016-02-16 14:52:39 +010038 monitor.main(sys.argv[2:])
stevenvanrossem73efd192016-06-29 01:44:07 +020039 elif sys.argv[1] == "monitor":
40 restmon.main(sys.argv[2:])
41 elif sys.argv[1] == "network":
42 restnetw.main(sys.argv[2:])
hadik3r558504a2016-06-27 17:59:04 +020043 elif sys.argv[1] == "compute":
44 restcom.main(sys.argv[2:])
45 elif sys.argv[1] == "datacenter":
46 restdc.main(sys.argv[2:])
47
peusterm58310762016-01-12 17:09:20 +010048
49if __name__ == '__main__':
50 main()