mirror of
https://github.com/GNS3/gns3-server.git
synced 2025-06-24 17:55:15 +00:00
Compare commits
813 Commits
Author | SHA1 | Date | |
---|---|---|---|
38745be5fe | |||
a827f6b2de | |||
55034dd24f | |||
02cabfbffa | |||
9ca72f3bbc | |||
e4735308f8 | |||
13a3e8f324 | |||
bd54c55ae1 | |||
a961387af9 | |||
42c8fb7c29 | |||
0a536278fc | |||
a6286db7b1 | |||
6cd790880c | |||
b19bfa0270 | |||
98ac295e2e | |||
acd5c992ba | |||
4232ea8a00 | |||
bfe9c117ba | |||
fc5afa6676 | |||
3f86df5169 | |||
970f22a83e | |||
80d99ec395 | |||
8560521028 | |||
e63e3280a1 | |||
09aa31fb43 | |||
bfe3b12342 | |||
c43960fbfd | |||
2a0f1586c8 | |||
2c5b2a19f6 | |||
5fa5e7227d | |||
2689b6b7bb | |||
fda33c56de | |||
eb5f9c48f2 | |||
83a7e25389 | |||
2ce01fafc0 | |||
39c1d2d2dd | |||
d942f52f7d | |||
06a6287dff | |||
003c2f5f0b | |||
c2ba3f923e | |||
bdb23d6d3b | |||
5986849b67 | |||
76fe0cb316 | |||
4aeb451ffd | |||
7b001e4d36 | |||
b1b602db3b | |||
cf5af8a6f7 | |||
4814bc6c65 | |||
2655d426c2 | |||
f1bbacecd6 | |||
a8142a04f8 | |||
19425b1e9c | |||
1b066bef92 | |||
6bf7a6aa38 | |||
fc14deee1b | |||
270017d945 | |||
23a03a24de | |||
439e0df058 | |||
c94dc1ec07 | |||
2ccb30eeb5 | |||
389788cfdc | |||
26fc8236c9 | |||
4216c5d2ed | |||
afa4ba9b55 | |||
7980ae9ab1 | |||
3495035dbf | |||
a2d4c2427d | |||
0dae4b6930 | |||
947a732bfb | |||
d88c5648de | |||
94fbd3fac9 | |||
07eab6e766 | |||
a2833cf276 | |||
079715bc18 | |||
5a32d8a779 | |||
9f1705a4f1 | |||
02650fa490 | |||
fff3e1474f | |||
d9de1718b7 | |||
78891ae00e | |||
b344def887 | |||
a1bc815f63 | |||
668cc3f0a5 | |||
42a8c7147a | |||
a0fe9bb498 | |||
57f9d875ca | |||
a2e51ac090 | |||
887f9b298e | |||
d99047ce72 | |||
ad27fdf8b9 | |||
9df290f192 | |||
05aafb9538 | |||
da72a9501a | |||
a2dfeab315 | |||
16cad8426a | |||
0476f2932e | |||
91c0f05a4e | |||
74ee73581a | |||
a86bac4214 | |||
8abf22ef24 | |||
7cad25eb1a | |||
ecf4e91e55 | |||
ea67f4aeb9 | |||
c98bcedd39 | |||
528bb7a7c6 | |||
d31420b3e1 | |||
50d7a4f335 | |||
4216724d0b | |||
c03c66ec48 | |||
dfd18f9483 | |||
8636d3e337 | |||
c43b26d787 | |||
08f82e02a0 | |||
33bca1a85c | |||
4d50d00b3e | |||
21cc41fd16 | |||
f8d95291fa | |||
9fa873751d | |||
8c9758d16b | |||
0c5b753211 | |||
221a35baae | |||
5bb870dc0f | |||
76be91d544 | |||
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
|
||||
|
319
CHANGELOG
Normal file
319
CHANGELOG
Normal file
@ -0,0 +1,319 @@
|
||||
# Change Log
|
||||
|
||||
## 1.3.13 11/12/2015
|
||||
|
||||
* Update links for new website.
|
||||
|
||||
## 1.3.12 11/12/2015
|
||||
|
||||
* Contributing instructions
|
||||
* Correctly display log messages.
|
||||
* Tentative fix for "WinError 64 The specified network name is no longer available" issues.
|
||||
* Fix minor errors reported by codacy.com
|
||||
* Add doc on how to got code coverage
|
||||
* Raise an error when you use a port outside the ranges
|
||||
* Fix asyncio error when closing the app
|
||||
* Release UDP ports when closing a Qemu VM. Fixes #323.
|
||||
|
||||
## 1.3.11 07/10/2015
|
||||
|
||||
* Escape other usage of glob
|
||||
* Fix Dynamips identifier is already used by another router
|
||||
* Protect dynamips against bad glob
|
||||
* Catch ProcessLookupError in Qemu VM.
|
||||
* Use the correct UDP tunnel Qemu syntax for version > 1.1.0 when legacy networking is enabled.
|
||||
* Prevent launching a packet capture with a non-ASCII path when using Dynamips.
|
||||
* Do not automatically delete Dynamips bootflash file because they are necessary to restore VLANs on the c3600 platform.
|
||||
* Fix dynamips configuration lost when you delete a node
|
||||
* Clarify error message when we got UTF-8 chars in the iourc file
|
||||
* Check for valid FR or ATM switch mappings. Fixes #300.
|
||||
|
||||
## 1.3.10 04/09/2015
|
||||
|
||||
* Catch exception when a process cannot be killed. Fixes #296.
|
||||
* Backport: fixes NAT NIO for Qemu VMs (do not launch any legacy scripts)
|
||||
* Fixes Unicode error. Fixes #290.
|
||||
* Don't delete Dynamips ROM files. They are used to restore the nvram.
|
||||
|
||||
## 1.3.9 03/08/2015
|
||||
|
||||
* Backport: removes code that deletes IOS router instance files.
|
||||
|
||||
## 1.3.8 27/07/2015
|
||||
|
||||
* Catch ProcessLookupError when updating iouyap config. Fixes #255.
|
||||
* Fixes IOS adapters and WICS cannot be removed. Fixes #282.
|
||||
* Makes sure the loop is running when closing the app.
|
||||
* Catch GeneratorExit exception. Fixes #231.
|
||||
* Fixes missing chipset info for VirtualBox VM. Fixes #254.
|
||||
* Fixes IOURC upload.
|
||||
* Restore images & projects tarballs
|
||||
* Allow users to backup projects and images.
|
||||
* Update gns3.conf.upstart.
|
||||
* Fix incorrect vboxmanage sudo command.
|
||||
* Backport from 1.4: option to drop nvram & disk files for IOS routers in order to save disk space.
|
||||
* Backport from 1.4: Remove timeout to wait for connections to finish.
|
||||
* Backport from 1.4: Fixes RuntimeError: Event loop is closed.
|
||||
* Backport from 1.4: Bind host on 0.0.0.0 when checking for a free UDP port.
|
||||
|
||||
## 1.3.7 22/06/2015
|
||||
|
||||
* Prevent install on Python 2
|
||||
|
||||
## 1.3.6 16/06/2015
|
||||
|
||||
* Fix an issue with 1.4dev compatibility
|
||||
|
||||
## 1.3.5 16/06/15
|
||||
|
||||
* Ignore invalid characters when reading the output of a process
|
||||
* Turn on / off authentication
|
||||
* Ensure no colored output on Windows
|
||||
* Do not stop saving IOS router configs when there is an exception while a project is committed.
|
||||
* Create a private config file if expected
|
||||
* Distribute our own version of netifaces working with python 3
|
||||
* Fix crash if a private config exist in IOS but no private config file
|
||||
* Basic Auth support
|
||||
* Fix crash when virtualbox list of VMS return an empty line
|
||||
|
||||
## 1.3.4 02/06/15
|
||||
|
||||
* Drop useless dependencie dateutil
|
||||
* Check if port or adapter is connected before starting/stopping a packet capture. Fixes #196.
|
||||
* Prevent users to add links to running Qemu VMs and start a capture on running VirtualBox VMs.
|
||||
* Fixes bug: couldn't set PCMCIA disk1 size for IOS routers.
|
||||
* Fix crash if you pass an invalid hostname
|
||||
* Catch VPCS kill errors
|
||||
* Raise a VirtualBox error if adapter doesn't exists
|
||||
* Ignore VirtualBox VM Name with a carriage return in name
|
||||
* Cleanup the temporary project after modules have been notified of the path change
|
||||
* Do not return error if we can't remove the old project directory
|
||||
* Catch encoding errors in windows logger
|
||||
* Use setter for the qemu_path (allow to pass only the binary name)
|
||||
* Fixes TAP connection when using VPCS.
|
||||
* Fix crash launching qemu on OSX from another location.
|
||||
* Adds NAT NIO in device schema validation so they can return an error that it is not supported.
|
||||
|
||||
## 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.
|
||||
|
50
CONTRIBUTING.md
Normal file
50
CONTRIBUTING.md
Normal file
@ -0,0 +1,50 @@
|
||||
# Contributing to GNS3
|
||||
|
||||
We welcome contributions and bugs reports from everyone.
|
||||
We are friendly so don't be afraid to ask questions.
|
||||
|
||||
## Bug reports
|
||||
|
||||
Before reporting an issue:
|
||||
* check our website over at https://gns3.com
|
||||
* check if an issue already exists on https://github.com/GNS3/gns3-gui
|
||||
* check if an issue already exists on https://github.com/GNS3/gns3-server
|
||||
|
||||
Please post on our community website if you are unsure you found a bug,
|
||||
you will get faster support and be able to exchange with more users.
|
||||
|
||||
If you are unsure which project you should create an issue for, just do
|
||||
it on https://github.com/GNS3/gns3-gui we will take care of the triage.
|
||||
|
||||
For bugs specific to the GNS3 VM, please report on https://github.com/GNS3/gns3-vm
|
||||
|
||||
## Asking for new features
|
||||
|
||||
The best is to start a discussion on the community website in order to get feedback
|
||||
from the whole community.
|
||||
|
||||
|
||||
## Contributing code
|
||||
|
||||
We welcome code contribution from everyone including beginners.
|
||||
Don't be afraid to submit a half finished or mediocre contribution and we will help you.
|
||||
|
||||
Don't hesitate to share your plans before starting working on a contribution, we can help
|
||||
you to find the best approach.
|
||||
|
||||
### Contributors License Agreements
|
||||
|
||||
We at GNS3 are eager to work with you. For small changes — little bugfixes, correcting typos, and the like — please just submit pull requests to any of our projects. For larger changes, though, we have to ask you to jump through a little hoop.
|
||||
|
||||
In particular, in order for us to accept any major patches from you, you will have to electronically sign a statement that indicates two things:
|
||||
|
||||
- You are willingly licensing your contributions under the terms of the open source license of the project that you’re contributing to.
|
||||
- You are legally able to license your contributions as stated.
|
||||
|
||||
The reason we do this is to ensure, to the extent possible, that we don’t “taint” the projects we manage with contributions that turn out to be improper. This protects everyone who wants to use the projects, including you!
|
||||
|
||||
More information there: https://github.com/GNS3/cla
|
||||
|
||||
### Pull requests
|
||||
|
||||
Creating a pull request is the easiest way to contribute code. Do not hesitate to create one early when contributing for new feature in order to get our feedback.
|
@ -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]
|
||||
|
79
README.rst
79
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
|
||||
--------
|
||||
|
||||
@ -61,4 +113,17 @@ and homebrew: http://brew.sh/.
|
||||
python3 setup.py install
|
||||
gns3server
|
||||
|
||||
Running tests
|
||||
*************
|
||||
|
||||
Just run:
|
||||
|
||||
.. code:: bash
|
||||
|
||||
py.test -vv
|
||||
|
||||
If you want test coverage:
|
||||
|
||||
.. code:: bash
|
||||
|
||||
py.test --cov=gns3server
|
||||
|
@ -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,8 @@
|
||||
-rrequirements.txt
|
||||
|
||||
pytest
|
||||
ws4py
|
||||
sphinx==1.2.3
|
||||
pytest==2.6.4
|
||||
pep8==1.5.7
|
||||
pytest-timeout
|
||||
pytest-capturelog
|
||||
pytest-cov
|
||||
|
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
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user