| peusterm | 5831076 | 2016-01-12 17:09:20 +0100 | [diff] [blame] | 1 | #!/usr/bin/python |
| 2 | """ |
| 3 | Simple CLI client to interact with a running emulator. |
| 4 | |
| peusterm | 2ec74e1 | 2016-01-13 11:17:53 +0100 | [diff] [blame] | 5 | (c) 2016 by Manuel Peuster <manuel.peuster@upb.de> |
| 6 | |
| peusterm | 5831076 | 2016-01-12 17:09:20 +0100 | [diff] [blame] | 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 |
| hadik3r | 558504a | 2016-06-27 17:59:04 +0200 | [diff] [blame] | 16 | |
| cgeoffroy | 9524ad3 | 2016-03-03 18:24:15 +0100 | [diff] [blame] | 17 | from emuvim.cli import compute |
| cgeoffroy | 9524ad3 | 2016-03-03 18:24:15 +0100 | [diff] [blame] | 18 | from emuvim.cli import datacenter |
| 19 | from emuvim.cli import monitor |
| hadik3r | 558504a | 2016-06-27 17:59:04 +0200 | [diff] [blame] | 20 | from emuvim.cli import network |
| 21 | from emuvim.cli.rest import compute as restcom |
| 22 | from emuvim.cli.rest import datacenter as restdc |
| stevenvanrossem | 73efd19 | 2016-06-29 01:44:07 +0200 | [diff] [blame] | 23 | from emuvim.cli.rest import monitor as restmon |
| 24 | from emuvim.cli.rest import network as restnetw |
| hadik3r | 558504a | 2016-06-27 17:59:04 +0200 | [diff] [blame] | 25 | |
| peusterm | 5831076 | 2016-01-12 17:09:20 +0100 | [diff] [blame] | 26 | |
| 27 | def main(): |
| 28 | if len(sys.argv) < 2: |
| stevenvanrossem | bb084ef | 2016-05-20 09:27:01 +0200 | [diff] [blame] | 29 | print("Usage: son-emu-cli <toolname> <arguments>") |
| peusterm | 5831076 | 2016-01-12 17:09:20 +0100 | [diff] [blame] | 30 | exit(0) |
| hadik3r | 558504a | 2016-06-27 17:59:04 +0200 | [diff] [blame] | 31 | if sys.argv[1] == "compute-zapi": |
| peusterm | 5831076 | 2016-01-12 17:09:20 +0100 | [diff] [blame] | 32 | compute.main(sys.argv[2:]) |
| stevenvanrossem | 73efd19 | 2016-06-29 01:44:07 +0200 | [diff] [blame] | 33 | elif sys.argv[1] == "network-zapi": |
| peusterm | 5831076 | 2016-01-12 17:09:20 +0100 | [diff] [blame] | 34 | network.main(sys.argv[2:]) |
| hadik3r | 558504a | 2016-06-27 17:59:04 +0200 | [diff] [blame] | 35 | elif sys.argv[1] == "datacenter-zapi": |
| peusterm | d313dc1 | 2016-02-04 15:36:02 +0100 | [diff] [blame] | 36 | datacenter.main(sys.argv[2:]) |
| stevenvanrossem | 73efd19 | 2016-06-29 01:44:07 +0200 | [diff] [blame] | 37 | elif sys.argv[1] == "monitor-zapi": |
| stevenvanrossem | c5a536a | 2016-02-16 14:52:39 +0100 | [diff] [blame] | 38 | monitor.main(sys.argv[2:]) |
| stevenvanrossem | 73efd19 | 2016-06-29 01:44:07 +0200 | [diff] [blame] | 39 | elif sys.argv[1] == "monitor": |
| 40 | restmon.main(sys.argv[2:]) |
| 41 | elif sys.argv[1] == "network": |
| 42 | restnetw.main(sys.argv[2:]) |
| hadik3r | 558504a | 2016-06-27 17:59:04 +0200 | [diff] [blame] | 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 | |
| peusterm | 5831076 | 2016-01-12 17:09:20 +0100 | [diff] [blame] | 48 | |
| 49 | if __name__ == '__main__': |
| 50 | main() |