mirror of
https://github.com/GNS3/gns3-server.git
synced 2025-06-24 17:55:15 +00:00
Compare commits
690 Commits
Author | SHA1 | Date | |
---|---|---|---|
078b72cafd | |||
b2457e0b3b | |||
2531a05adc | |||
dd9f62158f | |||
a3c0f0754e | |||
157bc18ebd | |||
3704911c2d | |||
1e38b11f34 | |||
bebdadc465 | |||
b0ce091a4c | |||
d21469a916 | |||
b57a023394 | |||
a929dfea38 | |||
fcff2d0813 | |||
ed39afbf3d | |||
3ba4789ba6 | |||
17b93e6a89 | |||
4b21135ba7 | |||
a3f00e1f45 | |||
b7dac1bec4 | |||
18c4154376 | |||
22efc7488f | |||
9eeb8910fb | |||
71e2586e17 | |||
ee2dada88b | |||
c4054cf810 | |||
d2d91ebdea | |||
0dea63c9ea | |||
3467b42ab5 | |||
65103e9332 | |||
f6bc823b58 | |||
151788e48a | |||
6b70fa9794 | |||
359abb0286 | |||
d18293ae7c | |||
929c337e8b | |||
b9bc73fd01 | |||
e75fbc9d73 | |||
0311a0086e | |||
461e3ce53f | |||
1b4613fbaf | |||
30ff5510d9 | |||
cc03017739 | |||
bad740d32a | |||
a884af983f | |||
4f021054e0 | |||
8503472c77 | |||
e7ae1776f4 | |||
3f26ada081 | |||
77f54848e3 | |||
bf3444933e | |||
f208b472a1 | |||
b6a935aeb8 | |||
324a4f73d0 | |||
d5ae4750e9 | |||
4df95efdec | |||
834a554fea | |||
271cb527d4 | |||
6edf1e3649 | |||
017997e0a3 | |||
3e6996903f | |||
da2b895c99 | |||
683a512917 | |||
80a0e0ebf7 | |||
d68bf1c263 | |||
fa544ef888 | |||
ee1e5b8204 | |||
8f6e5b4ad8 | |||
24bfd8ab53 | |||
14cc01bb8b | |||
40ce22222e | |||
7e991cc404 | |||
83f2509cfe | |||
6b862b8397 | |||
fac0f5ecd9 | |||
3680c40e23 | |||
30f6263146 | |||
161adb781b | |||
2e39265da1 | |||
9c549b175f | |||
fc289fd868 | |||
bf618d321c | |||
8b879c0614 | |||
cf0adf56a8 | |||
531e95463c | |||
3926390d30 | |||
343e007809 | |||
c6dbf296cf | |||
dfdc18b20c | |||
bca90bc563 | |||
b5e01f7560 | |||
4136c29b0f | |||
aeab9780d8 | |||
5a4ffae6a2 | |||
e367f95f96 | |||
789e24795e | |||
26a7f83db2 | |||
def453c116 | |||
997f7cbd6f | |||
750958bd12 | |||
aab4a7243b | |||
aa2472fb30 | |||
e51a129216 | |||
6ec081c774 | |||
55fed02299 | |||
45ca995dea | |||
af942dc419 | |||
1d5dc2ecf0 | |||
443842e9b8 | |||
78bc6e29a8 | |||
de5e8f852d | |||
c99998d73c | |||
c4963abcba | |||
1ba9a2fcfa | |||
eac751948e | |||
b2e53a94d4 | |||
2d507fd17a | |||
202032f334 | |||
1d997d9da5 | |||
2b6945664b | |||
9b79cce488 | |||
2d0f73454f | |||
7e8b0a48ab | |||
7d7972afb3 | |||
f799fc1ab7 | |||
3b4a060ae9 | |||
db6db31b60 | |||
1c4a059982 | |||
4189089e1b | |||
7efb7c2978 | |||
d16a389d1f | |||
e3239b7e36 | |||
1c4202187a | |||
631d7a1e25 | |||
19c5fdb1fd | |||
b46e2cf013 | |||
1acc9398d5 | |||
8fc256da6d | |||
b330b2c157 | |||
990f243f15 | |||
49f36a83bd | |||
a3c8201bcc | |||
90d55fcb8a | |||
4cd5ec5613 | |||
b2d8a8d810 | |||
026fe3df9b | |||
220d585dcc | |||
93344e9427 | |||
6d6cfacdc8 | |||
36f5fd2865 | |||
47ffdbd4ed | |||
ddf0194e8e | |||
9bf875699f | |||
420a1c2da2 | |||
da00aa030a | |||
ee8362d89a | |||
056ff14437 | |||
3c917c59fb | |||
4a0879f2d1 | |||
533ce78b90 | |||
be199b77a5 | |||
bff164afcb | |||
81ce86a8a7 | |||
1df8f61035 | |||
c7034c25ef | |||
2e72bc2d3a | |||
64152c1af8 | |||
879ed9e4e6 | |||
ec6a761e04 | |||
7d8ff54c78 | |||
588088ca93 | |||
07067d6765 | |||
980e63e667 | |||
7b1a707967 | |||
73310105a8 | |||
1c0c300ded | |||
51659b6087 | |||
a25b17fe95 | |||
6d0d945d6c | |||
b5aabd4cc5 | |||
cde5c3d994 | |||
f4c7212e33 | |||
f451ed144e | |||
a77023d1ee | |||
24300b2502 | |||
153914bf97 | |||
2d6d153262 | |||
628dfef0d3 | |||
17d5b3a7bc | |||
5b08677537 | |||
257735255c | |||
01bcbe2fd9 | |||
7473dec5ad | |||
29b7f0e164 | |||
533baf0445 | |||
253ab4e2b5 | |||
ddb8a9f06e | |||
f31071d510 | |||
8415117d2d | |||
f6b122cdfa | |||
44c8396997 | |||
fb0490d8e3 | |||
163d1e375d | |||
6330e99ff1 | |||
386b311755 | |||
4a9f578784 | |||
8ca9c2121a | |||
b5f134dbb2 | |||
42f51ddc00 | |||
66cdf39ea2 | |||
64eb54ae3d | |||
964ea0f577 | |||
dc1c12b7d0 | |||
bb7eda63af | |||
54bccb0628 | |||
2de817214f | |||
93a5f4be79 | |||
87d12452f9 | |||
46fe973a96 | |||
cc9b575b77 | |||
bcb1ce02ab | |||
e54649accd | |||
c05edfe415 | |||
cf247a9301 | |||
3a6a04b8e5 | |||
21587fda5a | |||
30ed89847b | |||
6d56da03e5 | |||
25b778aec0 | |||
a90805135d | |||
95f9431b59 | |||
cf92bfe81e | |||
4ccca5dc99 | |||
a81d2274cd | |||
221befa73e | |||
db69b93100 | |||
81420c60c7 | |||
f7d3af4a59 | |||
c596147b59 | |||
5637b7be86 | |||
500b7112f5 | |||
36daa3627e | |||
03796ca729 | |||
6d901e8295 | |||
4f7b896a6a | |||
38fa3e9a86 | |||
34c4649d0b | |||
54c2d34185 | |||
aebcd9f08b | |||
c41bec0516 | |||
223f3ee705 | |||
1610067eee | |||
062e5a5986 | |||
4c68fd0d52 | |||
03dfd177f9 | |||
5910b4b0be | |||
ad5548f70b | |||
5ca65093e4 | |||
4f1674f50c | |||
95766fa30d | |||
2934232afb | |||
b1eccc0ace | |||
c3014632a4 | |||
2b34e35027 | |||
0d379f428e | |||
be1e0fa1f2 | |||
ed2e4e43f2 | |||
d126db1fe9 | |||
1b68a54234 | |||
ee578d3c12 | |||
d87ebb3ed2 | |||
f188bc43e1 | |||
053fd9cc0c | |||
b58f9e10f9 | |||
e37392c482 | |||
d657f94c18 | |||
18f3859e87 | |||
a64dfdd694 | |||
2bae814eb1 | |||
c012e8ddb3 | |||
b5e8aaf682 | |||
2679c03fe2 | |||
a3e4b81837 | |||
01ab91722b | |||
a4da6c6a74 | |||
1d0ffe4b2e | |||
83c1ada63e | |||
3407ba802e | |||
7a6136ed14 | |||
bae5b6edb4 | |||
94bcd1cf11 | |||
b9d057854c | |||
69f8b7de6a | |||
4c2dbbbebc | |||
80fd857658 | |||
10296f4f19 | |||
16dc0d1a8a | |||
6208cb997d | |||
6e89f2c7c7 | |||
3472f19519 | |||
a6869379c3 | |||
f269ec9527 | |||
7ace6fc7e9 | |||
466c6142af | |||
b673b898a8 | |||
91ccd6167c | |||
a9afaa028c | |||
66860655b9 | |||
914ea0326c | |||
16f6fe9d3b | |||
46b0ead329 | |||
c48ca212bd | |||
3ef529fb0e | |||
518b037d54 | |||
7223005acd | |||
5ae8728ee6 | |||
0c767e1c0e | |||
dfce18a48f | |||
0f10d25c0b | |||
7fe2d6c367 | |||
d762c43314 | |||
708f66b608 | |||
666064f1ae | |||
70d5dea256 | |||
ba95567886 | |||
84870bf736 | |||
0e8b8fa66f | |||
b55719186e | |||
1d6d2a39f0 | |||
d0c386860e | |||
ebd72d1149 | |||
ae7bf828cd | |||
38326f7d72 | |||
f6448bb05d | |||
ebb865d973 | |||
985c23a40e | |||
58d92f1584 | |||
62afef06af | |||
5e59145948 | |||
29e8d91745 | |||
5a58f6efc8 | |||
aa40e6097e | |||
c07b8c746e | |||
0eaad579c2 | |||
85518a3cd6 | |||
9dc713f31d | |||
473eb0280e | |||
de1be0961f | |||
54fc873be5 | |||
349d9d4540 | |||
f12d3f07f7 | |||
8434a286b6 | |||
818676ce5e | |||
47f8ac00c0 | |||
4ea25739e5 | |||
0713724a97 | |||
7c2329d870 | |||
545acd1f06 | |||
36bb510ac1 | |||
3528efb1e0 | |||
550cc7f508 | |||
6bb7ab20b3 | |||
46b348e46a | |||
9153b42b9d | |||
250bb38d7c | |||
67be24a412 | |||
fd03b36258 | |||
1ca445d5f5 | |||
e910167a85 | |||
49f3c9295f | |||
42c07cee1a | |||
3d3300e83a | |||
182d2e465e | |||
fb9f5d3c14 | |||
8b19029d97 | |||
0e8c184987 | |||
4d1f08c96e | |||
cad708f4ab | |||
4ffb2c8c20 | |||
89b7d62ec6 | |||
c9314ec509 | |||
259f6249e2 | |||
f7cd09d5fb | |||
210aa6f12a | |||
da11343647 | |||
565a7b35a6 | |||
9a745ed3f4 | |||
af700e9bcb | |||
cecf2f5014 | |||
45a48cfcc1 | |||
a0f4c6d021 | |||
71357fa7ab | |||
47be57dca7 | |||
15036837bb | |||
8aa5514890 | |||
90f71e7581 | |||
b393948b67 | |||
8d02f464c5 | |||
3797e27de5 | |||
48f5c7c8b3 | |||
d0244824bf | |||
b03b9226ff | |||
25bcbfb073 | |||
4a3e6632c1 | |||
380c4d8211 | |||
3d1363150e | |||
610dee957d | |||
d65617657c | |||
3cb7213427 | |||
0977af1c00 | |||
03b6563864 | |||
dd1833c4f0 | |||
0e98497a99 | |||
57348d0508 | |||
5170428913 | |||
70ad9fff26 | |||
dc4df68c7a | |||
e6fd471dd5 | |||
516b882122 | |||
3e95bb9748 | |||
6c3a926ce3 | |||
ff7f014423 | |||
018e3c1451 | |||
15f89776d3 | |||
d323234520 | |||
3ceb43fa62 | |||
605afa1d33 | |||
78ffe313fd | |||
26f7195288 | |||
f99e834c37 | |||
4f38d96522 | |||
094339304c | |||
6ac6c7d796 | |||
a5ac7c5481 | |||
e082cd8b1a | |||
83edc649d2 | |||
a9a3bb1c38 | |||
d86e880ff7 | |||
49f012cf4c | |||
2cab5293c7 | |||
821eb5e92b | |||
ee019caa37 | |||
1550ca01e6 | |||
3e1875b069 | |||
68427eaddf | |||
a4669689e7 | |||
b419001813 | |||
0a5aaedc7c | |||
8f089c45f5 | |||
f99d825346 | |||
9160d3caf4 | |||
3471b03ef9 | |||
8b61aa9ae7 | |||
05df7001a3 | |||
4689024b50 | |||
ebc214d6fa | |||
fb69c693f6 | |||
faa7472670 | |||
986c63f344 | |||
2e99ef69a9 | |||
79a57ca420 | |||
37945585b9 | |||
f0add73d80 | |||
a6da2406a0 | |||
46cbcd6132 | |||
648850c411 | |||
30c452e938 | |||
98586b93ee | |||
2f85d71f32 | |||
e1a80a9fab | |||
b31af0abcd | |||
e99c0f6ac5 | |||
bf29e0319e | |||
64c197c719 | |||
0d7d0a05c3 | |||
2a3b37a3bd | |||
d499402491 | |||
e81dcd4bba | |||
27cbfbbdc6 | |||
571044b3e8 | |||
5c3969ae79 | |||
8118d7762f | |||
f2ff933b20 | |||
ab122d969e | |||
5a0c224292 | |||
9f7b8574c8 | |||
30f10a559e | |||
0abf2e82d6 | |||
2786d0f044 | |||
41a8872819 | |||
869405738e | |||
b92e065add | |||
dae48b2de4 | |||
8367a9eb30 | |||
ed41384e22 | |||
2df3525ffe | |||
132c06a2d4 | |||
4e690a6d06 | |||
c12d3ff739 | |||
291fac7084 | |||
b680138073 | |||
1bea78194c | |||
c5c219ffe1 | |||
568e203580 | |||
2ace014a3c | |||
ca354ae7f2 | |||
08158884a4 | |||
119bebee25 | |||
59c82e26df | |||
d2699f051d | |||
aeb83a7945 | |||
a12f753136 | |||
f572f3fc95 | |||
0ce344b1d2 | |||
d199778745 | |||
81f9252554 | |||
66569f26a4 | |||
df72369b0e | |||
33d5882a4a | |||
471fbe576c | |||
45ca493ecf | |||
2c3fe2ad4b | |||
aecd7dedba | |||
0ae8d8031a | |||
6abf420ce1 | |||
21020a2753 | |||
a3a304bd12 | |||
57b35d5758 | |||
0c90393b5b | |||
8d471a89a8 | |||
334835c985 | |||
8a00d30e23 | |||
22369ade49 | |||
e7c9139045 | |||
fa978b6a28 | |||
6e29e7711c | |||
58fd9043ed | |||
8bc26420b7 | |||
4b62d4d82c | |||
f682e1c474 | |||
29a4a0634d | |||
e60366c5bb | |||
776bfea3d7 | |||
6764c6e866 | |||
9abf323e7d | |||
df8bdcc152 | |||
4518404706 | |||
1bfb201368 | |||
c409819382 | |||
70faf76c10 | |||
50fea669b5 | |||
c002bbfb23 | |||
365af02f37 | |||
ff63530f52 | |||
499a8f10ae | |||
6460e94311 | |||
bc3d63081b | |||
6e7a5ca8bd | |||
39e3ca91a9 | |||
59f940625a | |||
8e249b670d | |||
7bed9f56bc | |||
017c5ac9f6 | |||
4f2764c0b4 | |||
4848eeabad | |||
77ee6501b9 | |||
977ff0fb57 | |||
547adf0dc6 | |||
0e76527ce2 | |||
abc885049f | |||
7bf121c6da | |||
3f5c2390cd | |||
986a7f55ef | |||
9a0b260c56 | |||
f97c2b2cbe | |||
28308b10bc | |||
0d503b779e | |||
e61e976368 | |||
2a8823b856 | |||
05c0efe39b | |||
d9b02efbfa | |||
2681defe27 | |||
6ec4dea9b9 | |||
1fea7593ef | |||
2c50bb607f | |||
72c6182062 | |||
6644c640db | |||
08b2dc6369 | |||
e12e6044dc | |||
545a3d2b58 | |||
55052c9bca | |||
8d3ea60404 | |||
1a43ff118c | |||
3b7d08a80e | |||
87bd0d1869 | |||
f231b06833 | |||
beb27b3f69 | |||
0b1b27db8f | |||
0249a21409 | |||
97cefa23fb | |||
f3e07d5ad9 | |||
8d9da999e6 | |||
ef4ecbfb6a | |||
7ce1cf3f84 | |||
368d1ff70b | |||
7abb426d04 | |||
ce9fd3cb25 | |||
87a089457f | |||
f99538ccef | |||
df31b2ad5a | |||
ba91cbaac0 | |||
7a19c9062e | |||
3530b85b56 | |||
061d3223a7 | |||
17f6223fb1 | |||
fc66e4592a | |||
984d47f9c8 | |||
0eaa7be86a | |||
649d4e5143 | |||
57c3463edc | |||
f2289874af | |||
fa57485f11 | |||
c30f7ce9a1 | |||
54eb8d9e81 | |||
db31afeb63 | |||
bbee5f90a0 | |||
7cf409c392 | |||
531265eced | |||
78237e9fb6 | |||
f5ac73d1ca | |||
0b97509a74 | |||
4488cc3960 | |||
db41076ce5 | |||
f5ed9fbcf1 | |||
7f185663d1 | |||
68d0e5f42d | |||
0695e75e77 | |||
927e6b540d | |||
7fff25a9a9 | |||
fe22576ae2 | |||
345b471c47 | |||
78015b800e | |||
ed973dbcf2 | |||
f0094cc0d0 | |||
240d83411c | |||
a9a09cc0bc | |||
a06d935ef4 | |||
f0880c4a37 | |||
2c3b0061a2 | |||
9e5a2fcc42 | |||
7de95cd60a | |||
73a481e510 | |||
ae8e2f4199 | |||
b6212fc885 | |||
1900966751 | |||
1cfce6ac5e | |||
d142a9a885 | |||
c47081f363 | |||
3793789732 | |||
869ad026ff | |||
9f82f3826b | |||
2c9a802cca | |||
878532325a | |||
42920e5059 | |||
77db08c39e | |||
8e307c8cbb | |||
4c010b466d | |||
bf6f62e629 | |||
0cdc1c3042 | |||
aff834f565 | |||
7a767a6b92 | |||
2ee49fed57 | |||
9e83329f14 | |||
c1ef406311 | |||
3abcac43ab | |||
6bb2b88f1a | |||
0afea48e63 | |||
77686b35c2 | |||
5618556b42 | |||
6c35cc304e | |||
482fdf9031 | |||
1431c66c54 | |||
aab944fb6c | |||
efad58a2af | |||
f1a9cc9f01 | |||
1af5513c86 | |||
369cd06279 | |||
6d20a122f8 | |||
61344a1669 | |||
5e665cc67a |
7
.gitignore
vendored
7
.gitignore
vendored
@ -40,3 +40,10 @@ nosetests.xml
|
||||
|
||||
# Gedit Backup Files
|
||||
*~
|
||||
|
||||
#Documentation build
|
||||
docs/_build
|
||||
|
||||
#VPCS
|
||||
vpcs.hist
|
||||
startup.vpcs
|
||||
|
37
.travis.yml
37
.travis.yml
@ -1,29 +1,32 @@
|
||||
language: python
|
||||
|
||||
env:
|
||||
- TOX_ENV=py33
|
||||
- TOX_ENV=py34
|
||||
python:
|
||||
- "3.3"
|
||||
- "3.4"
|
||||
|
||||
before_install:
|
||||
- sudo add-apt-repository ppa:gns3/ppa -y
|
||||
- sudo apt-get update -q
|
||||
|
||||
- sudo apt-get install dynamips
|
||||
|
||||
install:
|
||||
- pip install tox
|
||||
- sudo apt-get install vpcs dynamips
|
||||
- python setup.py install
|
||||
- pip install -rdev-requirements.txt
|
||||
|
||||
script:
|
||||
- tox -e $TOX_ENV
|
||||
- py.test -v -s tests --cov gns3server --cov-report term-missing
|
||||
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
#branches:
|
||||
# only:
|
||||
# - master
|
||||
|
||||
notifications:
|
||||
email: false
|
||||
irc:
|
||||
channels:
|
||||
- "chat.freenode.net#gns3"
|
||||
on_success: change
|
||||
on_failure: always
|
||||
email:
|
||||
- julien@gns3.net
|
||||
# irc:
|
||||
# channels:
|
||||
# - "chat.freenode.net#gns3"
|
||||
# on_success: change
|
||||
# on_failure: always
|
||||
|
||||
after_success:
|
||||
- coveralls --data_file .coverage --base_dir gns3server
|
||||
|
225
CHANGELOG
Normal file
225
CHANGELOG
Normal file
@ -0,0 +1,225 @@
|
||||
# Change Log
|
||||
|
||||
## 1.3.3 14/05/15
|
||||
|
||||
* Check for empty iourc path.
|
||||
* Fixes bugs with IOS router configs. Fixes #354.
|
||||
* Use a temporary directory as egg cache
|
||||
* Catch crash error in IOU in case of permission denied
|
||||
|
||||
## 1.3.3rc1 07/05/2015
|
||||
|
||||
* Return an error if an adapter slot doesn't exist on an IOS router.
|
||||
* NIO NAT support for VirtualBox VMs.
|
||||
* NIO NAT support for QEMU VMs (user mode back-end is used).
|
||||
* Throw an error if user put an invalid port range in config file
|
||||
* Turn off configuration parser interpolation
|
||||
* Catch configuration file parsing errors
|
||||
* Force closing the event loop to avoid warning with Python 3.4.3
|
||||
* Catch error when you can't mark a project as no longer temporary
|
||||
* Catch BrokenPipeError for OSX frozen server
|
||||
* Match how IOU initial-config is set for VPCS VM.
|
||||
* Refactors how startup-config and private-config are handled for IOS routers.
|
||||
* Catch the "WinError 0 The operation completed successfully" exception at a higher level.
|
||||
* Fix temporary project not cleanup with save as
|
||||
* If image is not found in VM directory look in images folder
|
||||
* Ordered MAC addresses for QEMU based VMs.
|
||||
* Merge remote-tracking branch 'origin/master'
|
||||
* Force utf-8 configuraton files reading
|
||||
* Do not list file starting with a . in upload handler
|
||||
* Do not crash when closing a project if VirtualBox is not accessible
|
||||
* Catch connection reset errors
|
||||
|
||||
|
||||
## 1.3.2 28/04/2015
|
||||
|
||||
* Cleanup the VirtualBox Media Manager after closing a project.
|
||||
* Avoid Cygwin warning with VPCS on Windows.
|
||||
* Close VirtualBox VM linked clone disks after the VM is unregistered.
|
||||
* TAP interface support for QEMU VMs.
|
||||
* Return an explicit error when a NIO type is not supported by a VM.
|
||||
* Do not erase the IOU config
|
||||
* Explicit utf-8 decoding.
|
||||
* Check NIO exists when stopping an IOU capture.
|
||||
* Fixes c7200 NPE setting.
|
||||
* Fixes VPCS process termination.
|
||||
* Catch FileNotFoundError exception in os.getcwd()
|
||||
* Explicit utf-8 encoding where necessary to avoid Unicode errors on Windows (we require/set an utf-8 locale on other systems).
|
||||
* Fixes #270. Relative paths management with empty ones.
|
||||
* New crash report key and doesn't send report for developers
|
||||
* Catch COM errors when connecting to WMI.
|
||||
* Don't assume the PATH environment variable exists.
|
||||
* Use UUIDs instead of the VM names for VirtualBox pipe paths.
|
||||
* Add --log options for daemon support
|
||||
* Basic upstart script
|
||||
* Add qemu-kvm to the list of binary
|
||||
* Fix IOU licence check flag
|
||||
* Config paths are not used when updating Dynamips or IOU VM settings.
|
||||
* Fixes initial-configs that were not restored when opening a project containing IOU VMs.
|
||||
* Prevent parallel execution of VBox commands
|
||||
* Fix a crash when in some cases you can't access to VBOX state
|
||||
* Fix crash if VirtualBox doesn't return API version
|
||||
* Fix a crash in VirtualBox vm creation
|
||||
* Allocate random names for Dynamips NIOs.
|
||||
* Explicitly delete Dynamips NIOs and unmap VCs for ATM and Frame-Relay switches.
|
||||
|
||||
## 1.3.1 11/04/2015
|
||||
|
||||
* Release
|
||||
|
||||
## 1.3.1rc4 09/04/2015
|
||||
|
||||
* Initial config file content can be empty (fix export issues)
|
||||
* Fix crash if IOU initial config is emtpy
|
||||
* Return more informations about bad requests for crash reports
|
||||
* Allow less strict dependencies for easier install
|
||||
* Missing project name in documentation
|
||||
* Some spring cleaning
|
||||
|
||||
|
||||
## 1.3.1rc3 07/04/2015
|
||||
|
||||
* Fix missing IOU documentation
|
||||
* Add missing project name in curl documentation
|
||||
* Look in old IOU images location in order to smooth transition
|
||||
|
||||
## 1.3.1rc2 06/04/2015
|
||||
|
||||
* Do not overwrite initial-config IOU if client send an empty
|
||||
* Fix documentation about /ports/udp
|
||||
|
||||
## 1.3.1rc1 05/04/2015
|
||||
|
||||
* Fix issues with macos X dynamips not freeing UDP port
|
||||
* Fix encoding error when saving dynamips configuration
|
||||
* The upload web page return a 200 in case of error (IE compatibility)
|
||||
* Do not crash if dynamips config contain non ascii chars
|
||||
* Test path with chinese charcaters in Qemu
|
||||
* Do not crash if no console port is available for VBox
|
||||
* Raise a DynamipsError if we can't access to VM status
|
||||
* Check name of the VBoxManage executable
|
||||
* Exclude docs and tests package from distribution
|
||||
* Catch error when qemu additional options are invalid
|
||||
* Fix ClientDisconnectedError
|
||||
* Fix crash when NIO doesn't exist
|
||||
* Turn off crash report if raven not available
|
||||
* Fix crash when IOU script file is incorrect
|
||||
|
||||
## 1.3.0 30/03/2015
|
||||
|
||||
* Fix issue when asyncio read is cancelled and data is still sent by Dynamips hypervisor.
|
||||
* Fix unicode decode error when saving IOS router configs.
|
||||
* Fix error when missing adapter in Dynamips IOS router.
|
||||
* Fix crash if we call stop on dynamips on non started process.
|
||||
* Fix use_default_iou_values param was not set.
|
||||
* Fix issue when IOURC environment variable is set to None.
|
||||
* Fix issue when exporting IOS router configs.
|
||||
* Fix check if VPCS process is running.
|
||||
* Fix bug when remove_nio() is not a coroutine for ATM and FR switches.
|
||||
* Fix how to test if iou and iouyap are running.
|
||||
* Allocate a random port for Qemu monitor. Fixes issue with pre 1.3 projects.
|
||||
* Fix default chassis bug.
|
||||
|
||||
## 1.3.0rc2 23/03/2015
|
||||
|
||||
* Update sentry key
|
||||
* Prevent error when suspend/resume is not supported in QEMU VM.
|
||||
* Adds project id when requesting UDP port.
|
||||
* Make sure used ports in a project are cleaned up when closing it.
|
||||
* Save configs when project is committed.
|
||||
* Initialize chassis when creating an IOS router. Fixes #107.
|
||||
* Lock the dynamips reader an writer
|
||||
|
||||
## 1.3.0rc1 19/03/2015
|
||||
|
||||
* Save IOS router config when saving the project
|
||||
* Look in legacy IOU images directory
|
||||
* Support IOURC upload
|
||||
* Configuration on UNIX
|
||||
* Support all QEMU status
|
||||
* Bind tunnel UDP to the correct source index
|
||||
|
||||
## 1.3.0beta2 13/03/2015
|
||||
|
||||
* Fixed issue when VBoxManage returns an error.
|
||||
* Server handler to shutdown a local server.
|
||||
* List the iourc file in upload handler.
|
||||
* Fixed hostid error.
|
||||
* Support RAM setting for VirtualBox VMs.
|
||||
* Alternative local server shutdown (intended for Windows).
|
||||
* Request user permission to kill the local server if it cannot be stopped.
|
||||
|
||||
## 1.3.0beta1 11/03/2015
|
||||
|
||||
* Optional IOU license key check.
|
||||
* Relative path support of IOU, IOS and Qemu images.
|
||||
* Do not give attachment warning for generic attachments in VirtualBox.
|
||||
* Support for HDC and HDD disk images in Qemu.
|
||||
* Fixed bug when starting a packet capture in VirtualBox with the project path containing spaces.
|
||||
* Renames server.conf and server.ini to gns3_server.conf and gns3_server.ini respectively.
|
||||
* Use TCP instead of Telnet to communicate with Qemu monitor.
|
||||
* Have the server look in the right place for relative image paths.
|
||||
* Fixed bugs when checking if this is a local project.
|
||||
* Concert old projects on remote servers.
|
||||
* Properly restore configs for Dynamips routers.
|
||||
* Fixed rename bug for linked clones in VirtualBox.
|
||||
* Makes absolute path checks work on Windows.
|
||||
* Upload IOURC file via the web interface
|
||||
* Upload interface allows users to choose an image type.
|
||||
* Fixed Qemu networking.
|
||||
* Fixed suspend and resume for Qemu VMs.
|
||||
* Fixed crash when you start capture on a non running IOU.
|
||||
* Fixed Telnet server initialization issue in VirtualBox.
|
||||
* Disconnect network cable if adapter is not attached in VirtualBox vNIC.
|
||||
|
||||
## 1.3.0alpha1 03/03/2015
|
||||
|
||||
* HTTP Rest API instead of WebSocket
|
||||
* API documentation
|
||||
* Create a dedicated configuration file for the server: server.conf
|
||||
* Temporary projects are real project
|
||||
* Use UUID instead of id
|
||||
|
||||
## 1.2.3 2015/01/17
|
||||
|
||||
* Fixed broken -netdev + legacy virtio in Qemu support.
|
||||
* Ping and traceroute added to the IOU VM.
|
||||
|
||||
## 1.2.2 2015/01/16
|
||||
|
||||
### Small improvements / new features
|
||||
|
||||
* Auxiliary console support for IOS routers.
|
||||
* Suspend / resume support for Qemu.
|
||||
* Dynamically configure network connections of running Qemu VMs (only with recent Qemu versions).
|
||||
* VPCS multi-host support (useful for old .net labs).
|
||||
* Possibility to run VirtualBox as another user (Linux/OSX only).
|
||||
* Support for IOURC file on the server side.
|
||||
* Bumped the maximum network adapters to 32 for Qemu (depending on Qemu version you cannot go above 8 or even 28, Qemu will just not start).
|
||||
* Added snapshot named 'reset' to linked cloned VirtualBox VMs.
|
||||
* More network interface options to the Qemu VM configuration interface as well as descriptions for all NICs.
|
||||
* More checks on minimum RAM for IOS routers and updates default values to match the latest IOS image requirements.
|
||||
* Fixed bug when importing Host node with UDP NIOs.
|
||||
|
||||
## 1.2.1 2014/12/04
|
||||
|
||||
* Early support for IOSv and IOSv-L2 (with Qemu for now, which is slow on Windows/Mac OS X).
|
||||
* Support for CPU throttling and process priority for Qemu.
|
||||
* Fixed C7200 IO cards insert/remove issues and makes C7200-IO-FE the default.
|
||||
* Updated the IOU VM with iouyap version 0.95 (packet capture).
|
||||
|
||||
|
||||
## 1.2 2014/11/20
|
||||
|
||||
* New VirtualBox support
|
||||
* New Telnet server for VirtualBox.
|
||||
* Add detection of qemu and qemu.exe binaries.
|
||||
* New host node (cloud with all available Ethernet & TAP interfaces added).
|
||||
* Option to allow console connections to any local IP address when using the local server.
|
||||
* VirtualBox linked clones support (experimental, still some problems with temporary projects).
|
||||
|
||||
|
||||
## 1.1 2014/10/23
|
||||
|
||||
* Serial console for local VirtualBox.
|
||||
|
@ -4,8 +4,8 @@ include INSTALL
|
||||
include LICENSE
|
||||
include MANIFEST.in
|
||||
include tox.ini
|
||||
recursive-exclude tests *
|
||||
recursive-include docs *
|
||||
recursive-include tests *
|
||||
recursive-exclude docs *
|
||||
recursive-include gns3server *
|
||||
recursive-exclude * __pycache__
|
||||
recursive-exclude * *.py[co]
|
||||
|
66
README.rst
66
README.rst
@ -1,13 +1,38 @@
|
||||
GNS3-server
|
||||
===========
|
||||
|
||||
.. image:: https://travis-ci.org/GNS3/gns3-server.svg?branch=master
|
||||
:target: https://travis-ci.org/GNS3/gns3-server
|
||||
|
||||
.. image:: https://img.shields.io/pypi/v/gns3-server.svg
|
||||
:target: https://pypi.python.org/pypi/gns3-server
|
||||
|
||||
This is the GNS3 server repository.
|
||||
|
||||
The GNS3 server manages emulators such as Dynamips, VirtualBox or Qemu/KVM.
|
||||
Clients like the GNS3 GUI controls the server using a JSON-RPC API over Websockets.
|
||||
Clients like the GNS3 GUI controls the server using a HTTP REST API.
|
||||
|
||||
You will need the GNS3 GUI (gns3-gui repository) to control the server.
|
||||
|
||||
Branches
|
||||
--------
|
||||
|
||||
master
|
||||
******
|
||||
master is the next stable release, you can test it in your day to day activities.
|
||||
Bug fixes or small improvements pull requests goes here.
|
||||
|
||||
unstable
|
||||
********
|
||||
*Never* use this branch for production. Major new features pull requests goes here.
|
||||
|
||||
Linux
|
||||
-----
|
||||
|
||||
GNS3 is perhaps packaged for your distribution:
|
||||
* Gentoo: https://packages.gentoo.org/package/net-misc/gns3-server
|
||||
|
||||
|
||||
Linux (Debian based)
|
||||
--------------------
|
||||
|
||||
@ -17,18 +42,16 @@ You must be connected to the Internet in order to install the dependencies.
|
||||
Dependencies:
|
||||
|
||||
- Python 3.3 or above
|
||||
- Setuptools
|
||||
- PyZMQ library
|
||||
- Netifaces library
|
||||
- Tornado
|
||||
- Jsonschema
|
||||
- aiohttp
|
||||
- setuptools
|
||||
- netifaces
|
||||
- jsonschema
|
||||
|
||||
The following commands will install some of these dependencies:
|
||||
|
||||
.. code:: bash
|
||||
|
||||
sudo apt-get install python3-setuptools
|
||||
sudo apt-get install python3-zmq
|
||||
sudo apt-get install python3-netifaces
|
||||
|
||||
Finally these commands will install the server as well as the rest of the dependencies:
|
||||
@ -39,11 +62,40 @@ Finally these commands will install the server as well as the rest of the depend
|
||||
sudo python3 setup.py install
|
||||
gns3server
|
||||
|
||||
To run tests use:
|
||||
|
||||
.. code:: bash
|
||||
|
||||
py.test -v
|
||||
|
||||
|
||||
Run as daemon
|
||||
***************
|
||||
|
||||
You will found init sample script for various systems
|
||||
inside the init directory.
|
||||
|
||||
upstart
|
||||
~~~~~~~
|
||||
|
||||
For ubuntu < 15.04
|
||||
|
||||
You need to copy init/gns3.conf.upstart to /etc/init/gns3.conf
|
||||
|
||||
.. code:: bash
|
||||
|
||||
sudo chown root /etc/init/gns3.conf
|
||||
sudo service gns3 start
|
||||
|
||||
|
||||
Windows
|
||||
-------
|
||||
|
||||
Please use our all-in-one installer.
|
||||
|
||||
If you install it via source you need to install also:
|
||||
https://sourceforge.net/projects/pywin32/
|
||||
|
||||
Mac OS X
|
||||
--------
|
||||
|
||||
|
@ -1,5 +0,0 @@
|
||||
export OS_USERNAME=username
|
||||
export OS_PASSWORD=""
|
||||
export OS_TENANT_NAME=000000
|
||||
export OS_AUTH_URL=https://identity.api.rackspacecloud.com/v2.0/
|
||||
export OS_REGION_NAME=ord
|
@ -1,243 +0,0 @@
|
||||
""" Create a new GNS3 Server Rackspace image with the provided options. """
|
||||
|
||||
import argparse
|
||||
import getpass
|
||||
import os
|
||||
import sys
|
||||
import uuid
|
||||
from fabric.api import env
|
||||
from fabric.contrib.files import exists
|
||||
from github import Github
|
||||
from novaclient.v1_1 import client
|
||||
from string import Template
|
||||
from time import sleep
|
||||
|
||||
POLL_SEC = 20
|
||||
GNS3_REPO = 'gns3/gns3-server'
|
||||
PLANC_REPO = 'planctechnologies/gns3-server'
|
||||
OS_AUTH_URL = 'https://identity.api.rackspacecloud.com/v2.0/'
|
||||
UBUNTU_BASE_ID = '5cc098a5-7286-4b96-b3a2-49f4c4f82537'
|
||||
|
||||
|
||||
def main():
|
||||
"""
|
||||
Get the user options and perform the image creation.
|
||||
|
||||
Creates a new instance, installs the required software, creates an image
|
||||
from the instance, and then deletes the instance.
|
||||
"""
|
||||
|
||||
github = Github()
|
||||
|
||||
args = get_cli_args()
|
||||
if args.username:
|
||||
username = args.username
|
||||
else:
|
||||
if 'OS_USERNAME' in os.environ:
|
||||
username = os.environ.get('OS_USERNAME')
|
||||
else:
|
||||
username = raw_input('Enter Rackspace username: ')
|
||||
|
||||
if args.password:
|
||||
password = args.password
|
||||
else:
|
||||
if 'OS_PASSWORD' in os.environ:
|
||||
password = os.environ.get('OS_PASSWORD')
|
||||
else:
|
||||
password = getpass.getpass('Enter Rackspace password: ')
|
||||
|
||||
if args.tenant:
|
||||
tenant = args.tenant
|
||||
else:
|
||||
if 'OS_TENANT_NAME' in os.environ:
|
||||
tenant = os.environ.get('OS_TENANT_NAME')
|
||||
else:
|
||||
tenant = raw_input('Enter Rackspace Tenant ID: ')
|
||||
|
||||
if args.region:
|
||||
region = args.region
|
||||
else:
|
||||
if 'OS_REGION_NAME' in os.environ:
|
||||
region = os.environ.get('OS_REGION_NAME')
|
||||
else:
|
||||
region = raw_input('Enter Rackspace Region Name: ')
|
||||
|
||||
if args.source == 'release':
|
||||
# get the list of releases, present them to the user, save the url
|
||||
repo = github.get_repo(GNS3_REPO)
|
||||
keyword = "tag"
|
||||
i = 1
|
||||
branch_opts = {}
|
||||
for tag in repo.get_tags():
|
||||
branch_opts[i] = tag.name
|
||||
i += 1
|
||||
elif args.source == 'dev':
|
||||
# get the list of dev branches, present them to the user, save the url
|
||||
repo = github.get_repo(PLANC_REPO)
|
||||
keyword = "branch"
|
||||
i = 1
|
||||
branch_opts = {}
|
||||
for branch in repo.get_branches():
|
||||
branch_opts[i] = branch.name
|
||||
i += 1
|
||||
|
||||
prompt_text = "Select a %s" % keyword
|
||||
selected_branch = prompt_user_select(branch_opts, prompt_text)
|
||||
|
||||
if args.image_name:
|
||||
image_name = args.image_name
|
||||
else:
|
||||
image_name = "gns3-%s-%s-%s" % (args.source, selected_branch,
|
||||
uuid.uuid4().hex[0:4])
|
||||
|
||||
if args.on_boot:
|
||||
on_boot = True
|
||||
else:
|
||||
on_boot = False
|
||||
|
||||
startup_script = create_script(repo.svn_url, selected_branch, on_boot)
|
||||
server_name = uuid.uuid4().hex
|
||||
instance = create_instance(username, password, tenant, region, server_name,
|
||||
startup_script)
|
||||
passwd = uuid.uuid4().hex
|
||||
instance.change_password(passwd)
|
||||
# wait for the password change to be processed. Continuing while
|
||||
# a password change is processing will cause image creation to fail.
|
||||
sleep(POLL_SEC*6)
|
||||
|
||||
env.host_string = str(instance.accessIPv4)
|
||||
env.user = "root"
|
||||
env.password = passwd
|
||||
|
||||
sys.stdout.write("Installing software...")
|
||||
sys.stdout.flush()
|
||||
|
||||
while True:
|
||||
if exists('/tmp/gns-install-complete'):
|
||||
break
|
||||
|
||||
sleep(POLL_SEC)
|
||||
sys.stdout.write(".")
|
||||
sys.stdout.flush()
|
||||
|
||||
print("Done.")
|
||||
|
||||
image_id = create_image(username, password, tenant, region, instance,
|
||||
image_name)
|
||||
instance.delete()
|
||||
|
||||
|
||||
def prompt_user_select(opts, text="Please select"):
|
||||
""" Ask the user to select an option from the provided list. """
|
||||
|
||||
print("%s" % text)
|
||||
print("=" * len(text))
|
||||
for o in opts:
|
||||
print("(%s)\t%s" % (o, opts[o]))
|
||||
|
||||
while True:
|
||||
selected = raw_input("Select: ")
|
||||
try:
|
||||
return opts[int(selected)]
|
||||
except (KeyError, ValueError):
|
||||
print("Invalid selection. Try again")
|
||||
|
||||
|
||||
def create_instance(username, password, tenant, region, server_name, script,
|
||||
auth_url=OS_AUTH_URL):
|
||||
""" Create a new instance. """
|
||||
|
||||
sys.stdout.write("Creating instance...")
|
||||
sys.stdout.flush()
|
||||
|
||||
nc = client.Client(username, password, tenant, auth_url,
|
||||
region_name=region)
|
||||
server = nc.servers.create(server_name, UBUNTU_BASE_ID, 2,
|
||||
config_drive=True, userdata=script)
|
||||
|
||||
while True:
|
||||
server = nc.servers.get(server.id)
|
||||
if server.status == 'ACTIVE':
|
||||
break
|
||||
|
||||
sleep(POLL_SEC)
|
||||
sys.stdout.write(".")
|
||||
sys.stdout.flush()
|
||||
|
||||
print("Done.")
|
||||
|
||||
return server
|
||||
|
||||
|
||||
def create_script(git_url, git_branch, on_boot):
|
||||
""" Create the start-up script. """
|
||||
|
||||
script_template = Template(open('script_template', 'r').read())
|
||||
|
||||
params = {'git_url': git_url, 'git_branch': git_branch, 'rc_local': ''}
|
||||
|
||||
if on_boot:
|
||||
params['rc_local'] = "echo '/usr/local/bin/gns3-server' >> /etc/rc.local"
|
||||
|
||||
return script_template.substitute(params)
|
||||
|
||||
|
||||
def create_image(username, password, tenant, region, server,
|
||||
image_name, auth_url=OS_AUTH_URL):
|
||||
""" Create a Rackspace image based on the server instance. """
|
||||
|
||||
nc = client.Client(username, password, tenant, auth_url,
|
||||
region_name=region)
|
||||
|
||||
sys.stdout.write("Creating image %s..." % image_name)
|
||||
sys.stdout.flush()
|
||||
|
||||
image_id = server.create_image(image_name)
|
||||
|
||||
while True:
|
||||
server = nc.servers.get(server.id)
|
||||
if getattr(server, 'OS-EXT-STS:task_state') is None:
|
||||
break
|
||||
|
||||
sleep(POLL_SEC)
|
||||
sys.stdout.write(".")
|
||||
sys.stdout.flush()
|
||||
|
||||
print("Done.")
|
||||
|
||||
return image_id
|
||||
|
||||
|
||||
def get_cli_args():
|
||||
""" Parse the CLI input. """
|
||||
|
||||
parser = argparse.ArgumentParser(
|
||||
description='Create a new GNS3 image',
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
|
||||
|
||||
parser.add_argument(
|
||||
'--rackspace_username', dest='username', action='store')
|
||||
parser.add_argument(
|
||||
'--rackspace_password', dest='password', action='store')
|
||||
parser.add_argument(
|
||||
'--rackspace_tenant', dest='tenant', action='store')
|
||||
parser.add_argument(
|
||||
'--rackspace_region', dest='region', action='store')
|
||||
parser.add_argument(
|
||||
'--source', dest='source', action='store', choices=['release', 'dev'],
|
||||
default='release', help='specify the gns3-server source location')
|
||||
parser.add_argument(
|
||||
'--branch', dest='branch', action='store',
|
||||
help='specify the branch/tag')
|
||||
parser.add_argument(
|
||||
'--start-on-boot', dest='on_boot', action='store_true',
|
||||
default=False, help='start the GNS3-server when the image boots')
|
||||
parser.add_argument(
|
||||
'--image-name', dest='image_name', action='store',
|
||||
help='the name of the image to be created')
|
||||
|
||||
return parser.parse_args()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
@ -1,3 +0,0 @@
|
||||
fabric
|
||||
pygithub
|
||||
python-novaclient
|
@ -1,10 +0,0 @@
|
||||
create_image.py:
|
||||
|
||||
- uses fabric, which doesn't support Python 3
|
||||
|
||||
- prompts for Rackspace credentials if environment variables not set
|
||||
- see .novarc for example env variables
|
||||
- note that the novaclient library uses the Rackspace password and -not-
|
||||
the API key
|
||||
|
||||
- use '--help' for help with arguments
|
@ -1,19 +0,0 @@
|
||||
#!/bin/bash
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
apt-get -y update
|
||||
apt-get -o Dpkg::Options::="--force-confnew" --force-yes -fuy dist-upgrade
|
||||
apt-get -y install git
|
||||
apt-get -y install python3-setuptools
|
||||
apt-get -y install python3-netifaces
|
||||
apt-get -y install python3-pip
|
||||
|
||||
mkdir -p /opt/gns3
|
||||
pushd /opt/gns3
|
||||
git clone --branch ${git_branch} ${git_url}
|
||||
cd gns3-server
|
||||
pip3 install -r dev-requirements.txt
|
||||
python3 ./setup.py install
|
||||
|
||||
${rc_local}
|
||||
|
||||
touch /tmp/gns-install-complete
|
@ -1,4 +1,9 @@
|
||||
-rrequirements.txt
|
||||
|
||||
pytest
|
||||
ws4py
|
||||
sphinx==1.2.3
|
||||
pytest==2.6.4
|
||||
pep8==1.5.7
|
||||
pytest-timeout
|
||||
pytest-capturelog
|
||||
pytest-cov
|
||||
python-coveralls
|
||||
|
177
docs/Makefile
Normal file
177
docs/Makefile
Normal file
@ -0,0 +1,177 @@
|
||||
# Makefile for Sphinx documentation
|
||||
#
|
||||
|
||||
# You can set these variables from the command line.
|
||||
SPHINXOPTS =
|
||||
SPHINXBUILD = sphinx-build
|
||||
PAPER =
|
||||
BUILDDIR = _build
|
||||
|
||||
# User-friendly check for sphinx-build
|
||||
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
|
||||
$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
|
||||
endif
|
||||
|
||||
# Internal variables.
|
||||
PAPEROPT_a4 = -D latex_paper_size=a4
|
||||
PAPEROPT_letter = -D latex_paper_size=letter
|
||||
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
|
||||
# the i18n builder cannot share the environment and doctrees with the others
|
||||
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
|
||||
|
||||
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
|
||||
|
||||
help:
|
||||
@echo "Please use \`make <target>' where <target> is one of"
|
||||
@echo " html to make standalone HTML files"
|
||||
@echo " dirhtml to make HTML files named index.html in directories"
|
||||
@echo " singlehtml to make a single large HTML file"
|
||||
@echo " pickle to make pickle files"
|
||||
@echo " json to make JSON files"
|
||||
@echo " htmlhelp to make HTML files and a HTML help project"
|
||||
@echo " qthelp to make HTML files and a qthelp project"
|
||||
@echo " devhelp to make HTML files and a Devhelp project"
|
||||
@echo " epub to make an epub"
|
||||
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
|
||||
@echo " latexpdf to make LaTeX files and run them through pdflatex"
|
||||
@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
|
||||
@echo " text to make text files"
|
||||
@echo " man to make manual pages"
|
||||
@echo " texinfo to make Texinfo files"
|
||||
@echo " info to make Texinfo files and run them through makeinfo"
|
||||
@echo " gettext to make PO message catalogs"
|
||||
@echo " changes to make an overview of all changed/added/deprecated items"
|
||||
@echo " xml to make Docutils-native XML files"
|
||||
@echo " pseudoxml to make pseudoxml-XML files for display purposes"
|
||||
@echo " linkcheck to check all external links for integrity"
|
||||
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILDDIR)/*
|
||||
|
||||
html:
|
||||
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
|
||||
@echo
|
||||
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
|
||||
|
||||
dirhtml:
|
||||
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
|
||||
@echo
|
||||
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
|
||||
|
||||
singlehtml:
|
||||
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
|
||||
@echo
|
||||
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
|
||||
|
||||
pickle:
|
||||
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
|
||||
@echo
|
||||
@echo "Build finished; now you can process the pickle files."
|
||||
|
||||
json:
|
||||
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
|
||||
@echo
|
||||
@echo "Build finished; now you can process the JSON files."
|
||||
|
||||
htmlhelp:
|
||||
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
|
||||
@echo
|
||||
@echo "Build finished; now you can run HTML Help Workshop with the" \
|
||||
".hhp project file in $(BUILDDIR)/htmlhelp."
|
||||
|
||||
qthelp:
|
||||
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
|
||||
@echo
|
||||
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
|
||||
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
|
||||
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/GNS3.qhcp"
|
||||
@echo "To view the help file:"
|
||||
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/GNS3.qhc"
|
||||
|
||||
devhelp:
|
||||
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
|
||||
@echo
|
||||
@echo "Build finished."
|
||||
@echo "To view the help file:"
|
||||
@echo "# mkdir -p $$HOME/.local/share/devhelp/GNS3"
|
||||
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/GNS3"
|
||||
@echo "# devhelp"
|
||||
|
||||
epub:
|
||||
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
|
||||
@echo
|
||||
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
|
||||
|
||||
latex:
|
||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||
@echo
|
||||
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
|
||||
@echo "Run \`make' in that directory to run these through (pdf)latex" \
|
||||
"(use \`make latexpdf' here to do that automatically)."
|
||||
|
||||
latexpdf:
|
||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||
@echo "Running LaTeX files through pdflatex..."
|
||||
$(MAKE) -C $(BUILDDIR)/latex all-pdf
|
||||
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
|
||||
|
||||
latexpdfja:
|
||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||
@echo "Running LaTeX files through platex and dvipdfmx..."
|
||||
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
|
||||
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
|
||||
|
||||
text:
|
||||
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
|
||||
@echo
|
||||
@echo "Build finished. The text files are in $(BUILDDIR)/text."
|
||||
|
||||
man:
|
||||
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
|
||||
@echo
|
||||
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
|
||||
|
||||
texinfo:
|
||||
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
||||
@echo
|
||||
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
|
||||
@echo "Run \`make' in that directory to run these through makeinfo" \
|
||||
"(use \`make info' here to do that automatically)."
|
||||
|
||||
info:
|
||||
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
||||
@echo "Running Texinfo files through makeinfo..."
|
||||
make -C $(BUILDDIR)/texinfo info
|
||||
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
|
||||
|
||||
gettext:
|
||||
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
|
||||
@echo
|
||||
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
|
||||
|
||||
changes:
|
||||
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
|
||||
@echo
|
||||
@echo "The overview file is in $(BUILDDIR)/changes."
|
||||
|
||||
linkcheck:
|
||||
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
|
||||
@echo
|
||||
@echo "Link check complete; look for any errors in the above output " \
|
||||
"or in $(BUILDDIR)/linkcheck/output.txt."
|
||||
|
||||
doctest:
|
||||
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
|
||||
@echo "Testing of doctests in the sources finished, look at the " \
|
||||
"results in $(BUILDDIR)/doctest/output.txt."
|
||||
|
||||
xml:
|
||||
$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
|
||||
@echo
|
||||
@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
|
||||
|
||||
pseudoxml:
|
||||
$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
|
||||
@echo
|
||||
@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
|
13
docs/api/examples/delete_projectsprojectid.txt
Normal file
13
docs/api/examples/delete_projectsprojectid.txt
Normal file
@ -0,0 +1,13 @@
|
||||
curl -i -X DELETE 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80'
|
||||
|
||||
DELETE /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80 HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 0
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}
|
||||
|
13
docs/api/examples/delete_projectsprojectidiouvmsvmid.txt
Normal file
13
docs/api/examples/delete_projectsprojectidiouvmsvmid.txt
Normal file
@ -0,0 +1,13 @@
|
||||
curl -i -X DELETE 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/becc8bf8-1936-4076-b7dd-ee83ba078907'
|
||||
|
||||
DELETE /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/becc8bf8-1936-4076-b7dd-ee83ba078907 HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 0
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/iou/vms/{vm_id}
|
||||
|
@ -0,0 +1,13 @@
|
||||
curl -i -X DELETE 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/779f3f81-60ab-4d26-860c-75f915b1d70b/adapters/1/ports/0/nio'
|
||||
|
||||
DELETE /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/779f3f81-60ab-4d26-860c-75f915b1d70b/adapters/1/ports/0/nio HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 0
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/iou/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
|
||||
|
13
docs/api/examples/delete_projectsprojectidqemuvmsvmid.txt
Normal file
13
docs/api/examples/delete_projectsprojectidqemuvmsvmid.txt
Normal file
@ -0,0 +1,13 @@
|
||||
curl -i -X DELETE 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/6537c17b-2e47-46f9-b96b-6fc66382709f'
|
||||
|
||||
DELETE /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/6537c17b-2e47-46f9-b96b-6fc66382709f HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 0
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/qemu/vms/{vm_id}
|
||||
|
@ -0,0 +1,13 @@
|
||||
curl -i -X DELETE 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/b54e4616-058f-413d-a589-0b7c5da20aa3/adapters/1/ports/0/nio'
|
||||
|
||||
DELETE /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/b54e4616-058f-413d-a589-0b7c5da20aa3/adapters/1/ports/0/nio HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 0
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/qemu/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
|
||||
|
@ -0,0 +1,13 @@
|
||||
curl -i -X DELETE 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/387fb016-f1fc-4844-a25e-97c08ef77274/adapters/0/ports/0/nio'
|
||||
|
||||
DELETE /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/387fb016-f1fc-4844-a25e-97c08ef77274/adapters/0/ports/0/nio HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 0
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/virtualbox/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
|
||||
|
13
docs/api/examples/delete_projectsprojectidvpcsvmsvmid.txt
Normal file
13
docs/api/examples/delete_projectsprojectidvpcsvmsvmid.txt
Normal file
@ -0,0 +1,13 @@
|
||||
curl -i -X DELETE 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/6bc73868-fea6-449b-af5c-e7b746e4129d'
|
||||
|
||||
DELETE /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/6bc73868-fea6-449b-af5c-e7b746e4129d HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 0
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/vpcs/vms/{vm_id}
|
||||
|
@ -0,0 +1,13 @@
|
||||
curl -i -X DELETE 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/f7d1d6ad-422b-486a-8d23-1ff46cd8bc4b/adapters/0/ports/0/nio'
|
||||
|
||||
DELETE /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/f7d1d6ad-422b-486a-8d23-1ff46cd8bc4b/adapters/0/ports/0/nio HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 0
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/vpcs/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
|
||||
|
64
docs/api/examples/get_interfaces.txt
Normal file
64
docs/api/examples/get_interfaces.txt
Normal file
@ -0,0 +1,64 @@
|
||||
curl -i -X GET 'http://localhost:8000/v1/interfaces'
|
||||
|
||||
GET /v1/interfaces HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 718
|
||||
CONTENT-TYPE: application/json
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/interfaces
|
||||
|
||||
[
|
||||
{
|
||||
"id": "lo0",
|
||||
"name": "lo0"
|
||||
},
|
||||
{
|
||||
"id": "gif0",
|
||||
"name": "gif0"
|
||||
},
|
||||
{
|
||||
"id": "stf0",
|
||||
"name": "stf0"
|
||||
},
|
||||
{
|
||||
"id": "en0",
|
||||
"name": "en0"
|
||||
},
|
||||
{
|
||||
"id": "en1",
|
||||
"name": "en1"
|
||||
},
|
||||
{
|
||||
"id": "fw0",
|
||||
"name": "fw0"
|
||||
},
|
||||
{
|
||||
"id": "en2",
|
||||
"name": "en2"
|
||||
},
|
||||
{
|
||||
"id": "p2p0",
|
||||
"name": "p2p0"
|
||||
},
|
||||
{
|
||||
"id": "bridge0",
|
||||
"name": "bridge0"
|
||||
},
|
||||
{
|
||||
"id": "vboxnet0",
|
||||
"name": "vboxnet0"
|
||||
},
|
||||
{
|
||||
"id": "vboxnet1",
|
||||
"name": "vboxnet1"
|
||||
},
|
||||
{
|
||||
"id": "vboxnet2",
|
||||
"name": "vboxnet2"
|
||||
}
|
||||
]
|
21
docs/api/examples/get_projectsprojectid.txt
Normal file
21
docs/api/examples/get_projectsprojectid.txt
Normal file
@ -0,0 +1,21 @@
|
||||
curl -i -X GET 'http://localhost:8000/v1/projects/00010203-0405-0607-0809-0a0b0c0d0e02'
|
||||
|
||||
GET /v1/projects/00010203-0405-0607-0809-0a0b0c0d0e02 HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 297
|
||||
CONTENT-TYPE: application/json
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}
|
||||
|
||||
{
|
||||
"location": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmphbzo0jp9",
|
||||
"name": "test",
|
||||
"path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmphbzo0jp9/00010203-0405-0607-0809-0a0b0c0d0e02",
|
||||
"project_id": "00010203-0405-0607-0809-0a0b0c0d0e02",
|
||||
"temporary": false
|
||||
}
|
29
docs/api/examples/get_projectsprojectidiouvmsvmid.txt
Normal file
29
docs/api/examples/get_projectsprojectidiouvmsvmid.txt
Normal file
@ -0,0 +1,29 @@
|
||||
curl -i -X GET 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/ede1bba5-0723-4fd8-9e89-bdfffe5f5c8f'
|
||||
|
||||
GET /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/ede1bba5-0723-4fd8-9e89-bdfffe5f5c8f HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 386
|
||||
CONTENT-TYPE: application/json
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/iou/vms/{vm_id}
|
||||
|
||||
{
|
||||
"console": 2000,
|
||||
"ethernet_adapters": 2,
|
||||
"initial_config": null,
|
||||
"iourc_path": null,
|
||||
"l1_keepalives": false,
|
||||
"name": "PC TEST 1",
|
||||
"nvram": 128,
|
||||
"path": "iou.bin",
|
||||
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
|
||||
"ram": 256,
|
||||
"serial_adapters": 2,
|
||||
"use_default_iou_values": true,
|
||||
"vm_id": "ede1bba5-0723-4fd8-9e89-bdfffe5f5c8f"
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
curl -i -X GET 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/821b0dc3-4cc0-4899-8184-75bfc22db584/initial_config'
|
||||
|
||||
GET /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/821b0dc3-4cc0-4899-8184-75bfc22db584/initial_config HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 25
|
||||
CONTENT-TYPE: application/json
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/iou/vms/{vm_id}/initial_config
|
||||
|
||||
{
|
||||
"content": "TEST"
|
||||
}
|
35
docs/api/examples/get_projectsprojectidqemuvmsvmid.txt
Normal file
35
docs/api/examples/get_projectsprojectidqemuvmsvmid.txt
Normal file
@ -0,0 +1,35 @@
|
||||
curl -i -X GET 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/e3935d2d-2bf9-4cde-8c7e-0bd1d74c3dad'
|
||||
|
||||
GET /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/e3935d2d-2bf9-4cde-8c7e-0bd1d74c3dad HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 597
|
||||
CONTENT-TYPE: application/json
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/qemu/vms/{vm_id}
|
||||
|
||||
{
|
||||
"adapter_type": "e1000",
|
||||
"adapters": 1,
|
||||
"console": 2000,
|
||||
"cpu_throttling": 0,
|
||||
"hda_disk_image": "",
|
||||
"hdb_disk_image": "",
|
||||
"hdc_disk_image": "",
|
||||
"hdd_disk_image": "",
|
||||
"initrd": "",
|
||||
"kernel_command_line": "",
|
||||
"kernel_image": "",
|
||||
"legacy_networking": false,
|
||||
"name": "PC TEST 1",
|
||||
"options": "",
|
||||
"process_priority": "low",
|
||||
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
|
||||
"qemu_path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmpyasp9636/qemu_x42",
|
||||
"ram": 256,
|
||||
"vm_id": "e3935d2d-2bf9-4cde-8c7e-0bd1d74c3dad"
|
||||
}
|
27
docs/api/examples/get_projectsprojectidvirtualboxvmsvmid.txt
Normal file
27
docs/api/examples/get_projectsprojectidvirtualboxvmsvmid.txt
Normal file
@ -0,0 +1,27 @@
|
||||
curl -i -X GET 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/f49ff215-0872-4bf7-90c8-3d9ecc2b2f2b'
|
||||
|
||||
GET /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/f49ff215-0872-4bf7-90c8-3d9ecc2b2f2b HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 361
|
||||
CONTENT-TYPE: application/json
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/virtualbox/vms/{vm_id}
|
||||
|
||||
{
|
||||
"adapter_type": "Intel PRO/1000 MT Desktop (82540EM)",
|
||||
"adapters": 0,
|
||||
"console": 2001,
|
||||
"enable_remote_console": false,
|
||||
"headless": false,
|
||||
"name": "VMTEST",
|
||||
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
|
||||
"ram": 0,
|
||||
"use_any_adapter": false,
|
||||
"vm_id": "f49ff215-0872-4bf7-90c8-3d9ecc2b2f2b",
|
||||
"vmname": "VMTEST"
|
||||
}
|
22
docs/api/examples/get_projectsprojectidvpcsvmsvmid.txt
Normal file
22
docs/api/examples/get_projectsprojectidvpcsvmsvmid.txt
Normal file
@ -0,0 +1,22 @@
|
||||
curl -i -X GET 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/3ff6ff9e-93de-45ae-a7ec-e296d406ffe1'
|
||||
|
||||
GET /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/3ff6ff9e-93de-45ae-a7ec-e296d406ffe1 HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 220
|
||||
CONTENT-TYPE: application/json
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/vpcs/vms/{vm_id}
|
||||
|
||||
{
|
||||
"console": 2009,
|
||||
"name": "PC TEST 1",
|
||||
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
|
||||
"startup_script": null,
|
||||
"startup_script_path": null,
|
||||
"vm_id": "3ff6ff9e-93de-45ae-a7ec-e296d406ffe1"
|
||||
}
|
24
docs/api/examples/get_qemubinaries.txt
Normal file
24
docs/api/examples/get_qemubinaries.txt
Normal file
@ -0,0 +1,24 @@
|
||||
curl -i -X GET 'http://localhost:8000/v1/qemu/binaries'
|
||||
|
||||
GET /v1/qemu/binaries HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 134
|
||||
CONTENT-TYPE: application/json
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/qemu/binaries
|
||||
|
||||
[
|
||||
{
|
||||
"path": "/tmp/1",
|
||||
"version": "2.2.0"
|
||||
},
|
||||
{
|
||||
"path": "/tmp/2",
|
||||
"version": "2.1.0"
|
||||
}
|
||||
]
|
18
docs/api/examples/get_version.txt
Normal file
18
docs/api/examples/get_version.txt
Normal file
@ -0,0 +1,18 @@
|
||||
curl -i -X GET 'http://localhost:8000/v1/version'
|
||||
|
||||
GET /v1/version HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 49
|
||||
CONTENT-TYPE: application/json
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/version
|
||||
|
||||
{
|
||||
"local": true,
|
||||
"version": "1.3.1.rc2"
|
||||
}
|
13
docs/api/examples/post_configreload.txt
Normal file
13
docs/api/examples/post_configreload.txt
Normal file
@ -0,0 +1,13 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/config/reload' -d '{}'
|
||||
|
||||
POST /v1/config/reload HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 0
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/config/reload
|
||||
|
23
docs/api/examples/post_projects.txt
Normal file
23
docs/api/examples/post_projects.txt
Normal file
@ -0,0 +1,23 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/projects' -d '{"name": "test"}'
|
||||
|
||||
POST /v1/projects HTTP/1.1
|
||||
{
|
||||
"name": "test"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 297
|
||||
CONTENT-TYPE: application/json
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects
|
||||
|
||||
{
|
||||
"location": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmp_6lclsv7",
|
||||
"name": "test",
|
||||
"path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmp_6lclsv7/187543e2-5d46-4108-a623-cfdd31fa300e",
|
||||
"project_id": "187543e2-5d46-4108-a623-cfdd31fa300e",
|
||||
"temporary": false
|
||||
}
|
13
docs/api/examples/post_projectsprojectidclose.txt
Normal file
13
docs/api/examples/post_projectsprojectidclose.txt
Normal file
@ -0,0 +1,13 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/close' -d '{}'
|
||||
|
||||
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/close HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 0
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/close
|
||||
|
13
docs/api/examples/post_projectsprojectidcommit.txt
Normal file
13
docs/api/examples/post_projectsprojectidcommit.txt
Normal file
@ -0,0 +1,13 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/commit' -d '{}'
|
||||
|
||||
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/commit HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 0
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/commit
|
||||
|
40
docs/api/examples/post_projectsprojectidiouvms.txt
Normal file
40
docs/api/examples/post_projectsprojectidiouvms.txt
Normal file
@ -0,0 +1,40 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms' -d '{"ethernet_adapters": 0, "initial_config_content": "hostname test", "iourc_content": "test", "l1_keepalives": true, "name": "PC TEST 1", "nvram": 512, "path": "/private/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/pytest-4450/test_iou_create_with_params0/iou.bin", "ram": 1024, "serial_adapters": 4, "use_default_iou_values": true}'
|
||||
|
||||
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms HTTP/1.1
|
||||
{
|
||||
"ethernet_adapters": 0,
|
||||
"initial_config_content": "hostname test",
|
||||
"iourc_content": "test",
|
||||
"l1_keepalives": true,
|
||||
"name": "PC TEST 1",
|
||||
"nvram": 512,
|
||||
"path": "/private/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/pytest-4450/test_iou_create_with_params0/iou.bin",
|
||||
"ram": 1024,
|
||||
"serial_adapters": 4,
|
||||
"use_default_iou_values": true
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 466
|
||||
CONTENT-TYPE: application/json
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/iou/vms
|
||||
|
||||
{
|
||||
"console": 2000,
|
||||
"ethernet_adapters": 0,
|
||||
"initial_config": "initial-config.cfg",
|
||||
"iourc_path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmps796q8lx/iourc",
|
||||
"l1_keepalives": true,
|
||||
"name": "PC TEST 1",
|
||||
"nvram": 512,
|
||||
"path": "iou.bin",
|
||||
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
|
||||
"ram": 1024,
|
||||
"serial_adapters": 4,
|
||||
"use_default_iou_values": true,
|
||||
"vm_id": "69f5842a-d4e5-45fe-a500-1010c72f1748"
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/04648c72-4339-471e-aa12-57b42d7ea18b/adapters/1/ports/0/nio' -d '{"ethernet_device": "eth0", "type": "nio_generic_ethernet"}'
|
||||
|
||||
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/04648c72-4339-471e-aa12-57b42d7ea18b/adapters/1/ports/0/nio HTTP/1.1
|
||||
{
|
||||
"ethernet_device": "eth0",
|
||||
"type": "nio_generic_ethernet"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 69
|
||||
CONTENT-TYPE: application/json
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/iou/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
|
||||
|
||||
{
|
||||
"ethernet_device": "eth0",
|
||||
"type": "nio_generic_ethernet"
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/6056b617-d0c4-4683-bc9e-d0130beec951/adapters/0/ports/0/start_capture' -d '{"capture_file_name": "test.pcap", "data_link_type": "DLT_EN10MB"}'
|
||||
|
||||
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/6056b617-d0c4-4683-bc9e-d0130beec951/adapters/0/ports/0/start_capture HTTP/1.1
|
||||
{
|
||||
"capture_file_name": "test.pcap",
|
||||
"data_link_type": "DLT_EN10MB"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 158
|
||||
CONTENT-TYPE: application/json
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/iou/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/start_capture
|
||||
|
||||
{
|
||||
"pcap_file_path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmp367810hd/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/captures/test.pcap"
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/0fb3c393-7cda-4abc-ad76-a9e7af04abea/adapters/0/ports/0/stop_capture' -d '{}'
|
||||
|
||||
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/0fb3c393-7cda-4abc-ad76-a9e7af04abea/adapters/0/ports/0/stop_capture HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 0
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/iou/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture
|
||||
|
13
docs/api/examples/post_projectsprojectidiouvmsvmidreload.txt
Normal file
13
docs/api/examples/post_projectsprojectidiouvmsvmidreload.txt
Normal file
@ -0,0 +1,13 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/b32c38db-3692-4719-b94f-2b3f664cd06f/reload' -d '{}'
|
||||
|
||||
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/b32c38db-3692-4719-b94f-2b3f664cd06f/reload HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 0
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/iou/vms/{vm_id}/reload
|
||||
|
13
docs/api/examples/post_projectsprojectidiouvmsvmidstart.txt
Normal file
13
docs/api/examples/post_projectsprojectidiouvmsvmidstart.txt
Normal file
@ -0,0 +1,13 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/55209a6f-8fe0-49d1-a884-b7cd09547b5c/start' -d '{}'
|
||||
|
||||
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/55209a6f-8fe0-49d1-a884-b7cd09547b5c/start HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 0
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/iou/vms/{vm_id}/start
|
||||
|
13
docs/api/examples/post_projectsprojectidiouvmsvmidstop.txt
Normal file
13
docs/api/examples/post_projectsprojectidiouvmsvmidstop.txt
Normal file
@ -0,0 +1,13 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/d893bd2c-d84e-4f89-ad84-f3bdfaf460b6/stop' -d '{}'
|
||||
|
||||
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/d893bd2c-d84e-4f89-ad84-f3bdfaf460b6/stop HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 0
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/iou/vms/{vm_id}/stop
|
||||
|
17
docs/api/examples/post_projectsprojectidportsudp.txt
Normal file
17
docs/api/examples/post_projectsprojectidportsudp.txt
Normal file
@ -0,0 +1,17 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/ports/udp' -d '{}'
|
||||
|
||||
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/ports/udp HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 25
|
||||
CONTENT-TYPE: application/json
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/ports/udp
|
||||
|
||||
{
|
||||
"udp_port": 10000
|
||||
}
|
40
docs/api/examples/post_projectsprojectidqemuvms.txt
Normal file
40
docs/api/examples/post_projectsprojectidqemuvms.txt
Normal file
@ -0,0 +1,40 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms' -d '{"hda_disk_image": "/tmp/hda", "name": "PC TEST 1", "qemu_path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmpyasp9636/qemu_x42", "ram": 1024}'
|
||||
|
||||
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms HTTP/1.1
|
||||
{
|
||||
"hda_disk_image": "/tmp/hda",
|
||||
"name": "PC TEST 1",
|
||||
"qemu_path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmpyasp9636/qemu_x42",
|
||||
"ram": 1024
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 606
|
||||
CONTENT-TYPE: application/json
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/qemu/vms
|
||||
|
||||
{
|
||||
"adapter_type": "e1000",
|
||||
"adapters": 1,
|
||||
"console": 2000,
|
||||
"cpu_throttling": 0,
|
||||
"hda_disk_image": "/tmp/hda",
|
||||
"hdb_disk_image": "",
|
||||
"hdc_disk_image": "",
|
||||
"hdd_disk_image": "",
|
||||
"initrd": "",
|
||||
"kernel_command_line": "",
|
||||
"kernel_image": "",
|
||||
"legacy_networking": false,
|
||||
"name": "PC TEST 1",
|
||||
"options": "",
|
||||
"process_priority": "low",
|
||||
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
|
||||
"qemu_path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmpyasp9636/qemu_x42",
|
||||
"ram": 1024,
|
||||
"vm_id": "8c325041-39a8-4c31-b921-b66dadadc353"
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/e791569e-7f95-4a1d-9f8d-b48611afeef3/adapters/1/ports/0/nio' -d '{"ethernet_device": "eth0", "type": "nio_generic_ethernet"}'
|
||||
|
||||
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/e791569e-7f95-4a1d-9f8d-b48611afeef3/adapters/1/ports/0/nio HTTP/1.1
|
||||
{
|
||||
"ethernet_device": "eth0",
|
||||
"type": "nio_generic_ethernet"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 69
|
||||
CONTENT-TYPE: application/json
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/qemu/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
|
||||
|
||||
{
|
||||
"ethernet_device": "eth0",
|
||||
"type": "nio_generic_ethernet"
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/e6de45b1-048b-498b-9875-de76762532e9/reload' -d '{}'
|
||||
|
||||
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/e6de45b1-048b-498b-9875-de76762532e9/reload HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 0
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/qemu/vms/{vm_id}/reload
|
||||
|
@ -0,0 +1,13 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/d7152d7c-7f23-4d92-9ee1-fae132a50b3b/resume' -d '{}'
|
||||
|
||||
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/d7152d7c-7f23-4d92-9ee1-fae132a50b3b/resume HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 0
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/qemu/vms/{vm_id}/resume
|
||||
|
13
docs/api/examples/post_projectsprojectidqemuvmsvmidstart.txt
Normal file
13
docs/api/examples/post_projectsprojectidqemuvmsvmidstart.txt
Normal file
@ -0,0 +1,13 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/031c1e57-577c-4ff4-91d1-da6fe0816fdd/start' -d '{}'
|
||||
|
||||
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/031c1e57-577c-4ff4-91d1-da6fe0816fdd/start HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 0
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/qemu/vms/{vm_id}/start
|
||||
|
13
docs/api/examples/post_projectsprojectidqemuvmsvmidstop.txt
Normal file
13
docs/api/examples/post_projectsprojectidqemuvmsvmidstop.txt
Normal file
@ -0,0 +1,13 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/79ca17e8-0194-4682-bb2a-0bdd9f7d1e1a/stop' -d '{}'
|
||||
|
||||
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/79ca17e8-0194-4682-bb2a-0bdd9f7d1e1a/stop HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 0
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/qemu/vms/{vm_id}/stop
|
||||
|
@ -0,0 +1,13 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/7e24f49b-51ea-410f-bc94-16fc58071493/suspend' -d '{}'
|
||||
|
||||
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/7e24f49b-51ea-410f-bc94-16fc58071493/suspend HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 0
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/qemu/vms/{vm_id}/suspend
|
||||
|
31
docs/api/examples/post_projectsprojectidvirtualboxvms.txt
Normal file
31
docs/api/examples/post_projectsprojectidvirtualboxvms.txt
Normal file
@ -0,0 +1,31 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms' -d '{"linked_clone": false, "name": "VM1", "vmname": "VM1"}'
|
||||
|
||||
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms HTTP/1.1
|
||||
{
|
||||
"linked_clone": false,
|
||||
"name": "VM1",
|
||||
"vmname": "VM1"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 355
|
||||
CONTENT-TYPE: application/json
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/virtualbox/vms
|
||||
|
||||
{
|
||||
"adapter_type": "Intel PRO/1000 MT Desktop (82540EM)",
|
||||
"adapters": 0,
|
||||
"console": 2000,
|
||||
"enable_remote_console": false,
|
||||
"headless": false,
|
||||
"name": "VM1",
|
||||
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
|
||||
"ram": 0,
|
||||
"use_any_adapter": false,
|
||||
"vm_id": "fd208626-81e5-449e-b145-fd6993f5097c",
|
||||
"vmname": "VM1"
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/5463a797-0eb0-41d2-8b32-1efbd7a353cc/adapters/0/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'
|
||||
|
||||
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/5463a797-0eb0-41d2-8b32-1efbd7a353cc/adapters/0/ports/0/nio HTTP/1.1
|
||||
{
|
||||
"lport": 4242,
|
||||
"rhost": "127.0.0.1",
|
||||
"rport": 4343,
|
||||
"type": "nio_udp"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 89
|
||||
CONTENT-TYPE: application/json
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/virtualbox/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
|
||||
|
||||
{
|
||||
"lport": 4242,
|
||||
"rhost": "127.0.0.1",
|
||||
"rport": 4343,
|
||||
"type": "nio_udp"
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/f24209c8-671e-428a-9561-db4775f6b8a7/reload' -d '{}'
|
||||
|
||||
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/f24209c8-671e-428a-9561-db4775f6b8a7/reload HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 0
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/virtualbox/vms/{vm_id}/reload
|
||||
|
@ -0,0 +1,13 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/70df82f6-e868-4ab3-9be9-d456871f41dc/resume' -d '{}'
|
||||
|
||||
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/70df82f6-e868-4ab3-9be9-d456871f41dc/resume HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 0
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/virtualbox/vms/{vm_id}/resume
|
||||
|
@ -0,0 +1,13 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/354d48fe-cab6-41d8-8cc1-64716e02c3a8/start' -d '{}'
|
||||
|
||||
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/354d48fe-cab6-41d8-8cc1-64716e02c3a8/start HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 0
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/virtualbox/vms/{vm_id}/start
|
||||
|
@ -0,0 +1,13 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/90733316-a02a-490b-b8c4-e6ea4a32296a/stop' -d '{}'
|
||||
|
||||
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/90733316-a02a-490b-b8c4-e6ea4a32296a/stop HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 0
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/virtualbox/vms/{vm_id}/stop
|
||||
|
@ -0,0 +1,13 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/0f257aa5-d61d-4ee9-872a-898462f7ecdf/suspend' -d '{}'
|
||||
|
||||
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/0f257aa5-d61d-4ee9-872a-898462f7ecdf/suspend HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 0
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/virtualbox/vms/{vm_id}/suspend
|
||||
|
24
docs/api/examples/post_projectsprojectidvpcsvms.txt
Normal file
24
docs/api/examples/post_projectsprojectidvpcsvms.txt
Normal file
@ -0,0 +1,24 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms' -d '{"name": "PC TEST 1"}'
|
||||
|
||||
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms HTTP/1.1
|
||||
{
|
||||
"name": "PC TEST 1"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 220
|
||||
CONTENT-TYPE: application/json
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/vpcs/vms
|
||||
|
||||
{
|
||||
"console": 2009,
|
||||
"name": "PC TEST 1",
|
||||
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
|
||||
"startup_script": null,
|
||||
"startup_script_path": null,
|
||||
"vm_id": "68c6af80-0a82-406e-b051-24c95bd728f4"
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/4125e37f-2bf1-435c-a86c-ae1fce4c916a/adapters/0/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'
|
||||
|
||||
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/4125e37f-2bf1-435c-a86c-ae1fce4c916a/adapters/0/ports/0/nio HTTP/1.1
|
||||
{
|
||||
"lport": 4242,
|
||||
"rhost": "127.0.0.1",
|
||||
"rport": 4343,
|
||||
"type": "nio_udp"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 89
|
||||
CONTENT-TYPE: application/json
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/vpcs/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
|
||||
|
||||
{
|
||||
"lport": 4242,
|
||||
"rhost": "127.0.0.1",
|
||||
"rport": 4343,
|
||||
"type": "nio_udp"
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/4c5c5174-07bf-4f2a-93ab-cec244e24852/reload' -d '{}'
|
||||
|
||||
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/4c5c5174-07bf-4f2a-93ab-cec244e24852/reload HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 0
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/vpcs/vms/{vm_id}/reload
|
||||
|
13
docs/api/examples/post_projectsprojectidvpcsvmsvmidstart.txt
Normal file
13
docs/api/examples/post_projectsprojectidvpcsvmsvmidstart.txt
Normal file
@ -0,0 +1,13 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/43ac3ea8-78a7-405e-ad5e-653293c48e66/start' -d '{}'
|
||||
|
||||
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/43ac3ea8-78a7-405e-ad5e-653293c48e66/start HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 0
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/vpcs/vms/{vm_id}/start
|
||||
|
13
docs/api/examples/post_projectsprojectidvpcsvmsvmidstop.txt
Normal file
13
docs/api/examples/post_projectsprojectidvpcsvmsvmidstop.txt
Normal file
@ -0,0 +1,13 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/59df4b41-6a23-4c99-9370-600b3a2cff23/stop' -d '{}'
|
||||
|
||||
POST /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/59df4b41-6a23-4c99-9370-600b3a2cff23/stop HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 0
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/vpcs/vms/{vm_id}/stop
|
||||
|
19
docs/api/examples/post_version.txt
Normal file
19
docs/api/examples/post_version.txt
Normal file
@ -0,0 +1,19 @@
|
||||
curl -i -X POST 'http://localhost:8000/v1/version' -d '{"version": "1.3.1.rc2"}'
|
||||
|
||||
POST /v1/version HTTP/1.1
|
||||
{
|
||||
"version": "1.3.1.rc2"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 30
|
||||
CONTENT-TYPE: application/json
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/version
|
||||
|
||||
{
|
||||
"version": "1.3.1.rc2"
|
||||
}
|
21
docs/api/examples/put_projectsprojectid.txt
Normal file
21
docs/api/examples/put_projectsprojectid.txt
Normal file
@ -0,0 +1,21 @@
|
||||
curl -i -X PUT 'http://localhost:8000/v1/projects/b32aab45-411c-4171-9f20-357eaa00d54c' -d '{"name": "second_name", "path": "/private/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/pytest-4450/test_update_path_project_non_l0"}'
|
||||
|
||||
PUT /v1/projects/b32aab45-411c-4171-9f20-357eaa00d54c HTTP/1.1
|
||||
{
|
||||
"name": "second_name",
|
||||
"path": "/private/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/pytest-4450/test_update_path_project_non_l0"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 403
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 100
|
||||
CONTENT-TYPE: application/json
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}
|
||||
|
||||
{
|
||||
"message": "You are not allowed to modify the project directory location",
|
||||
"status": 403
|
||||
}
|
40
docs/api/examples/put_projectsprojectidiouvmsvmid.txt
Normal file
40
docs/api/examples/put_projectsprojectidiouvmsvmid.txt
Normal file
@ -0,0 +1,40 @@
|
||||
curl -i -X PUT 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/3812eced-e777-4f35-8c7e-e6736e34fcfd' -d '{"console": 2001, "ethernet_adapters": 4, "initial_config_content": "hostname test", "iourc_content": "test", "l1_keepalives": true, "name": "test", "nvram": 2048, "ram": 512, "serial_adapters": 0, "use_default_iou_values": true}'
|
||||
|
||||
PUT /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/vms/3812eced-e777-4f35-8c7e-e6736e34fcfd HTTP/1.1
|
||||
{
|
||||
"console": 2001,
|
||||
"ethernet_adapters": 4,
|
||||
"initial_config_content": "hostname test",
|
||||
"iourc_content": "test",
|
||||
"l1_keepalives": true,
|
||||
"name": "test",
|
||||
"nvram": 2048,
|
||||
"ram": 512,
|
||||
"serial_adapters": 0,
|
||||
"use_default_iou_values": true
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 461
|
||||
CONTENT-TYPE: application/json
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/iou/vms/{vm_id}
|
||||
|
||||
{
|
||||
"console": 2001,
|
||||
"ethernet_adapters": 4,
|
||||
"initial_config": "initial-config.cfg",
|
||||
"iourc_path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmpws7fdl5e/iourc",
|
||||
"l1_keepalives": true,
|
||||
"name": "test",
|
||||
"nvram": 2048,
|
||||
"path": "iou.bin",
|
||||
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
|
||||
"ram": 512,
|
||||
"serial_adapters": 0,
|
||||
"use_default_iou_values": true,
|
||||
"vm_id": "3812eced-e777-4f35-8c7e-e6736e34fcfd"
|
||||
}
|
40
docs/api/examples/put_projectsprojectidqemuvmsvmid.txt
Normal file
40
docs/api/examples/put_projectsprojectidqemuvmsvmid.txt
Normal file
@ -0,0 +1,40 @@
|
||||
curl -i -X PUT 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/e5b90e65-6f6a-4d44-b2d8-3a5c3a4a626b' -d '{"console": 2001, "hdb_disk_image": "/tmp/hdb", "name": "test", "ram": 1024}'
|
||||
|
||||
PUT /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/vms/e5b90e65-6f6a-4d44-b2d8-3a5c3a4a626b HTTP/1.1
|
||||
{
|
||||
"console": 2001,
|
||||
"hdb_disk_image": "/tmp/hdb",
|
||||
"name": "test",
|
||||
"ram": 1024
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 601
|
||||
CONTENT-TYPE: application/json
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/qemu/vms/{vm_id}
|
||||
|
||||
{
|
||||
"adapter_type": "e1000",
|
||||
"adapters": 1,
|
||||
"console": 2001,
|
||||
"cpu_throttling": 0,
|
||||
"hda_disk_image": "",
|
||||
"hdb_disk_image": "/tmp/hdb",
|
||||
"hdc_disk_image": "",
|
||||
"hdd_disk_image": "",
|
||||
"initrd": "",
|
||||
"kernel_command_line": "",
|
||||
"kernel_image": "",
|
||||
"legacy_networking": false,
|
||||
"name": "test",
|
||||
"options": "",
|
||||
"process_priority": "low",
|
||||
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
|
||||
"qemu_path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmpyasp9636/qemu_x42",
|
||||
"ram": 1024,
|
||||
"vm_id": "e5b90e65-6f6a-4d44-b2d8-3a5c3a4a626b"
|
||||
}
|
30
docs/api/examples/put_projectsprojectidvirtualboxvmsvmid.txt
Normal file
30
docs/api/examples/put_projectsprojectidvirtualboxvmsvmid.txt
Normal file
@ -0,0 +1,30 @@
|
||||
curl -i -X PUT 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/514963f5-93f8-4d18-bcd6-7d50ef7164a6' -d '{"console": 2010, "name": "test"}'
|
||||
|
||||
PUT /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/vms/514963f5-93f8-4d18-bcd6-7d50ef7164a6 HTTP/1.1
|
||||
{
|
||||
"console": 2010,
|
||||
"name": "test"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 359
|
||||
CONTENT-TYPE: application/json
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/virtualbox/vms/{vm_id}
|
||||
|
||||
{
|
||||
"adapter_type": "Intel PRO/1000 MT Desktop (82540EM)",
|
||||
"adapters": 0,
|
||||
"console": 2010,
|
||||
"enable_remote_console": false,
|
||||
"headless": false,
|
||||
"name": "test",
|
||||
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
|
||||
"ram": 0,
|
||||
"use_any_adapter": false,
|
||||
"vm_id": "514963f5-93f8-4d18-bcd6-7d50ef7164a6",
|
||||
"vmname": "VMTEST"
|
||||
}
|
26
docs/api/examples/put_projectsprojectidvpcsvmsvmid.txt
Normal file
26
docs/api/examples/put_projectsprojectidvpcsvmsvmid.txt
Normal file
@ -0,0 +1,26 @@
|
||||
curl -i -X PUT 'http://localhost:8000/v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/4905e649-6e81-446d-a60b-fd8b058a85e8' -d '{"console": 2011, "name": "test", "startup_script": "ip 192.168.1.1"}'
|
||||
|
||||
PUT /v1/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/vms/4905e649-6e81-446d-a60b-fd8b058a85e8 HTTP/1.1
|
||||
{
|
||||
"console": 2011,
|
||||
"name": "test",
|
||||
"startup_script": "ip 192.168.1.1"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
CONNECTION: keep-alive
|
||||
CONTENT-LENGTH: 236
|
||||
CONTENT-TYPE: application/json
|
||||
DATE: Thu, 08 Jan 2015 16:09:15 GMT
|
||||
SERVER: Python/3.4 GNS3/1.3.1.rc2
|
||||
X-ROUTE: /v1/projects/{project_id}/vpcs/vms/{vm_id}
|
||||
|
||||
{
|
||||
"console": 2011,
|
||||
"name": "test",
|
||||
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
|
||||
"startup_script": "ip 192.168.1.1",
|
||||
"startup_script_path": "startup.vpc",
|
||||
"vm_id": "4905e649-6e81-446d-a60b-fd8b058a85e8"
|
||||
}
|
8
docs/api/v1/config.rst
Normal file
8
docs/api/v1/config.rst
Normal file
@ -0,0 +1,8 @@
|
||||
Config
|
||||
---------------------
|
||||
|
||||
.. toctree::
|
||||
:glob:
|
||||
:maxdepth: 2
|
||||
|
||||
config/*
|
20
docs/api/v1/config/configreload.rst
Normal file
20
docs/api/v1/config/configreload.rst
Normal file
@ -0,0 +1,20 @@
|
||||
/v1/config/reload
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
.. contents::
|
||||
|
||||
POST /v1/config/reload
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Check if version is the same as the server
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **201**: Config reload
|
||||
- **403**: Config reload refused
|
||||
|
||||
Sample session
|
||||
***************
|
||||
|
||||
|
||||
.. literalinclude:: ../../examples/post_configreload.txt
|
||||
|
8
docs/api/v1/dynamips_device.rst
Normal file
8
docs/api/v1/dynamips_device.rst
Normal file
@ -0,0 +1,8 @@
|
||||
Dynamips device
|
||||
---------------------
|
||||
|
||||
.. toctree::
|
||||
:glob:
|
||||
:maxdepth: 2
|
||||
|
||||
dynamips_device/*
|
@ -0,0 +1,43 @@
|
||||
/v1/projects/{project_id}/dynamips/devices
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
.. contents::
|
||||
|
||||
POST /v1/projects/**{project_id}**/dynamips/devices
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Create a new Dynamips device instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **400**: Invalid request
|
||||
- **201**: Instance created
|
||||
- **409**: Conflict
|
||||
|
||||
Input
|
||||
*******
|
||||
.. raw:: html
|
||||
|
||||
<table>
|
||||
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
|
||||
<tr><td>device_id</td> <td> </td> <td></td> <td>Dynamips device instance identifier</td> </tr>
|
||||
<tr><td>device_type</td> <td>✔</td> <td>string</td> <td>Dynamips device type</td> </tr>
|
||||
<tr><td>name</td> <td>✔</td> <td>string</td> <td>Dynamips device name</td> </tr>
|
||||
</table>
|
||||
|
||||
Output
|
||||
*******
|
||||
.. raw:: html
|
||||
|
||||
<table>
|
||||
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
|
||||
<tr><td>device_id</td> <td>✔</td> <td>string</td> <td>Dynamips router instance UUID</td> </tr>
|
||||
<tr><td>mappings</td> <td> </td> <td>object</td> <td></td> </tr>
|
||||
<tr><td>name</td> <td>✔</td> <td>string</td> <td>Dynamips device instance name</td> </tr>
|
||||
<tr><td>ports</td> <td> </td> <td>array</td> <td></td> </tr>
|
||||
<tr><td>project_id</td> <td>✔</td> <td>string</td> <td>Project UUID</td> </tr>
|
||||
</table>
|
||||
|
@ -0,0 +1,106 @@
|
||||
/v1/projects/{project_id}/dynamips/devices/{device_id}
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
.. contents::
|
||||
|
||||
GET /v1/projects/**{project_id}**/dynamips/devices/**{device_id}**
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Get a Dynamips device instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
- **device_id**: UUID for the instance
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **200**: Success
|
||||
- **400**: Invalid request
|
||||
- **404**: Instance doesn't exist
|
||||
|
||||
Output
|
||||
*******
|
||||
.. raw:: html
|
||||
|
||||
<table>
|
||||
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
|
||||
<tr><td>device_id</td> <td>✔</td> <td>string</td> <td>Dynamips router instance UUID</td> </tr>
|
||||
<tr><td>mappings</td> <td> </td> <td>object</td> <td></td> </tr>
|
||||
<tr><td>name</td> <td>✔</td> <td>string</td> <td>Dynamips device instance name</td> </tr>
|
||||
<tr><td>ports</td> <td> </td> <td>array</td> <td></td> </tr>
|
||||
<tr><td>project_id</td> <td>✔</td> <td>string</td> <td>Project UUID</td> </tr>
|
||||
</table>
|
||||
|
||||
|
||||
PUT /v1/projects/**{project_id}**/dynamips/devices/**{device_id}**
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Update a Dynamips device instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
- **device_id**: UUID for the instance
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **200**: Instance updated
|
||||
- **400**: Invalid request
|
||||
- **404**: Instance doesn't exist
|
||||
- **409**: Conflict
|
||||
|
||||
Input
|
||||
*******
|
||||
Types
|
||||
+++++++++
|
||||
EthernetSwitchPort
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
Ethernet switch port
|
||||
|
||||
.. raw:: html
|
||||
|
||||
<table>
|
||||
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
|
||||
<tr><td>port</td> <td>✔</td> <td>integer</td> <td>Port number</td> </tr>
|
||||
<tr><td>type</td> <td>✔</td> <td>enum</td> <td>Possible values: access, dot1q, qinq</td> </tr>
|
||||
<tr><td>vlan</td> <td>✔</td> <td>integer</td> <td>VLAN number</td> </tr>
|
||||
</table>
|
||||
|
||||
Body
|
||||
+++++++++
|
||||
.. raw:: html
|
||||
|
||||
<table>
|
||||
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
|
||||
<tr><td>name</td> <td> </td> <td>string</td> <td>Dynamips device instance name</td> </tr>
|
||||
<tr><td>ports</td> <td> </td> <td>array</td> <td></td> </tr>
|
||||
</table>
|
||||
|
||||
Output
|
||||
*******
|
||||
.. raw:: html
|
||||
|
||||
<table>
|
||||
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
|
||||
<tr><td>device_id</td> <td>✔</td> <td>string</td> <td>Dynamips router instance UUID</td> </tr>
|
||||
<tr><td>mappings</td> <td> </td> <td>object</td> <td></td> </tr>
|
||||
<tr><td>name</td> <td>✔</td> <td>string</td> <td>Dynamips device instance name</td> </tr>
|
||||
<tr><td>ports</td> <td> </td> <td>array</td> <td></td> </tr>
|
||||
<tr><td>project_id</td> <td>✔</td> <td>string</td> <td>Project UUID</td> </tr>
|
||||
</table>
|
||||
|
||||
|
||||
DELETE /v1/projects/**{project_id}**/dynamips/devices/**{device_id}**
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Delete a Dynamips device instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
- **device_id**: UUID for the instance
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **400**: Invalid request
|
||||
- **404**: Instance doesn't exist
|
||||
- **204**: Instance deleted
|
||||
|
@ -0,0 +1,140 @@
|
||||
/v1/projects/{project_id}/dynamips/devices/{device_id}/ports/{port_number:\d+}/nio
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
.. contents::
|
||||
|
||||
POST /v1/projects/**{project_id}**/dynamips/devices/**{device_id}**/ports/**{port_number:\d+}**/nio
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Add a NIO to a Dynamips device instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
- **port_number**: Port on the device
|
||||
- **device_id**: UUID for the instance
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **400**: Invalid request
|
||||
- **201**: NIO created
|
||||
- **404**: Instance doesn't exist
|
||||
|
||||
Input
|
||||
*******
|
||||
Types
|
||||
+++++++++
|
||||
Ethernet
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
Generic Ethernet Network Input/Output
|
||||
|
||||
.. raw:: html
|
||||
|
||||
<table>
|
||||
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
|
||||
<tr><td>ethernet_device</td> <td>✔</td> <td>string</td> <td>Ethernet device name e.g. eth0</td> </tr>
|
||||
<tr><td>type</td> <td>✔</td> <td>enum</td> <td>Possible values: nio_generic_ethernet</td> </tr>
|
||||
</table>
|
||||
|
||||
LinuxEthernet
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
Linux Ethernet Network Input/Output
|
||||
|
||||
.. raw:: html
|
||||
|
||||
<table>
|
||||
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
|
||||
<tr><td>ethernet_device</td> <td>✔</td> <td>string</td> <td>Ethernet device name e.g. eth0</td> </tr>
|
||||
<tr><td>type</td> <td>✔</td> <td>enum</td> <td>Possible values: nio_linux_ethernet</td> </tr>
|
||||
</table>
|
||||
|
||||
NULL
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
NULL Network Input/Output
|
||||
|
||||
.. raw:: html
|
||||
|
||||
<table>
|
||||
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
|
||||
<tr><td>type</td> <td>✔</td> <td>enum</td> <td>Possible values: nio_null</td> </tr>
|
||||
</table>
|
||||
|
||||
TAP
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
TAP Network Input/Output
|
||||
|
||||
.. raw:: html
|
||||
|
||||
<table>
|
||||
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
|
||||
<tr><td>tap_device</td> <td>✔</td> <td>string</td> <td>TAP device name e.g. tap0</td> </tr>
|
||||
<tr><td>type</td> <td>✔</td> <td>enum</td> <td>Possible values: nio_tap</td> </tr>
|
||||
</table>
|
||||
|
||||
UDP
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
UDP Network Input/Output
|
||||
|
||||
.. raw:: html
|
||||
|
||||
<table>
|
||||
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
|
||||
<tr><td>lport</td> <td>✔</td> <td>integer</td> <td>Local port</td> </tr>
|
||||
<tr><td>rhost</td> <td>✔</td> <td>string</td> <td>Remote host</td> </tr>
|
||||
<tr><td>rport</td> <td>✔</td> <td>integer</td> <td>Remote port</td> </tr>
|
||||
<tr><td>type</td> <td>✔</td> <td>enum</td> <td>Possible values: nio_udp</td> </tr>
|
||||
</table>
|
||||
|
||||
UNIX
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
UNIX Network Input/Output
|
||||
|
||||
.. raw:: html
|
||||
|
||||
<table>
|
||||
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
|
||||
<tr><td>local_file</td> <td>✔</td> <td>string</td> <td>path to the UNIX socket file (local)</td> </tr>
|
||||
<tr><td>remote_file</td> <td>✔</td> <td>string</td> <td>path to the UNIX socket file (remote)</td> </tr>
|
||||
<tr><td>type</td> <td>✔</td> <td>enum</td> <td>Possible values: nio_unix</td> </tr>
|
||||
</table>
|
||||
|
||||
VDE
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
VDE Network Input/Output
|
||||
|
||||
.. raw:: html
|
||||
|
||||
<table>
|
||||
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
|
||||
<tr><td>control_file</td> <td>✔</td> <td>string</td> <td>path to the VDE control file</td> </tr>
|
||||
<tr><td>local_file</td> <td>✔</td> <td>string</td> <td>path to the VDE control file</td> </tr>
|
||||
<tr><td>type</td> <td>✔</td> <td>enum</td> <td>Possible values: nio_vde</td> </tr>
|
||||
</table>
|
||||
|
||||
Body
|
||||
+++++++++
|
||||
.. raw:: html
|
||||
|
||||
<table>
|
||||
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
|
||||
<tr><td>mappings</td> <td> </td> <td>object</td> <td></td> </tr>
|
||||
<tr><td>nio</td> <td>✔</td> <td>UDP, Ethernet, LinuxEthernet, TAP, UNIX, VDE, NULL</td> <td></td> </tr>
|
||||
<tr><td>port_settings</td> <td> </td> <td>object</td> <td>Ethernet switch</td> </tr>
|
||||
</table>
|
||||
|
||||
|
||||
DELETE /v1/projects/**{project_id}**/dynamips/devices/**{device_id}**/ports/**{port_number:\d+}**/nio
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Remove a NIO from a Dynamips device instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
- **port_number**: Port on the device
|
||||
- **device_id**: UUID for the instance
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **400**: Invalid request
|
||||
- **404**: Instance doesn't exist
|
||||
- **204**: NIO deleted
|
||||
|
@ -0,0 +1,31 @@
|
||||
/v1/projects/{project_id}/dynamips/devices/{device_id}/ports/{port_number:\d+}/start_capture
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
.. contents::
|
||||
|
||||
POST /v1/projects/**{project_id}**/dynamips/devices/**{device_id}**/ports/**{port_number:\d+}**/start_capture
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Start a packet capture on a Dynamips device instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
- **port_number**: Port on the device
|
||||
- **device_id**: UUID for the instance
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **200**: Capture started
|
||||
- **400**: Invalid request
|
||||
- **404**: Instance doesn't exist
|
||||
|
||||
Input
|
||||
*******
|
||||
.. raw:: html
|
||||
|
||||
<table>
|
||||
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
|
||||
<tr><td>capture_file_name</td> <td>✔</td> <td>string</td> <td>Capture file name</td> </tr>
|
||||
<tr><td>data_link_type</td> <td>✔</td> <td>string</td> <td>PCAP data link type</td> </tr>
|
||||
</table>
|
||||
|
@ -0,0 +1,21 @@
|
||||
/v1/projects/{project_id}/dynamips/devices/{device_id}/ports/{port_number:\d+}/stop_capture
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
.. contents::
|
||||
|
||||
POST /v1/projects/**{project_id}**/dynamips/devices/**{device_id}**/ports/**{port_number:\d+}**/stop_capture
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Stop a packet capture on a Dynamips device instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
- **port_number**: Port on the device
|
||||
- **device_id**: UUID for the instance
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **400**: Invalid request
|
||||
- **404**: Instance doesn't exist
|
||||
- **204**: Capture stopped
|
||||
|
8
docs/api/v1/dynamips_vm.rst
Normal file
8
docs/api/v1/dynamips_vm.rst
Normal file
@ -0,0 +1,8 @@
|
||||
Dynamips vm
|
||||
---------------------
|
||||
|
||||
.. toctree::
|
||||
:glob:
|
||||
:maxdepth: 2
|
||||
|
||||
dynamips_vm/*
|
118
docs/api/v1/dynamips_vm/projectsprojectiddynamipsvms.rst
Normal file
118
docs/api/v1/dynamips_vm/projectsprojectiddynamipsvms.rst
Normal file
@ -0,0 +1,118 @@
|
||||
/v1/projects/{project_id}/dynamips/vms
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
.. contents::
|
||||
|
||||
POST /v1/projects/**{project_id}**/dynamips/vms
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Create a new Dynamips VM instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **400**: Invalid request
|
||||
- **201**: Instance created
|
||||
- **409**: Conflict
|
||||
|
||||
Input
|
||||
*******
|
||||
.. raw:: html
|
||||
|
||||
<table>
|
||||
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
|
||||
<tr><td>aux</td> <td> </td> <td>integer</td> <td>auxiliary console TCP port</td> </tr>
|
||||
<tr><td>chassis</td> <td> </td> <td>string</td> <td>router chassis model</td> </tr>
|
||||
<tr><td>clock_divisor</td> <td> </td> <td>integer</td> <td>clock divisor</td> </tr>
|
||||
<tr><td>console</td> <td> </td> <td>integer</td> <td>console TCP port</td> </tr>
|
||||
<tr><td>disk0</td> <td> </td> <td>integer</td> <td>disk0 size in MB</td> </tr>
|
||||
<tr><td>disk1</td> <td> </td> <td>integer</td> <td>disk1 size in MB</td> </tr>
|
||||
<tr><td>dynamips_id</td> <td> </td> <td>integer</td> <td>ID to use with Dynamips</td> </tr>
|
||||
<tr><td>exec_area</td> <td> </td> <td>integer</td> <td>exec area value</td> </tr>
|
||||
<tr><td>idlemax</td> <td> </td> <td>integer</td> <td>idlemax value</td> </tr>
|
||||
<tr><td>idlepc</td> <td> </td> <td>string</td> <td>Idle-PC value</td> </tr>
|
||||
<tr><td>idlesleep</td> <td> </td> <td>integer</td> <td>idlesleep value</td> </tr>
|
||||
<tr><td>image</td> <td>✔</td> <td>string</td> <td>path to the IOS image</td> </tr>
|
||||
<tr><td>iomem</td> <td> </td> <td>integer</td> <td>I/O memory percentage</td> </tr>
|
||||
<tr><td>mac_addr</td> <td> </td> <td>string</td> <td>base MAC address</td> </tr>
|
||||
<tr><td>midplane</td> <td> </td> <td>enum</td> <td>Possible values: std, vxr</td> </tr>
|
||||
<tr><td>mmap</td> <td> </td> <td>boolean</td> <td>MMAP feature</td> </tr>
|
||||
<tr><td>name</td> <td>✔</td> <td>string</td> <td>Dynamips VM instance name</td> </tr>
|
||||
<tr><td>npe</td> <td> </td> <td>enum</td> <td>Possible values: npe-100, npe-150, npe-175, npe-200, npe-225, npe-300, npe-400, npe-g2</td> </tr>
|
||||
<tr><td>nvram</td> <td> </td> <td>integer</td> <td>amount of NVRAM in KB</td> </tr>
|
||||
<tr><td>platform</td> <td>✔</td> <td>string</td> <td>platform</td> </tr>
|
||||
<tr><td>power_supplies</td> <td> </td> <td>array</td> <td>Power supplies status</td> </tr>
|
||||
<tr><td>private_config</td> <td> </td> <td>string</td> <td>path to the IOS private configuration file</td> </tr>
|
||||
<tr><td>private_config_base64</td> <td> </td> <td>string</td> <td>private configuration base64 encoded</td> </tr>
|
||||
<tr><td>private_config_content</td> <td> </td> <td>string</td> <td>Content of IOS private configuration file</td> </tr>
|
||||
<tr><td>ram</td> <td>✔</td> <td>integer</td> <td>amount of RAM in MB</td> </tr>
|
||||
<tr><td>sensors</td> <td> </td> <td>array</td> <td>Temperature sensors</td> </tr>
|
||||
<tr><td>slot0</td> <td> </td> <td></td> <td>Network module slot 0</td> </tr>
|
||||
<tr><td>slot1</td> <td> </td> <td></td> <td>Network module slot 1</td> </tr>
|
||||
<tr><td>slot2</td> <td> </td> <td></td> <td>Network module slot 2</td> </tr>
|
||||
<tr><td>slot3</td> <td> </td> <td></td> <td>Network module slot 3</td> </tr>
|
||||
<tr><td>slot4</td> <td> </td> <td></td> <td>Network module slot 4</td> </tr>
|
||||
<tr><td>slot5</td> <td> </td> <td></td> <td>Network module slot 5</td> </tr>
|
||||
<tr><td>slot6</td> <td> </td> <td></td> <td>Network module slot 6</td> </tr>
|
||||
<tr><td>sparsemem</td> <td> </td> <td>boolean</td> <td>sparse memory feature</td> </tr>
|
||||
<tr><td>startup_config</td> <td> </td> <td>string</td> <td>path to the IOS startup configuration file</td> </tr>
|
||||
<tr><td>startup_config_base64</td> <td> </td> <td>string</td> <td>startup configuration base64 encoded</td> </tr>
|
||||
<tr><td>startup_config_content</td> <td> </td> <td>string</td> <td>Content of IOS startup configuration file</td> </tr>
|
||||
<tr><td>system_id</td> <td> </td> <td>string</td> <td>system ID</td> </tr>
|
||||
<tr><td>vm_id</td> <td> </td> <td></td> <td>Dynamips VM instance identifier</td> </tr>
|
||||
<tr><td>wic0</td> <td> </td> <td></td> <td>Network module WIC slot 0</td> </tr>
|
||||
<tr><td>wic1</td> <td> </td> <td></td> <td>Network module WIC slot 0</td> </tr>
|
||||
<tr><td>wic2</td> <td> </td> <td></td> <td>Network module WIC slot 0</td> </tr>
|
||||
</table>
|
||||
|
||||
Output
|
||||
*******
|
||||
.. raw:: html
|
||||
|
||||
<table>
|
||||
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
|
||||
<tr><td>aux</td> <td> </td> <td>['integer', 'null']</td> <td>auxiliary console TCP port</td> </tr>
|
||||
<tr><td>chassis</td> <td> </td> <td>string</td> <td>router chassis model</td> </tr>
|
||||
<tr><td>clock_divisor</td> <td> </td> <td>integer</td> <td>clock divisor</td> </tr>
|
||||
<tr><td>console</td> <td> </td> <td>integer</td> <td>console TCP port</td> </tr>
|
||||
<tr><td>disk0</td> <td> </td> <td>integer</td> <td>disk0 size in MB</td> </tr>
|
||||
<tr><td>disk1</td> <td> </td> <td>integer</td> <td>disk1 size in MB</td> </tr>
|
||||
<tr><td>dynamips_id</td> <td>✔</td> <td>integer</td> <td>ID to use with Dynamips</td> </tr>
|
||||
<tr><td>exec_area</td> <td> </td> <td>integer</td> <td>exec area value</td> </tr>
|
||||
<tr><td>idlemax</td> <td> </td> <td>integer</td> <td>idlemax value</td> </tr>
|
||||
<tr><td>idlepc</td> <td> </td> <td>string</td> <td>Idle-PC value</td> </tr>
|
||||
<tr><td>idlesleep</td> <td> </td> <td>integer</td> <td>idlesleep value</td> </tr>
|
||||
<tr><td>image</td> <td> </td> <td>string</td> <td>path to the IOS image</td> </tr>
|
||||
<tr><td>iomem</td> <td> </td> <td>integer</td> <td>I/O memory percentage</td> </tr>
|
||||
<tr><td>mac_addr</td> <td> </td> <td>string</td> <td>base MAC address</td> </tr>
|
||||
<tr><td>midplane</td> <td> </td> <td>enum</td> <td>Possible values: std, vxr</td> </tr>
|
||||
<tr><td>mmap</td> <td> </td> <td>boolean</td> <td>MMAP feature</td> </tr>
|
||||
<tr><td>name</td> <td>✔</td> <td>string</td> <td>Dynamips VM instance name</td> </tr>
|
||||
<tr><td>npe</td> <td> </td> <td>enum</td> <td>Possible values: npe-100, npe-150, npe-175, npe-200, npe-225, npe-300, npe-400, npe-g2</td> </tr>
|
||||
<tr><td>nvram</td> <td> </td> <td>integer</td> <td>amount of NVRAM in KB</td> </tr>
|
||||
<tr><td>platform</td> <td> </td> <td>string</td> <td>platform</td> </tr>
|
||||
<tr><td>power_supplies</td> <td> </td> <td>array</td> <td>Power supplies status</td> </tr>
|
||||
<tr><td>private_config</td> <td> </td> <td>string</td> <td>path to the IOS private configuration file</td> </tr>
|
||||
<tr><td>private_config_base64</td> <td> </td> <td>string</td> <td>private configuration base64 encoded</td> </tr>
|
||||
<tr><td>project_id</td> <td>✔</td> <td>string</td> <td>Project UUID</td> </tr>
|
||||
<tr><td>ram</td> <td> </td> <td>integer</td> <td>amount of RAM in MB</td> </tr>
|
||||
<tr><td>sensors</td> <td> </td> <td>array</td> <td>Temperature sensors</td> </tr>
|
||||
<tr><td>slot0</td> <td> </td> <td></td> <td>Network module slot 0</td> </tr>
|
||||
<tr><td>slot1</td> <td> </td> <td></td> <td>Network module slot 1</td> </tr>
|
||||
<tr><td>slot2</td> <td> </td> <td></td> <td>Network module slot 2</td> </tr>
|
||||
<tr><td>slot3</td> <td> </td> <td></td> <td>Network module slot 3</td> </tr>
|
||||
<tr><td>slot4</td> <td> </td> <td></td> <td>Network module slot 4</td> </tr>
|
||||
<tr><td>slot5</td> <td> </td> <td></td> <td>Network module slot 5</td> </tr>
|
||||
<tr><td>slot6</td> <td> </td> <td></td> <td>Network module slot 6</td> </tr>
|
||||
<tr><td>sparsemem</td> <td> </td> <td>boolean</td> <td>sparse memory feature</td> </tr>
|
||||
<tr><td>startup_config</td> <td> </td> <td>string</td> <td>path to the IOS startup configuration file</td> </tr>
|
||||
<tr><td>startup_config_base64</td> <td> </td> <td>string</td> <td>startup configuration base64 encoded</td> </tr>
|
||||
<tr><td>system_id</td> <td> </td> <td>string</td> <td>system ID</td> </tr>
|
||||
<tr><td>vm_id</td> <td>✔</td> <td>string</td> <td>Dynamips router instance UUID</td> </tr>
|
||||
<tr><td>wic0</td> <td> </td> <td></td> <td>Network module WIC slot 0</td> </tr>
|
||||
<tr><td>wic1</td> <td> </td> <td></td> <td>Network module WIC slot 0</td> </tr>
|
||||
<tr><td>wic2</td> <td> </td> <td></td> <td>Network module WIC slot 0</td> </tr>
|
||||
</table>
|
||||
|
199
docs/api/v1/dynamips_vm/projectsprojectiddynamipsvmsvmid.rst
Normal file
199
docs/api/v1/dynamips_vm/projectsprojectiddynamipsvmsvmid.rst
Normal file
@ -0,0 +1,199 @@
|
||||
/v1/projects/{project_id}/dynamips/vms/{vm_id}
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
.. contents::
|
||||
|
||||
GET /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Get a Dynamips VM instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
- **vm_id**: UUID for the instance
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **200**: Success
|
||||
- **400**: Invalid request
|
||||
- **404**: Instance doesn't exist
|
||||
|
||||
Output
|
||||
*******
|
||||
.. raw:: html
|
||||
|
||||
<table>
|
||||
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
|
||||
<tr><td>aux</td> <td> </td> <td>['integer', 'null']</td> <td>auxiliary console TCP port</td> </tr>
|
||||
<tr><td>chassis</td> <td> </td> <td>string</td> <td>router chassis model</td> </tr>
|
||||
<tr><td>clock_divisor</td> <td> </td> <td>integer</td> <td>clock divisor</td> </tr>
|
||||
<tr><td>console</td> <td> </td> <td>integer</td> <td>console TCP port</td> </tr>
|
||||
<tr><td>disk0</td> <td> </td> <td>integer</td> <td>disk0 size in MB</td> </tr>
|
||||
<tr><td>disk1</td> <td> </td> <td>integer</td> <td>disk1 size in MB</td> </tr>
|
||||
<tr><td>dynamips_id</td> <td>✔</td> <td>integer</td> <td>ID to use with Dynamips</td> </tr>
|
||||
<tr><td>exec_area</td> <td> </td> <td>integer</td> <td>exec area value</td> </tr>
|
||||
<tr><td>idlemax</td> <td> </td> <td>integer</td> <td>idlemax value</td> </tr>
|
||||
<tr><td>idlepc</td> <td> </td> <td>string</td> <td>Idle-PC value</td> </tr>
|
||||
<tr><td>idlesleep</td> <td> </td> <td>integer</td> <td>idlesleep value</td> </tr>
|
||||
<tr><td>image</td> <td> </td> <td>string</td> <td>path to the IOS image</td> </tr>
|
||||
<tr><td>iomem</td> <td> </td> <td>integer</td> <td>I/O memory percentage</td> </tr>
|
||||
<tr><td>mac_addr</td> <td> </td> <td>string</td> <td>base MAC address</td> </tr>
|
||||
<tr><td>midplane</td> <td> </td> <td>enum</td> <td>Possible values: std, vxr</td> </tr>
|
||||
<tr><td>mmap</td> <td> </td> <td>boolean</td> <td>MMAP feature</td> </tr>
|
||||
<tr><td>name</td> <td>✔</td> <td>string</td> <td>Dynamips VM instance name</td> </tr>
|
||||
<tr><td>npe</td> <td> </td> <td>enum</td> <td>Possible values: npe-100, npe-150, npe-175, npe-200, npe-225, npe-300, npe-400, npe-g2</td> </tr>
|
||||
<tr><td>nvram</td> <td> </td> <td>integer</td> <td>amount of NVRAM in KB</td> </tr>
|
||||
<tr><td>platform</td> <td> </td> <td>string</td> <td>platform</td> </tr>
|
||||
<tr><td>power_supplies</td> <td> </td> <td>array</td> <td>Power supplies status</td> </tr>
|
||||
<tr><td>private_config</td> <td> </td> <td>string</td> <td>path to the IOS private configuration file</td> </tr>
|
||||
<tr><td>private_config_base64</td> <td> </td> <td>string</td> <td>private configuration base64 encoded</td> </tr>
|
||||
<tr><td>project_id</td> <td>✔</td> <td>string</td> <td>Project UUID</td> </tr>
|
||||
<tr><td>ram</td> <td> </td> <td>integer</td> <td>amount of RAM in MB</td> </tr>
|
||||
<tr><td>sensors</td> <td> </td> <td>array</td> <td>Temperature sensors</td> </tr>
|
||||
<tr><td>slot0</td> <td> </td> <td></td> <td>Network module slot 0</td> </tr>
|
||||
<tr><td>slot1</td> <td> </td> <td></td> <td>Network module slot 1</td> </tr>
|
||||
<tr><td>slot2</td> <td> </td> <td></td> <td>Network module slot 2</td> </tr>
|
||||
<tr><td>slot3</td> <td> </td> <td></td> <td>Network module slot 3</td> </tr>
|
||||
<tr><td>slot4</td> <td> </td> <td></td> <td>Network module slot 4</td> </tr>
|
||||
<tr><td>slot5</td> <td> </td> <td></td> <td>Network module slot 5</td> </tr>
|
||||
<tr><td>slot6</td> <td> </td> <td></td> <td>Network module slot 6</td> </tr>
|
||||
<tr><td>sparsemem</td> <td> </td> <td>boolean</td> <td>sparse memory feature</td> </tr>
|
||||
<tr><td>startup_config</td> <td> </td> <td>string</td> <td>path to the IOS startup configuration file</td> </tr>
|
||||
<tr><td>startup_config_base64</td> <td> </td> <td>string</td> <td>startup configuration base64 encoded</td> </tr>
|
||||
<tr><td>system_id</td> <td> </td> <td>string</td> <td>system ID</td> </tr>
|
||||
<tr><td>vm_id</td> <td>✔</td> <td>string</td> <td>Dynamips router instance UUID</td> </tr>
|
||||
<tr><td>wic0</td> <td> </td> <td></td> <td>Network module WIC slot 0</td> </tr>
|
||||
<tr><td>wic1</td> <td> </td> <td></td> <td>Network module WIC slot 0</td> </tr>
|
||||
<tr><td>wic2</td> <td> </td> <td></td> <td>Network module WIC slot 0</td> </tr>
|
||||
</table>
|
||||
|
||||
|
||||
PUT /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Update a Dynamips VM instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
- **vm_id**: UUID for the instance
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **200**: Instance updated
|
||||
- **400**: Invalid request
|
||||
- **404**: Instance doesn't exist
|
||||
- **409**: Conflict
|
||||
|
||||
Input
|
||||
*******
|
||||
.. raw:: html
|
||||
|
||||
<table>
|
||||
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
|
||||
<tr><td>aux</td> <td> </td> <td>integer</td> <td>auxiliary console TCP port</td> </tr>
|
||||
<tr><td>chassis</td> <td> </td> <td>string</td> <td>router chassis model</td> </tr>
|
||||
<tr><td>clock_divisor</td> <td> </td> <td>integer</td> <td>clock divisor</td> </tr>
|
||||
<tr><td>console</td> <td> </td> <td>integer</td> <td>console TCP port</td> </tr>
|
||||
<tr><td>disk0</td> <td> </td> <td>integer</td> <td>disk0 size in MB</td> </tr>
|
||||
<tr><td>disk1</td> <td> </td> <td>integer</td> <td>disk1 size in MB</td> </tr>
|
||||
<tr><td>exec_area</td> <td> </td> <td>integer</td> <td>exec area value</td> </tr>
|
||||
<tr><td>idlemax</td> <td> </td> <td>integer</td> <td>idlemax value</td> </tr>
|
||||
<tr><td>idlepc</td> <td> </td> <td>string</td> <td>Idle-PC value</td> </tr>
|
||||
<tr><td>idlesleep</td> <td> </td> <td>integer</td> <td>idlesleep value</td> </tr>
|
||||
<tr><td>image</td> <td> </td> <td>string</td> <td>path to the IOS image</td> </tr>
|
||||
<tr><td>iomem</td> <td> </td> <td>integer</td> <td>I/O memory percentage</td> </tr>
|
||||
<tr><td>mac_addr</td> <td> </td> <td>string</td> <td>base MAC address</td> </tr>
|
||||
<tr><td>midplane</td> <td> </td> <td>enum</td> <td>Possible values: std, vxr</td> </tr>
|
||||
<tr><td>mmap</td> <td> </td> <td>boolean</td> <td>MMAP feature</td> </tr>
|
||||
<tr><td>name</td> <td> </td> <td>string</td> <td>Dynamips VM instance name</td> </tr>
|
||||
<tr><td>npe</td> <td> </td> <td>enum</td> <td>Possible values: npe-100, npe-150, npe-175, npe-200, npe-225, npe-300, npe-400, npe-g2</td> </tr>
|
||||
<tr><td>nvram</td> <td> </td> <td>integer</td> <td>amount of NVRAM in KB</td> </tr>
|
||||
<tr><td>platform</td> <td> </td> <td>string</td> <td>platform</td> </tr>
|
||||
<tr><td>power_supplies</td> <td> </td> <td>array</td> <td>Power supplies status</td> </tr>
|
||||
<tr><td>private_config</td> <td> </td> <td>string</td> <td>path to the IOS private configuration file</td> </tr>
|
||||
<tr><td>private_config_base64</td> <td> </td> <td>string</td> <td>private configuration base64 encoded</td> </tr>
|
||||
<tr><td>private_config_content</td> <td> </td> <td>string</td> <td>Content of IOS private configuration file</td> </tr>
|
||||
<tr><td>ram</td> <td> </td> <td>integer</td> <td>amount of RAM in MB</td> </tr>
|
||||
<tr><td>sensors</td> <td> </td> <td>array</td> <td>Temperature sensors</td> </tr>
|
||||
<tr><td>slot0</td> <td> </td> <td></td> <td>Network module slot 0</td> </tr>
|
||||
<tr><td>slot1</td> <td> </td> <td></td> <td>Network module slot 1</td> </tr>
|
||||
<tr><td>slot2</td> <td> </td> <td></td> <td>Network module slot 2</td> </tr>
|
||||
<tr><td>slot3</td> <td> </td> <td></td> <td>Network module slot 3</td> </tr>
|
||||
<tr><td>slot4</td> <td> </td> <td></td> <td>Network module slot 4</td> </tr>
|
||||
<tr><td>slot5</td> <td> </td> <td></td> <td>Network module slot 5</td> </tr>
|
||||
<tr><td>slot6</td> <td> </td> <td></td> <td>Network module slot 6</td> </tr>
|
||||
<tr><td>sparsemem</td> <td> </td> <td>boolean</td> <td>sparse memory feature</td> </tr>
|
||||
<tr><td>startup_config</td> <td> </td> <td>string</td> <td>path to the IOS startup configuration file</td> </tr>
|
||||
<tr><td>startup_config_base64</td> <td> </td> <td>string</td> <td>startup configuration base64 encoded</td> </tr>
|
||||
<tr><td>startup_config_content</td> <td> </td> <td>string</td> <td>Content of IOS startup configuration file</td> </tr>
|
||||
<tr><td>system_id</td> <td> </td> <td>string</td> <td>system ID</td> </tr>
|
||||
<tr><td>wic0</td> <td> </td> <td></td> <td>Network module WIC slot 0</td> </tr>
|
||||
<tr><td>wic1</td> <td> </td> <td></td> <td>Network module WIC slot 0</td> </tr>
|
||||
<tr><td>wic2</td> <td> </td> <td></td> <td>Network module WIC slot 0</td> </tr>
|
||||
</table>
|
||||
|
||||
Output
|
||||
*******
|
||||
.. raw:: html
|
||||
|
||||
<table>
|
||||
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
|
||||
<tr><td>aux</td> <td> </td> <td>['integer', 'null']</td> <td>auxiliary console TCP port</td> </tr>
|
||||
<tr><td>chassis</td> <td> </td> <td>string</td> <td>router chassis model</td> </tr>
|
||||
<tr><td>clock_divisor</td> <td> </td> <td>integer</td> <td>clock divisor</td> </tr>
|
||||
<tr><td>console</td> <td> </td> <td>integer</td> <td>console TCP port</td> </tr>
|
||||
<tr><td>disk0</td> <td> </td> <td>integer</td> <td>disk0 size in MB</td> </tr>
|
||||
<tr><td>disk1</td> <td> </td> <td>integer</td> <td>disk1 size in MB</td> </tr>
|
||||
<tr><td>dynamips_id</td> <td>✔</td> <td>integer</td> <td>ID to use with Dynamips</td> </tr>
|
||||
<tr><td>exec_area</td> <td> </td> <td>integer</td> <td>exec area value</td> </tr>
|
||||
<tr><td>idlemax</td> <td> </td> <td>integer</td> <td>idlemax value</td> </tr>
|
||||
<tr><td>idlepc</td> <td> </td> <td>string</td> <td>Idle-PC value</td> </tr>
|
||||
<tr><td>idlesleep</td> <td> </td> <td>integer</td> <td>idlesleep value</td> </tr>
|
||||
<tr><td>image</td> <td> </td> <td>string</td> <td>path to the IOS image</td> </tr>
|
||||
<tr><td>iomem</td> <td> </td> <td>integer</td> <td>I/O memory percentage</td> </tr>
|
||||
<tr><td>mac_addr</td> <td> </td> <td>string</td> <td>base MAC address</td> </tr>
|
||||
<tr><td>midplane</td> <td> </td> <td>enum</td> <td>Possible values: std, vxr</td> </tr>
|
||||
<tr><td>mmap</td> <td> </td> <td>boolean</td> <td>MMAP feature</td> </tr>
|
||||
<tr><td>name</td> <td>✔</td> <td>string</td> <td>Dynamips VM instance name</td> </tr>
|
||||
<tr><td>npe</td> <td> </td> <td>enum</td> <td>Possible values: npe-100, npe-150, npe-175, npe-200, npe-225, npe-300, npe-400, npe-g2</td> </tr>
|
||||
<tr><td>nvram</td> <td> </td> <td>integer</td> <td>amount of NVRAM in KB</td> </tr>
|
||||
<tr><td>platform</td> <td> </td> <td>string</td> <td>platform</td> </tr>
|
||||
<tr><td>power_supplies</td> <td> </td> <td>array</td> <td>Power supplies status</td> </tr>
|
||||
<tr><td>private_config</td> <td> </td> <td>string</td> <td>path to the IOS private configuration file</td> </tr>
|
||||
<tr><td>private_config_base64</td> <td> </td> <td>string</td> <td>private configuration base64 encoded</td> </tr>
|
||||
<tr><td>project_id</td> <td>✔</td> <td>string</td> <td>Project UUID</td> </tr>
|
||||
<tr><td>ram</td> <td> </td> <td>integer</td> <td>amount of RAM in MB</td> </tr>
|
||||
<tr><td>sensors</td> <td> </td> <td>array</td> <td>Temperature sensors</td> </tr>
|
||||
<tr><td>slot0</td> <td> </td> <td></td> <td>Network module slot 0</td> </tr>
|
||||
<tr><td>slot1</td> <td> </td> <td></td> <td>Network module slot 1</td> </tr>
|
||||
<tr><td>slot2</td> <td> </td> <td></td> <td>Network module slot 2</td> </tr>
|
||||
<tr><td>slot3</td> <td> </td> <td></td> <td>Network module slot 3</td> </tr>
|
||||
<tr><td>slot4</td> <td> </td> <td></td> <td>Network module slot 4</td> </tr>
|
||||
<tr><td>slot5</td> <td> </td> <td></td> <td>Network module slot 5</td> </tr>
|
||||
<tr><td>slot6</td> <td> </td> <td></td> <td>Network module slot 6</td> </tr>
|
||||
<tr><td>sparsemem</td> <td> </td> <td>boolean</td> <td>sparse memory feature</td> </tr>
|
||||
<tr><td>startup_config</td> <td> </td> <td>string</td> <td>path to the IOS startup configuration file</td> </tr>
|
||||
<tr><td>startup_config_base64</td> <td> </td> <td>string</td> <td>startup configuration base64 encoded</td> </tr>
|
||||
<tr><td>system_id</td> <td> </td> <td>string</td> <td>system ID</td> </tr>
|
||||
<tr><td>vm_id</td> <td>✔</td> <td>string</td> <td>Dynamips router instance UUID</td> </tr>
|
||||
<tr><td>wic0</td> <td> </td> <td></td> <td>Network module WIC slot 0</td> </tr>
|
||||
<tr><td>wic1</td> <td> </td> <td></td> <td>Network module WIC slot 0</td> </tr>
|
||||
<tr><td>wic2</td> <td> </td> <td></td> <td>Network module WIC slot 0</td> </tr>
|
||||
</table>
|
||||
|
||||
|
||||
DELETE /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Delete a Dynamips VM instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
- **vm_id**: UUID for the instance
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **400**: Invalid request
|
||||
- **404**: Instance doesn't exist
|
||||
- **204**: Instance deleted
|
||||
|
@ -0,0 +1,40 @@
|
||||
/v1/projects/{project_id}/dynamips/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
.. contents::
|
||||
|
||||
POST /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/adapters/**{adapter_number:\d+}**/ports/**{port_number:\d+}**/nio
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Add a NIO to a Dynamips VM instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
- **adapter_number**: Adapter where the nio should be added
|
||||
- **port_number**: Port on the adapter
|
||||
- **vm_id**: UUID for the instance
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **400**: Invalid request
|
||||
- **201**: NIO created
|
||||
- **404**: Instance doesn't exist
|
||||
|
||||
|
||||
DELETE /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/adapters/**{adapter_number:\d+}**/ports/**{port_number:\d+}**/nio
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Remove a NIO from a Dynamips VM instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
- **adapter_number**: Adapter from where the nio should be removed
|
||||
- **port_number**: Port on the adapter
|
||||
- **vm_id**: UUID for the instance
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **400**: Invalid request
|
||||
- **404**: Instance doesn't exist
|
||||
- **204**: NIO deleted
|
||||
|
@ -0,0 +1,32 @@
|
||||
/v1/projects/{project_id}/dynamips/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/start_capture
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
.. contents::
|
||||
|
||||
POST /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/adapters/**{adapter_number:\d+}**/ports/**{port_number:\d+}**/start_capture
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Start a packet capture on a Dynamips VM instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
- **adapter_number**: Adapter to start a packet capture
|
||||
- **port_number**: Port on the adapter
|
||||
- **vm_id**: UUID for the instance
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **200**: Capture started
|
||||
- **400**: Invalid request
|
||||
- **404**: Instance doesn't exist
|
||||
|
||||
Input
|
||||
*******
|
||||
.. raw:: html
|
||||
|
||||
<table>
|
||||
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
|
||||
<tr><td>capture_file_name</td> <td>✔</td> <td>string</td> <td>Capture file name</td> </tr>
|
||||
<tr><td>data_link_type</td> <td>✔</td> <td>string</td> <td>PCAP data link type</td> </tr>
|
||||
</table>
|
||||
|
@ -0,0 +1,22 @@
|
||||
/v1/projects/{project_id}/dynamips/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
.. contents::
|
||||
|
||||
POST /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/adapters/**{adapter_number:\d+}**/ports/**{port_number:\d+}**/stop_capture
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Stop a packet capture on a Dynamips VM instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
- **adapter_number**: Adapter to stop a packet capture
|
||||
- **port_number**: Port on the adapter (always 0)
|
||||
- **vm_id**: UUID for the instance
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **400**: Invalid request
|
||||
- **404**: Instance doesn't exist
|
||||
- **204**: Capture stopped
|
||||
|
@ -0,0 +1,15 @@
|
||||
/v1/projects/{project_id}/dynamips/vms/{vm_id}/auto_idlepc
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
.. contents::
|
||||
|
||||
GET /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/auto_idlepc
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Retrieve the idlepc proposals
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **200**: Best Idle-pc value found
|
||||
- **400**: Invalid request
|
||||
- **404**: Instance doesn't exist
|
||||
|
@ -0,0 +1,25 @@
|
||||
/v1/projects/{project_id}/dynamips/vms/{vm_id}/configs
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
.. contents::
|
||||
|
||||
GET /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/configs
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Retrieve the startup and private configs content
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **200**: Configs retrieved
|
||||
- **400**: Invalid request
|
||||
- **404**: Instance doesn't exist
|
||||
|
||||
Output
|
||||
*******
|
||||
.. raw:: html
|
||||
|
||||
<table>
|
||||
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
|
||||
<tr><td>private_config_content</td> <td>✔</td> <td>['string', 'null']</td> <td>Content of the private configuration file</td> </tr>
|
||||
<tr><td>startup_config_content</td> <td>✔</td> <td>['string', 'null']</td> <td>Content of the startup configuration file</td> </tr>
|
||||
</table>
|
||||
|
@ -0,0 +1,15 @@
|
||||
/v1/projects/{project_id}/dynamips/vms/{vm_id}/configs/save
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
.. contents::
|
||||
|
||||
POST /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/configs/save
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Save the startup and private configs content
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **200**: Configs saved
|
||||
- **400**: Invalid request
|
||||
- **404**: Instance doesn't exist
|
||||
|
@ -0,0 +1,15 @@
|
||||
/v1/projects/{project_id}/dynamips/vms/{vm_id}/idlepc_proposals
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
.. contents::
|
||||
|
||||
GET /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/idlepc_proposals
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Retrieve the idlepc proposals
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **200**: Idle-PCs retrieved
|
||||
- **400**: Invalid request
|
||||
- **404**: Instance doesn't exist
|
||||
|
@ -0,0 +1,20 @@
|
||||
/v1/projects/{project_id}/dynamips/vms/{vm_id}/reload
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
.. contents::
|
||||
|
||||
POST /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/reload
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Reload a Dynamips VM instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
- **vm_id**: UUID for the instance
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **400**: Invalid request
|
||||
- **404**: Instance doesn't exist
|
||||
- **204**: Instance reloaded
|
||||
|
@ -0,0 +1,20 @@
|
||||
/v1/projects/{project_id}/dynamips/vms/{vm_id}/resume
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
.. contents::
|
||||
|
||||
POST /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/resume
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Resume a suspended Dynamips VM instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
- **vm_id**: UUID for the instance
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **400**: Invalid request
|
||||
- **404**: Instance doesn't exist
|
||||
- **204**: Instance resumed
|
||||
|
@ -0,0 +1,20 @@
|
||||
/v1/projects/{project_id}/dynamips/vms/{vm_id}/start
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
.. contents::
|
||||
|
||||
POST /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/start
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Start a Dynamips VM instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
- **vm_id**: UUID for the instance
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **400**: Invalid request
|
||||
- **404**: Instance doesn't exist
|
||||
- **204**: Instance started
|
||||
|
@ -0,0 +1,20 @@
|
||||
/v1/projects/{project_id}/dynamips/vms/{vm_id}/stop
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
.. contents::
|
||||
|
||||
POST /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/stop
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Stop a Dynamips VM instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
- **vm_id**: UUID for the instance
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **400**: Invalid request
|
||||
- **404**: Instance doesn't exist
|
||||
- **204**: Instance stopped
|
||||
|
@ -0,0 +1,20 @@
|
||||
/v1/projects/{project_id}/dynamips/vms/{vm_id}/suspend
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
.. contents::
|
||||
|
||||
POST /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/suspend
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Suspend a Dynamips VM instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
- **vm_id**: UUID for the instance
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **400**: Invalid request
|
||||
- **404**: Instance doesn't exist
|
||||
- **204**: Instance suspended
|
||||
|
8
docs/api/v1/iou.rst
Normal file
8
docs/api/v1/iou.rst
Normal file
@ -0,0 +1,8 @@
|
||||
Iou
|
||||
---------------------
|
||||
|
||||
.. toctree::
|
||||
:glob:
|
||||
:maxdepth: 2
|
||||
|
||||
iou/*
|
66
docs/api/v1/iou/projectsprojectidiouvms.rst
Normal file
66
docs/api/v1/iou/projectsprojectidiouvms.rst
Normal file
@ -0,0 +1,66 @@
|
||||
/v1/projects/{project_id}/iou/vms
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
.. contents::
|
||||
|
||||
POST /v1/projects/**{project_id}**/iou/vms
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Create a new IOU instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **400**: Invalid request
|
||||
- **201**: Instance created
|
||||
- **409**: Conflict
|
||||
|
||||
Input
|
||||
*******
|
||||
.. raw:: html
|
||||
|
||||
<table>
|
||||
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
|
||||
<tr><td>console</td> <td> </td> <td>['integer', 'null']</td> <td>console TCP port</td> </tr>
|
||||
<tr><td>ethernet_adapters</td> <td> </td> <td>integer</td> <td>How many ethernet adapters are connected to the IOU</td> </tr>
|
||||
<tr><td>initial_config_content</td> <td> </td> <td>['string', 'null']</td> <td>Initial configuration of the IOU</td> </tr>
|
||||
<tr><td>iourc_content</td> <td> </td> <td>['string', 'null']</td> <td>Content of the iourc file, if a file exist on servers this variable is ignored. It's mostly for compatibility with < 1.3 releases</td> </tr>
|
||||
<tr><td>l1_keepalives</td> <td> </td> <td>['boolean', 'null']</td> <td>Always up ethernet interface</td> </tr>
|
||||
<tr><td>name</td> <td>✔</td> <td>string</td> <td>IOU VM name</td> </tr>
|
||||
<tr><td>nvram</td> <td> </td> <td>['integer', 'null']</td> <td>Allocated NVRAM KB</td> </tr>
|
||||
<tr><td>path</td> <td>✔</td> <td>string</td> <td>Path of iou binary</td> </tr>
|
||||
<tr><td>ram</td> <td> </td> <td>['integer', 'null']</td> <td>Allocated RAM MB</td> </tr>
|
||||
<tr><td>serial_adapters</td> <td> </td> <td>integer</td> <td>How many serial adapters are connected to the IOU</td> </tr>
|
||||
<tr><td>use_default_iou_values</td> <td> </td> <td>['boolean', 'null']</td> <td>Use default IOU values</td> </tr>
|
||||
<tr><td>vm_id</td> <td> </td> <td></td> <td>IOU VM identifier</td> </tr>
|
||||
</table>
|
||||
|
||||
Output
|
||||
*******
|
||||
.. raw:: html
|
||||
|
||||
<table>
|
||||
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
|
||||
<tr><td>console</td> <td>✔</td> <td>integer</td> <td>console TCP port</td> </tr>
|
||||
<tr><td>ethernet_adapters</td> <td>✔</td> <td>integer</td> <td>How many ethernet adapters are connected to the IOU</td> </tr>
|
||||
<tr><td>initial_config</td> <td>✔</td> <td>['string', 'null']</td> <td>Path of the initial config content relative to project directory</td> </tr>
|
||||
<tr><td>iourc_path</td> <td> </td> <td>['string', 'null']</td> <td>Path of the iourc file used by remote servers</td> </tr>
|
||||
<tr><td>l1_keepalives</td> <td>✔</td> <td>boolean</td> <td>Always up ethernet interface</td> </tr>
|
||||
<tr><td>name</td> <td>✔</td> <td>string</td> <td>IOU VM name</td> </tr>
|
||||
<tr><td>nvram</td> <td>✔</td> <td>integer</td> <td>Allocated NVRAM KB</td> </tr>
|
||||
<tr><td>path</td> <td>✔</td> <td>string</td> <td>Path of iou binary</td> </tr>
|
||||
<tr><td>project_id</td> <td>✔</td> <td>string</td> <td>Project UUID</td> </tr>
|
||||
<tr><td>ram</td> <td>✔</td> <td>integer</td> <td>Allocated RAM MB</td> </tr>
|
||||
<tr><td>serial_adapters</td> <td>✔</td> <td>integer</td> <td>How many serial adapters are connected to the IOU</td> </tr>
|
||||
<tr><td>use_default_iou_values</td> <td>✔</td> <td>['boolean', 'null']</td> <td>Use default IOU values</td> </tr>
|
||||
<tr><td>vm_id</td> <td>✔</td> <td>string</td> <td>IOU VM UUID</td> </tr>
|
||||
</table>
|
||||
|
||||
Sample session
|
||||
***************
|
||||
|
||||
|
||||
.. literalinclude:: ../../examples/post_projectsprojectidiouvms.txt
|
||||
|
132
docs/api/v1/iou/projectsprojectidiouvmsvmid.rst
Normal file
132
docs/api/v1/iou/projectsprojectidiouvmsvmid.rst
Normal file
@ -0,0 +1,132 @@
|
||||
/v1/projects/{project_id}/iou/vms/{vm_id}
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
.. contents::
|
||||
|
||||
GET /v1/projects/**{project_id}**/iou/vms/**{vm_id}**
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Get a IOU instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
- **vm_id**: UUID for the instance
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **200**: Success
|
||||
- **400**: Invalid request
|
||||
- **404**: Instance doesn't exist
|
||||
|
||||
Output
|
||||
*******
|
||||
.. raw:: html
|
||||
|
||||
<table>
|
||||
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
|
||||
<tr><td>console</td> <td>✔</td> <td>integer</td> <td>console TCP port</td> </tr>
|
||||
<tr><td>ethernet_adapters</td> <td>✔</td> <td>integer</td> <td>How many ethernet adapters are connected to the IOU</td> </tr>
|
||||
<tr><td>initial_config</td> <td>✔</td> <td>['string', 'null']</td> <td>Path of the initial config content relative to project directory</td> </tr>
|
||||
<tr><td>iourc_path</td> <td> </td> <td>['string', 'null']</td> <td>Path of the iourc file used by remote servers</td> </tr>
|
||||
<tr><td>l1_keepalives</td> <td>✔</td> <td>boolean</td> <td>Always up ethernet interface</td> </tr>
|
||||
<tr><td>name</td> <td>✔</td> <td>string</td> <td>IOU VM name</td> </tr>
|
||||
<tr><td>nvram</td> <td>✔</td> <td>integer</td> <td>Allocated NVRAM KB</td> </tr>
|
||||
<tr><td>path</td> <td>✔</td> <td>string</td> <td>Path of iou binary</td> </tr>
|
||||
<tr><td>project_id</td> <td>✔</td> <td>string</td> <td>Project UUID</td> </tr>
|
||||
<tr><td>ram</td> <td>✔</td> <td>integer</td> <td>Allocated RAM MB</td> </tr>
|
||||
<tr><td>serial_adapters</td> <td>✔</td> <td>integer</td> <td>How many serial adapters are connected to the IOU</td> </tr>
|
||||
<tr><td>use_default_iou_values</td> <td>✔</td> <td>['boolean', 'null']</td> <td>Use default IOU values</td> </tr>
|
||||
<tr><td>vm_id</td> <td>✔</td> <td>string</td> <td>IOU VM UUID</td> </tr>
|
||||
</table>
|
||||
|
||||
Sample session
|
||||
***************
|
||||
|
||||
|
||||
.. literalinclude:: ../../examples/get_projectsprojectidiouvmsvmid.txt
|
||||
|
||||
|
||||
PUT /v1/projects/**{project_id}**/iou/vms/**{vm_id}**
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Update a IOU instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
- **vm_id**: UUID for the instance
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **200**: Instance updated
|
||||
- **400**: Invalid request
|
||||
- **404**: Instance doesn't exist
|
||||
- **409**: Conflict
|
||||
|
||||
Input
|
||||
*******
|
||||
.. raw:: html
|
||||
|
||||
<table>
|
||||
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
|
||||
<tr><td>console</td> <td> </td> <td>['integer', 'null']</td> <td>console TCP port</td> </tr>
|
||||
<tr><td>ethernet_adapters</td> <td> </td> <td>['integer', 'null']</td> <td>How many ethernet adapters are connected to the IOU</td> </tr>
|
||||
<tr><td>initial_config_content</td> <td> </td> <td>['string', 'null']</td> <td>Initial configuration of the IOU</td> </tr>
|
||||
<tr><td>iourc_content</td> <td> </td> <td>['string', 'null']</td> <td>Content of the iourc file, if a file exist on servers this variable is ignored. It's mostly for compatibility with < 1.3 releases</td> </tr>
|
||||
<tr><td>l1_keepalives</td> <td> </td> <td>['boolean', 'null']</td> <td>Always up ethernet interface</td> </tr>
|
||||
<tr><td>name</td> <td> </td> <td>['string', 'null']</td> <td>IOU VM name</td> </tr>
|
||||
<tr><td>nvram</td> <td> </td> <td>['integer', 'null']</td> <td>Allocated NVRAM KB</td> </tr>
|
||||
<tr><td>path</td> <td> </td> <td>['string', 'null']</td> <td>Path of iou binary</td> </tr>
|
||||
<tr><td>ram</td> <td> </td> <td>['integer', 'null']</td> <td>Allocated RAM MB</td> </tr>
|
||||
<tr><td>serial_adapters</td> <td> </td> <td>['integer', 'null']</td> <td>How many serial adapters are connected to the IOU</td> </tr>
|
||||
<tr><td>use_default_iou_values</td> <td> </td> <td>['boolean', 'null']</td> <td>Use default IOU values</td> </tr>
|
||||
</table>
|
||||
|
||||
Output
|
||||
*******
|
||||
.. raw:: html
|
||||
|
||||
<table>
|
||||
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
|
||||
<tr><td>console</td> <td>✔</td> <td>integer</td> <td>console TCP port</td> </tr>
|
||||
<tr><td>ethernet_adapters</td> <td>✔</td> <td>integer</td> <td>How many ethernet adapters are connected to the IOU</td> </tr>
|
||||
<tr><td>initial_config</td> <td>✔</td> <td>['string', 'null']</td> <td>Path of the initial config content relative to project directory</td> </tr>
|
||||
<tr><td>iourc_path</td> <td> </td> <td>['string', 'null']</td> <td>Path of the iourc file used by remote servers</td> </tr>
|
||||
<tr><td>l1_keepalives</td> <td>✔</td> <td>boolean</td> <td>Always up ethernet interface</td> </tr>
|
||||
<tr><td>name</td> <td>✔</td> <td>string</td> <td>IOU VM name</td> </tr>
|
||||
<tr><td>nvram</td> <td>✔</td> <td>integer</td> <td>Allocated NVRAM KB</td> </tr>
|
||||
<tr><td>path</td> <td>✔</td> <td>string</td> <td>Path of iou binary</td> </tr>
|
||||
<tr><td>project_id</td> <td>✔</td> <td>string</td> <td>Project UUID</td> </tr>
|
||||
<tr><td>ram</td> <td>✔</td> <td>integer</td> <td>Allocated RAM MB</td> </tr>
|
||||
<tr><td>serial_adapters</td> <td>✔</td> <td>integer</td> <td>How many serial adapters are connected to the IOU</td> </tr>
|
||||
<tr><td>use_default_iou_values</td> <td>✔</td> <td>['boolean', 'null']</td> <td>Use default IOU values</td> </tr>
|
||||
<tr><td>vm_id</td> <td>✔</td> <td>string</td> <td>IOU VM UUID</td> </tr>
|
||||
</table>
|
||||
|
||||
Sample session
|
||||
***************
|
||||
|
||||
|
||||
.. literalinclude:: ../../examples/put_projectsprojectidiouvmsvmid.txt
|
||||
|
||||
|
||||
DELETE /v1/projects/**{project_id}**/iou/vms/**{vm_id}**
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Delete a IOU instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
- **vm_id**: UUID for the instance
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **400**: Invalid request
|
||||
- **404**: Instance doesn't exist
|
||||
- **204**: Instance deleted
|
||||
|
||||
Sample session
|
||||
***************
|
||||
|
||||
|
||||
.. literalinclude:: ../../examples/delete_projectsprojectidiouvmsvmid.txt
|
||||
|
@ -0,0 +1,52 @@
|
||||
/v1/projects/{project_id}/iou/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
.. contents::
|
||||
|
||||
POST /v1/projects/**{project_id}**/iou/vms/**{vm_id}**/adapters/**{adapter_number:\d+}**/ports/**{port_number:\d+}**/nio
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Add a NIO to a IOU instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
- **adapter_number**: Network adapter where the nio is located
|
||||
- **port_number**: Port where the nio should be added
|
||||
- **vm_id**: UUID for the instance
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **400**: Invalid request
|
||||
- **201**: NIO created
|
||||
- **404**: Instance doesn't exist
|
||||
|
||||
Sample session
|
||||
***************
|
||||
|
||||
|
||||
.. literalinclude:: ../../examples/post_projectsprojectidiouvmsvmidadaptersadapternumberdportsportnumberdnio.txt
|
||||
|
||||
|
||||
DELETE /v1/projects/**{project_id}**/iou/vms/**{vm_id}**/adapters/**{adapter_number:\d+}**/ports/**{port_number:\d+}**/nio
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Remove a NIO from a IOU instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
- **adapter_number**: Network adapter where the nio is located
|
||||
- **port_number**: Port from where the nio should be removed
|
||||
- **vm_id**: UUID for the instance
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **400**: Invalid request
|
||||
- **404**: Instance doesn't exist
|
||||
- **204**: NIO deleted
|
||||
|
||||
Sample session
|
||||
***************
|
||||
|
||||
|
||||
.. literalinclude:: ../../examples/delete_projectsprojectidiouvmsvmidadaptersadapternumberdportsportnumberdnio.txt
|
||||
|
@ -0,0 +1,39 @@
|
||||
/v1/projects/{project_id}/iou/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/start_capture
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
.. contents::
|
||||
|
||||
POST /v1/projects/**{project_id}**/iou/vms/**{vm_id}**/adapters/**{adapter_number:\d+}**/ports/**{port_number:\d+}**/start_capture
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Start a packet capture on a IOU VM instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
- **adapter_number**: Adapter to start a packet capture
|
||||
- **port_number**: Port on the adapter
|
||||
- **vm_id**: UUID for the instance
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **200**: Capture started
|
||||
- **400**: Invalid request
|
||||
- **404**: Instance doesn't exist
|
||||
- **409**: VM not started
|
||||
|
||||
Input
|
||||
*******
|
||||
.. raw:: html
|
||||
|
||||
<table>
|
||||
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
|
||||
<tr><td>capture_file_name</td> <td>✔</td> <td>string</td> <td>Capture file name</td> </tr>
|
||||
<tr><td>data_link_type</td> <td>✔</td> <td>string</td> <td>PCAP data link type</td> </tr>
|
||||
</table>
|
||||
|
||||
Sample session
|
||||
***************
|
||||
|
||||
|
||||
.. literalinclude:: ../../examples/post_projectsprojectidiouvmsvmidadaptersadapternumberdportsportnumberdstartcapture.txt
|
||||
|
@ -0,0 +1,29 @@
|
||||
/v1/projects/{project_id}/iou/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
.. contents::
|
||||
|
||||
POST /v1/projects/**{project_id}**/iou/vms/**{vm_id}**/adapters/**{adapter_number:\d+}**/ports/**{port_number:\d+}**/stop_capture
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Stop a packet capture on a IOU VM instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
- **adapter_number**: Adapter to stop a packet capture
|
||||
- **port_number**: Port on the adapter (always 0)
|
||||
- **vm_id**: UUID for the instance
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **400**: Invalid request
|
||||
- **404**: Instance doesn't exist
|
||||
- **204**: Capture stopped
|
||||
- **409**: VM not started
|
||||
|
||||
Sample session
|
||||
***************
|
||||
|
||||
|
||||
.. literalinclude:: ../../examples/post_projectsprojectidiouvmsvmidadaptersadapternumberdportsportnumberdstopcapture.txt
|
||||
|
30
docs/api/v1/iou/projectsprojectidiouvmsvmidinitialconfig.rst
Normal file
30
docs/api/v1/iou/projectsprojectidiouvmsvmidinitialconfig.rst
Normal file
@ -0,0 +1,30 @@
|
||||
/v1/projects/{project_id}/iou/vms/{vm_id}/initial_config
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
.. contents::
|
||||
|
||||
GET /v1/projects/**{project_id}**/iou/vms/**{vm_id}**/initial_config
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Retrieve the initial config content
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **200**: Initial config retrieved
|
||||
- **400**: Invalid request
|
||||
- **404**: Instance doesn't exist
|
||||
|
||||
Output
|
||||
*******
|
||||
.. raw:: html
|
||||
|
||||
<table>
|
||||
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
|
||||
<tr><td>content</td> <td>✔</td> <td>['string', 'null']</td> <td>Content of the initial configuration file</td> </tr>
|
||||
</table>
|
||||
|
||||
Sample session
|
||||
***************
|
||||
|
||||
|
||||
.. literalinclude:: ../../examples/get_projectsprojectidiouvmsvmidinitialconfig.txt
|
||||
|
26
docs/api/v1/iou/projectsprojectidiouvmsvmidreload.rst
Normal file
26
docs/api/v1/iou/projectsprojectidiouvmsvmidreload.rst
Normal file
@ -0,0 +1,26 @@
|
||||
/v1/projects/{project_id}/iou/vms/{vm_id}/reload
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
.. contents::
|
||||
|
||||
POST /v1/projects/**{project_id}**/iou/vms/**{vm_id}**/reload
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Reload a IOU instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
- **vm_id**: UUID for the instance
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **400**: Invalid request
|
||||
- **404**: Instance doesn't exist
|
||||
- **204**: Instance reloaded
|
||||
|
||||
Sample session
|
||||
***************
|
||||
|
||||
|
||||
.. literalinclude:: ../../examples/post_projectsprojectidiouvmsvmidreload.txt
|
||||
|
26
docs/api/v1/iou/projectsprojectidiouvmsvmidstart.rst
Normal file
26
docs/api/v1/iou/projectsprojectidiouvmsvmidstart.rst
Normal file
@ -0,0 +1,26 @@
|
||||
/v1/projects/{project_id}/iou/vms/{vm_id}/start
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
.. contents::
|
||||
|
||||
POST /v1/projects/**{project_id}**/iou/vms/**{vm_id}**/start
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Start a IOU instance
|
||||
|
||||
Parameters
|
||||
**********
|
||||
- **project_id**: UUID for the project
|
||||
- **vm_id**: UUID for the instance
|
||||
|
||||
Response status codes
|
||||
**********************
|
||||
- **400**: Invalid request
|
||||
- **404**: Instance doesn't exist
|
||||
- **204**: Instance started
|
||||
|
||||
Sample session
|
||||
***************
|
||||
|
||||
|
||||
.. literalinclude:: ../../examples/post_projectsprojectidiouvmsvmidstart.txt
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user