gns3-server 3.0.3__py3-none-any.whl → 3.0.5__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of gns3-server might be problematic. Click here for more details.
- gns3_server-3.0.5.dist-info/METADATA +202 -0
- {gns3_server-3.0.3.dist-info → gns3_server-3.0.5.dist-info}/RECORD +114 -59
- {gns3_server-3.0.3.dist-info → gns3_server-3.0.5.dist-info}/WHEEL +1 -1
- gns3server/api/routes/compute/cloud_nodes.py +1 -1
- gns3server/api/routes/controller/computes.py +1 -1
- gns3server/api/routes/controller/images.py +0 -5
- gns3server/api/routes/controller/links.py +52 -1
- gns3server/appliances/almalinux.gns3a +30 -0
- gns3server/appliances/arista-veos.gns3a +15 -15
- gns3server/appliances/aruba-arubaoscx.gns3a +39 -0
- gns3server/appliances/asterfusion-vAsterNOS-campus.gns3a +50 -0
- gns3server/appliances/asterfusion-vAsterNOS.gns3a +1 -1
- gns3server/appliances/centos-cloud.gns3a +24 -54
- gns3server/appliances/cisco-asav.gns3a +2 -2
- gns3server/appliances/cisco-c8000v.gns3a +15 -2
- gns3server/appliances/cisco-cat9k.gns3a +2 -2
- gns3server/appliances/cisco-csr1000v.gns3a +3 -3
- gns3server/appliances/cisco-iosv.gns3a +22 -7
- gns3server/appliances/cisco-iosvl2.gns3a +2 -1
- gns3server/appliances/cisco-iosxrv.gns3a +2 -2
- gns3server/appliances/cisco-iosxrv9k.gns3a +16 -133
- gns3server/appliances/cisco-iou-l2.gns3a +2 -0
- gns3server/appliances/cisco-iou-l3.gns3a +2 -0
- gns3server/appliances/cisco-nxosv.gns3a +2 -1
- gns3server/appliances/cisco-nxosv9k.gns3a +36 -343
- gns3server/appliances/exos.gns3a +13 -0
- gns3server/appliances/fedora-cloud.gns3a +30 -0
- gns3server/appliances/fortianalyzer.gns3a +42 -0
- gns3server/appliances/fortigate.gns3a +42 -0
- gns3server/appliances/fortimanager.gns3a +43 -1
- gns3server/appliances/infix.gns3a +118 -0
- gns3server/appliances/juniper-vJunos-router.gns3a +75 -0
- gns3server/appliances/nethsecurity.gns3a +44 -0
- gns3server/appliances/oracle-linux-cloud.gns3a +31 -1
- gns3server/appliances/rhel.gns3a +57 -1
- gns3server/appliances/rockylinux.gns3a +15 -0
- gns3server/appliances/vyos.gns3a +13 -0
- gns3server/compute/builtin/nodes/nat.py +1 -1
- gns3server/compute/docker/__init__.py +8 -9
- gns3server/compute/docker/docker_vm.py +2 -1
- gns3server/compute/qemu/qemu_vm.py +69 -28
- gns3server/compute/vmware/vmware_vm.py +1 -2
- gns3server/controller/__init__.py +14 -0
- gns3server/controller/compute.py +4 -3
- gns3server/controller/gns3vm/virtualbox_gns3_vm.py +55 -28
- gns3server/crash_report.py +1 -1
- gns3server/custom_symbols/6wind.svg +1 -0
- gns3server/custom_symbols/alpine-virt-qemu.svg +46 -0
- gns3server/custom_symbols/arista_bybaro.svg +24 -0
- gns3server/custom_symbols/asterfusion-vAsterNOS.svg +48 -0
- gns3server/custom_symbols/cisco-fmcv.svg +498 -0
- gns3server/custom_symbols/cisco-ise.svg +244 -0
- gns3server/custom_symbols/csr1000v_bybaro.svg +38 -0
- gns3server/custom_symbols/cumulus_bybaro.svg +27 -0
- gns3server/custom_symbols/firefox.svg +1 -0
- gns3server/custom_symbols/fortigate_bybaro.svg +42 -0
- gns3server/custom_symbols/fortinet.svg +72 -0
- gns3server/custom_symbols/innovaphone-ap-icon.jpg +0 -0
- gns3server/custom_symbols/innovaphone-pbx-green.png +0 -0
- gns3server/custom_symbols/juniper-vmx.svg +284 -0
- gns3server/custom_symbols/juniper-vqfx.svg +324 -0
- gns3server/custom_symbols/junos_olive_bybaro.svg +18 -0
- gns3server/custom_symbols/linux_guest.svg +1917 -0
- gns3server/custom_symbols/loadbalancer.svg +380 -0
- gns3server/custom_symbols/loadbalancer_docker.svg +387 -0
- gns3server/custom_symbols/mgmt_station.svg +1967 -0
- gns3server/custom_symbols/mgmt_station_docker.svg +1996 -0
- gns3server/custom_symbols/microsoft.svg +85 -0
- gns3server/custom_symbols/multilayer_switch_docker.svg +332 -0
- gns3server/custom_symbols/multilayer_switch_green_docker.svg +344 -0
- gns3server/custom_symbols/multilayer_switch_red_docker.svg +344 -0
- gns3server/custom_symbols/opennac.png +0 -0
- gns3server/custom_symbols/opensuse.svg +126 -0
- gns3server/custom_symbols/openvswitch_bybaro.svg +26 -0
- gns3server/custom_symbols/ostinato-3d-icon.svg +95 -0
- gns3server/custom_symbols/packetfence2.png +0 -0
- gns3server/custom_symbols/pan-vm-fw.svg +364 -0
- gns3server/custom_symbols/parrotlogo.png +0 -0
- gns3server/custom_symbols/qemu_guest_win10_bybaro.svg +56 -0
- gns3server/custom_symbols/qemu_guest_win7_bybaro.svg +59 -0
- gns3server/custom_symbols/qemu_guest_win8_bybaro.svg +56 -0
- gns3server/custom_symbols/router_docker.svg +213 -0
- gns3server/custom_symbols/router_green.svg +206 -0
- gns3server/custom_symbols/router_green_docker.svg +665 -0
- gns3server/custom_symbols/router_red.svg +206 -0
- gns3server/custom_symbols/router_red_docker.svg +213 -0
- gns3server/custom_symbols/rpi.png +0 -0
- gns3server/custom_symbols/securityonion-logo.png +0 -0
- gns3server/custom_symbols/shieldedtux.png +0 -0
- gns3server/custom_symbols/steelhead-vcx.png +0 -0
- gns3server/custom_symbols/stormshield.png +0 -0
- gns3server/custom_symbols/ubuntu.svg +1750 -0
- gns3server/custom_symbols/vRIN.svg +316 -0
- gns3server/custom_symbols/vsrx_bybaro.svg +44 -0
- gns3server/custom_symbols/vyos.svg +35 -0
- gns3server/disks/OVMF_CODE_4M.fd +0 -0
- gns3server/disks/OVMF_VARS_4M.fd +0 -0
- gns3server/schemas/__init__.py +1 -1
- gns3server/schemas/compute/docker_nodes.py +2 -2
- gns3server/schemas/compute/dynamips_nodes.py +5 -5
- gns3server/schemas/compute/iou_nodes.py +2 -2
- gns3server/schemas/controller/links.py +21 -0
- gns3server/schemas/controller/templates/docker_templates.py +2 -2
- gns3server/schemas/controller/templates/dynamips_templates.py +19 -19
- gns3server/schemas/controller/templates/iou_templates.py +4 -4
- gns3server/schemas/controller/templates/qemu_templates.py +1 -1
- gns3server/schemas/controller/users.py +3 -3
- gns3server/static/web-ui/index.html +1 -1
- gns3server/static/web-ui/main.fd9d76d279fa7d5e.js +1 -0
- gns3server/utils/images.py +10 -0
- gns3server/version.py +2 -2
- gns3_server-3.0.3.dist-info/METADATA +0 -869
- gns3server/static/web-ui/main.2e807eb4bc32f838.js +0 -1
- {gns3_server-3.0.3.dist-info → gns3_server-3.0.5.dist-info}/entry_points.txt +0 -0
- {gns3_server-3.0.3.dist-info → gns3_server-3.0.5.dist-info/licenses}/LICENSE +0 -0
- {gns3_server-3.0.3.dist-info → gns3_server-3.0.5.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|
3
|
+
|
|
4
|
+
<svg
|
|
5
|
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
6
|
+
xmlns:cc="http://creativecommons.org/ns#"
|
|
7
|
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
8
|
+
xmlns:svg="http://www.w3.org/2000/svg"
|
|
9
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
10
|
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
11
|
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
12
|
+
width="70"
|
|
13
|
+
height="70"
|
|
14
|
+
viewBox="0 0 70.000002 70.000001"
|
|
15
|
+
id="svg2"
|
|
16
|
+
version="1.1"
|
|
17
|
+
inkscape:version="0.91 r13725"
|
|
18
|
+
sodipodi:docname="vRIN.svg">
|
|
19
|
+
<defs
|
|
20
|
+
id="defs4">
|
|
21
|
+
<marker
|
|
22
|
+
inkscape:stockid="Arrow2Lend"
|
|
23
|
+
orient="auto"
|
|
24
|
+
refY="0"
|
|
25
|
+
refX="0"
|
|
26
|
+
id="marker4924"
|
|
27
|
+
style="overflow:visible"
|
|
28
|
+
inkscape:isstock="true">
|
|
29
|
+
<path
|
|
30
|
+
id="path4926"
|
|
31
|
+
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
|
32
|
+
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
|
33
|
+
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
|
|
34
|
+
inkscape:connector-curvature="0" />
|
|
35
|
+
</marker>
|
|
36
|
+
<marker
|
|
37
|
+
inkscape:stockid="Arrow2Mend"
|
|
38
|
+
orient="auto"
|
|
39
|
+
refY="0"
|
|
40
|
+
refX="0"
|
|
41
|
+
id="Arrow2Mend"
|
|
42
|
+
style="overflow:visible"
|
|
43
|
+
inkscape:isstock="true">
|
|
44
|
+
<path
|
|
45
|
+
id="path4185"
|
|
46
|
+
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
|
47
|
+
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
|
48
|
+
transform="scale(-0.6,-0.6)"
|
|
49
|
+
inkscape:connector-curvature="0" />
|
|
50
|
+
</marker>
|
|
51
|
+
<marker
|
|
52
|
+
inkscape:stockid="TriangleOutL"
|
|
53
|
+
orient="auto"
|
|
54
|
+
refY="0"
|
|
55
|
+
refX="0"
|
|
56
|
+
id="TriangleOutL"
|
|
57
|
+
style="overflow:visible"
|
|
58
|
+
inkscape:isstock="true">
|
|
59
|
+
<path
|
|
60
|
+
id="path4300"
|
|
61
|
+
d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
|
|
62
|
+
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1pt;stroke-opacity:1"
|
|
63
|
+
transform="scale(0.8,0.8)"
|
|
64
|
+
inkscape:connector-curvature="0" />
|
|
65
|
+
</marker>
|
|
66
|
+
<marker
|
|
67
|
+
inkscape:stockid="Arrow1Lend"
|
|
68
|
+
orient="auto"
|
|
69
|
+
refY="0"
|
|
70
|
+
refX="0"
|
|
71
|
+
id="Arrow1Lend"
|
|
72
|
+
style="overflow:visible"
|
|
73
|
+
inkscape:isstock="true">
|
|
74
|
+
<path
|
|
75
|
+
id="path4161"
|
|
76
|
+
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
|
|
77
|
+
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1pt;stroke-opacity:1"
|
|
78
|
+
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
|
79
|
+
inkscape:connector-curvature="0" />
|
|
80
|
+
</marker>
|
|
81
|
+
<marker
|
|
82
|
+
inkscape:stockid="Arrow2Lend"
|
|
83
|
+
orient="auto"
|
|
84
|
+
refY="0"
|
|
85
|
+
refX="0"
|
|
86
|
+
id="marker4782"
|
|
87
|
+
style="overflow:visible"
|
|
88
|
+
inkscape:isstock="true">
|
|
89
|
+
<path
|
|
90
|
+
id="path4784"
|
|
91
|
+
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
|
92
|
+
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
|
93
|
+
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
|
|
94
|
+
inkscape:connector-curvature="0" />
|
|
95
|
+
</marker>
|
|
96
|
+
<marker
|
|
97
|
+
inkscape:stockid="Arrow2Lend"
|
|
98
|
+
orient="auto"
|
|
99
|
+
refY="0"
|
|
100
|
+
refX="0"
|
|
101
|
+
id="Arrow2Lend"
|
|
102
|
+
style="overflow:visible"
|
|
103
|
+
inkscape:isstock="true">
|
|
104
|
+
<path
|
|
105
|
+
id="path4179"
|
|
106
|
+
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
|
107
|
+
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
|
108
|
+
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
|
|
109
|
+
inkscape:connector-curvature="0" />
|
|
110
|
+
</marker>
|
|
111
|
+
<marker
|
|
112
|
+
inkscape:stockid="Arrow2Lend"
|
|
113
|
+
orient="auto"
|
|
114
|
+
refY="0"
|
|
115
|
+
refX="0"
|
|
116
|
+
id="marker4924-8"
|
|
117
|
+
style="overflow:visible"
|
|
118
|
+
inkscape:isstock="true">
|
|
119
|
+
<path
|
|
120
|
+
inkscape:connector-curvature="0"
|
|
121
|
+
id="path4926-5"
|
|
122
|
+
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
|
123
|
+
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
|
124
|
+
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
|
|
125
|
+
</marker>
|
|
126
|
+
<marker
|
|
127
|
+
inkscape:stockid="Arrow2Lend"
|
|
128
|
+
orient="auto"
|
|
129
|
+
refY="0"
|
|
130
|
+
refX="0"
|
|
131
|
+
id="marker4924-8-2"
|
|
132
|
+
style="overflow:visible"
|
|
133
|
+
inkscape:isstock="true">
|
|
134
|
+
<path
|
|
135
|
+
inkscape:connector-curvature="0"
|
|
136
|
+
id="path4926-5-7"
|
|
137
|
+
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
|
138
|
+
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
|
139
|
+
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
|
|
140
|
+
</marker>
|
|
141
|
+
<marker
|
|
142
|
+
inkscape:stockid="Arrow2Lend"
|
|
143
|
+
orient="auto"
|
|
144
|
+
refY="0"
|
|
145
|
+
refX="0"
|
|
146
|
+
id="marker4924-8-20"
|
|
147
|
+
style="overflow:visible"
|
|
148
|
+
inkscape:isstock="true">
|
|
149
|
+
<path
|
|
150
|
+
inkscape:connector-curvature="0"
|
|
151
|
+
id="path4926-5-8"
|
|
152
|
+
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
|
153
|
+
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
|
154
|
+
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
|
|
155
|
+
</marker>
|
|
156
|
+
<marker
|
|
157
|
+
inkscape:stockid="Arrow2Lend"
|
|
158
|
+
orient="auto"
|
|
159
|
+
refY="0"
|
|
160
|
+
refX="0"
|
|
161
|
+
id="marker4924-7"
|
|
162
|
+
style="overflow:visible"
|
|
163
|
+
inkscape:isstock="true">
|
|
164
|
+
<path
|
|
165
|
+
inkscape:connector-curvature="0"
|
|
166
|
+
id="path4926-7"
|
|
167
|
+
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
|
168
|
+
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
|
169
|
+
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
|
|
170
|
+
</marker>
|
|
171
|
+
<marker
|
|
172
|
+
inkscape:stockid="Arrow2Lend"
|
|
173
|
+
orient="auto"
|
|
174
|
+
refY="0"
|
|
175
|
+
refX="0"
|
|
176
|
+
id="marker4924-8-2-9"
|
|
177
|
+
style="overflow:visible"
|
|
178
|
+
inkscape:isstock="true">
|
|
179
|
+
<path
|
|
180
|
+
inkscape:connector-curvature="0"
|
|
181
|
+
id="path4926-5-7-4"
|
|
182
|
+
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
|
183
|
+
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
|
184
|
+
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
|
|
185
|
+
</marker>
|
|
186
|
+
<marker
|
|
187
|
+
inkscape:stockid="Arrow2Lend"
|
|
188
|
+
orient="auto"
|
|
189
|
+
refY="0"
|
|
190
|
+
refX="0"
|
|
191
|
+
id="marker4924-8-20-9"
|
|
192
|
+
style="overflow:visible"
|
|
193
|
+
inkscape:isstock="true">
|
|
194
|
+
<path
|
|
195
|
+
inkscape:connector-curvature="0"
|
|
196
|
+
id="path4926-5-8-8"
|
|
197
|
+
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
|
198
|
+
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
|
199
|
+
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
|
|
200
|
+
</marker>
|
|
201
|
+
<marker
|
|
202
|
+
inkscape:stockid="Arrow2Lend"
|
|
203
|
+
orient="auto"
|
|
204
|
+
refY="0"
|
|
205
|
+
refX="0"
|
|
206
|
+
id="marker4924-7-5"
|
|
207
|
+
style="overflow:visible"
|
|
208
|
+
inkscape:isstock="true">
|
|
209
|
+
<path
|
|
210
|
+
inkscape:connector-curvature="0"
|
|
211
|
+
id="path4926-7-0"
|
|
212
|
+
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
|
213
|
+
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
|
214
|
+
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
|
|
215
|
+
</marker>
|
|
216
|
+
<marker
|
|
217
|
+
inkscape:stockid="Arrow2Lend"
|
|
218
|
+
orient="auto"
|
|
219
|
+
refY="0"
|
|
220
|
+
refX="0"
|
|
221
|
+
id="marker4924-7-58"
|
|
222
|
+
style="overflow:visible"
|
|
223
|
+
inkscape:isstock="true">
|
|
224
|
+
<path
|
|
225
|
+
inkscape:connector-curvature="0"
|
|
226
|
+
id="path4926-7-9"
|
|
227
|
+
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
|
228
|
+
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
|
229
|
+
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
|
|
230
|
+
</marker>
|
|
231
|
+
</defs>
|
|
232
|
+
<sodipodi:namedview
|
|
233
|
+
id="base"
|
|
234
|
+
pagecolor="#ffffff"
|
|
235
|
+
bordercolor="#666666"
|
|
236
|
+
borderopacity="1.0"
|
|
237
|
+
inkscape:pageopacity="0.0"
|
|
238
|
+
inkscape:pageshadow="2"
|
|
239
|
+
inkscape:zoom="8"
|
|
240
|
+
inkscape:cx="13.588207"
|
|
241
|
+
inkscape:cy="41.315689"
|
|
242
|
+
inkscape:document-units="px"
|
|
243
|
+
inkscape:current-layer="layer1"
|
|
244
|
+
showgrid="false"
|
|
245
|
+
units="px"
|
|
246
|
+
inkscape:window-width="1920"
|
|
247
|
+
inkscape:window-height="1016"
|
|
248
|
+
inkscape:window-x="0"
|
|
249
|
+
inkscape:window-y="0"
|
|
250
|
+
inkscape:window-maximized="1"
|
|
251
|
+
fit-margin-top="0"
|
|
252
|
+
fit-margin-left="0"
|
|
253
|
+
fit-margin-right="0"
|
|
254
|
+
fit-margin-bottom="0" />
|
|
255
|
+
<metadata
|
|
256
|
+
id="metadata7">
|
|
257
|
+
<rdf:RDF>
|
|
258
|
+
<cc:Work
|
|
259
|
+
rdf:about="">
|
|
260
|
+
<dc:format>image/svg+xml</dc:format>
|
|
261
|
+
<dc:type
|
|
262
|
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
263
|
+
<dc:title />
|
|
264
|
+
</cc:Work>
|
|
265
|
+
</rdf:RDF>
|
|
266
|
+
</metadata>
|
|
267
|
+
<g
|
|
268
|
+
inkscape:label="vRIN"
|
|
269
|
+
inkscape:groupmode="layer"
|
|
270
|
+
id="layer1"
|
|
271
|
+
style="display:inline"
|
|
272
|
+
transform="translate(0,-892.46783)">
|
|
273
|
+
<circle
|
|
274
|
+
style="fill:#1392e8;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
275
|
+
id="path3346"
|
|
276
|
+
cx="35"
|
|
277
|
+
cy="927.48718"
|
|
278
|
+
r="35" />
|
|
279
|
+
<circle
|
|
280
|
+
style="display:inline;fill:#91c2fb;fill-opacity:1;stroke:none"
|
|
281
|
+
id="path4149"
|
|
282
|
+
r="30.676126"
|
|
283
|
+
cy="927.48718"
|
|
284
|
+
cx="35.233734" />
|
|
285
|
+
<path
|
|
286
|
+
style="display:inline;fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.93489146;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4924-7)"
|
|
287
|
+
d="m 22.32053,907.09486 18.69783,0"
|
|
288
|
+
id="path4152"
|
|
289
|
+
inkscape:connector-curvature="0" />
|
|
290
|
+
<path
|
|
291
|
+
style="display:inline;fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.93489146;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4924-8-2-9)"
|
|
292
|
+
d="m 38.48734,920.78412 18.69783,0"
|
|
293
|
+
id="path4152-9-9"
|
|
294
|
+
inkscape:connector-curvature="0" />
|
|
295
|
+
<path
|
|
296
|
+
style="display:inline;fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.93489146;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4924-8-20-9)"
|
|
297
|
+
d="m 38.6042,934.69063 18.69783,0"
|
|
298
|
+
id="path4152-9-91"
|
|
299
|
+
inkscape:connector-curvature="0" />
|
|
300
|
+
<path
|
|
301
|
+
style="display:inline;fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.93489146;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4924-7-5)"
|
|
302
|
+
d="m -265.0259,179.09455 18.69783,0"
|
|
303
|
+
id="path4152-1"
|
|
304
|
+
inkscape:connector-curvature="0" />
|
|
305
|
+
<path
|
|
306
|
+
style="display:inline;fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.93489146;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4924-7-58)"
|
|
307
|
+
d="m 22.32053,947.84486 18.69783,0"
|
|
308
|
+
id="path4152-2"
|
|
309
|
+
inkscape:connector-curvature="0" />
|
|
310
|
+
</g>
|
|
311
|
+
<path
|
|
312
|
+
style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4924-8)"
|
|
313
|
+
d="m 191.34167,32.035246 160,0"
|
|
314
|
+
id="path4152-9"
|
|
315
|
+
inkscape:connector-curvature="0" />
|
|
316
|
+
</svg>
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<svg id="svg1998" width="55.044277" height="63.620274" version="1.0" xmlns="http://www.w3.org/2000/svg">
|
|
3
|
+
<title id="title3303">ASA</title>
|
|
4
|
+
<defs id="defs2001">
|
|
5
|
+
<marker orient="auto" refY="0" refX="0" id="Arrow2Lstart" style="overflow:visible">
|
|
6
|
+
<path id="path11918" style="font-size:12px;fill-rule:evenodd;stroke-width:0.73333335;stroke-linejoin:round" d="M 11.403143,4.732916 -1.416553,0.01878889 11.403144,-4.6953372 c -2.0480517,2.7832182 -2.0362508,6.5911436 -10e-7,9.4282532 z"/>
|
|
7
|
+
</marker>
|
|
8
|
+
<marker orient="auto" refY="0" refX="0" id="Arrow1Send" style="overflow:visible">
|
|
9
|
+
<path id="path11921" d="M -1.28,0 -2.3466667,1.0666667 1.3866667,0 -2.3466667,-1.0666667 Z" style="fill-rule:evenodd;stroke:#000000;stroke-width:0.21333334pt;marker-start:none"/>
|
|
10
|
+
</marker>
|
|
11
|
+
<marker orient="auto" refY="0" refX="0" id="Arrow1Lstart" style="overflow:visible">
|
|
12
|
+
<path id="path11936" d="M 10.666667,0 14.933333,-4.2666667 0,0 14.933333,4.2666667 Z" style="fill-rule:evenodd;stroke:#000000;stroke-width:0.85333335pt;marker-start:none"/>
|
|
13
|
+
</marker>
|
|
14
|
+
<linearGradient id="linearGradient6875" gradientUnits="userSpaceOnUse" gradientTransform="matrix(26.557584,0,0,27.099161,-9.2951537,-5.3720715)" x1="2.1178279" y1="0.30649999" x2="-0.4954865" y2="0.30649999">
|
|
15
|
+
<stop style="stop-color:#6e8caa;stop-opacity:1;" offset="0" id="stop8333"/>
|
|
16
|
+
<stop style="stop-color:#dde3ef;stop-opacity:1;" offset="1" id="stop8335"/>
|
|
17
|
+
</linearGradient>
|
|
18
|
+
</defs>
|
|
19
|
+
<path id="path11907" d="m 2.277686,60.343382 v 3.25342 h 45.379267 v -3.25342 H 2.277686" style="fill:#000000;fill-opacity:0.39215686;stroke:none;stroke-width:1.06666672"/>
|
|
20
|
+
<path id="path11020" d="M 47.765643,8.1809483 55.044279,1.3761504 55.028695,57.643455 47.654539,63.62027 47.765638,8.1809483" style="fill:#000000;fill-opacity:0.39215686;stroke:none;stroke-width:1.06666672"/>
|
|
21
|
+
<path id="path2037" d="M 0.47692057,5.3149867 V 49.230745 H 47.778461 V 5.3149867 H 0.47692057" style="fill:#6e8caa;fill-opacity:1;stroke:none;stroke-width:1.06666672"/>
|
|
22
|
+
<path id="path2041" d="M 0,5.8198859 6.0551291,0.04776213 H 53.885337 L 47.777093,5.8198859 H 0" style="fill:url(#linearGradient6875);fill-opacity:1;stroke:none;stroke-width:1.06666672"/>
|
|
23
|
+
<path id="path2045" d="M 47.635174,5.2911061 53.670405,0 v 43.968341 l -6.035231,5.291106 V 5.2911061" style="fill:#6e8296;fill-opacity:1;stroke:none;stroke-width:1.06666672"/>
|
|
24
|
+
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06040335" d="m 68.017411,-124.00618 h 32.336679 v -2.5979 l 6.95208,5.19579 -6.95208,5.62568 v -2.59789 H 68.017411 v -5.62568" id="path39"/>
|
|
25
|
+
<path style="fill:#000000;stroke:#ffffff;stroke-width:1.06040335;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="M 56.893321,-121.40829 H 70.452314" id="path61"/>
|
|
26
|
+
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06040335" d="M 16.19484,61.82555 H 0.42243277 V 55.665507 H 16.19484 v 6.160043" id="path99"/>
|
|
27
|
+
<path style="fill:#000000;stroke:#e1e1e1;stroke-width:0.47963932;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="M 16.19484,61.82555 H 0.57567743" id="path101"/>
|
|
28
|
+
<path style="fill:#000000;stroke:#e1e1e1;stroke-width:0.47819233;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="M 0.66977537,55.665507 H 16.19484 v 6.160043" id="path103"/>
|
|
29
|
+
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.47819233;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="M 47.780883,61.82555 H 31.991982 v -6.160043 h 15.788901 v 6.160043" id="path105"/>
|
|
30
|
+
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.47819233;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="M 40.280128,61.82555 H 24.474743 v -6.160043 h 15.805385 v 6.160043" id="path107"/>
|
|
31
|
+
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.47819233;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="M 24.474743,61.82555 H 8.6940847 V 55.665507 H 24.474743 v 6.160043" id="path109"/>
|
|
32
|
+
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.50290239;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="m 50.792321,53.512289 2.638353,-2.735375 v -6.805626 l -2.638353,2.720386 v 6.820615" id="path111"/>
|
|
33
|
+
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.47819233;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="m 50.792321,59.372711 2.638353,-2.166775 v -6.166822 l -2.638353,2.160008 v 6.173589" id="path125"/>
|
|
34
|
+
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.47819233;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="m 47.780883,61.82555 3.011438,-2.452839 v -6.173589 l -3.011438,2.466385 v 6.160043" id="path127"/>
|
|
35
|
+
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.47819233;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="M 31.991982,55.665507 H 16.19484 v -6.166811 h 15.797142 v 6.166811" id="path133"/>
|
|
36
|
+
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06040335" d="M 16.19484,55.665507 H 0.42243277 V 49.498685 H 16.19484 v 6.166822" id="path135"/>
|
|
37
|
+
<path style="fill:#000000;stroke:#e1e1e1;stroke-width:0.48108193;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="M 16.19484,55.665507 H 0.48158037" id="path137"/>
|
|
38
|
+
<path style="fill:#000000;stroke:#e1e1e1;stroke-width:0.48039833;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="M 0.52620409,49.498696 H 16.19484 v 6.166811" id="path139"/>
|
|
39
|
+
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.47819233;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="M 47.780883,55.665507 H 31.991982 v -6.166811 h 15.788901 v 6.166811" id="path141"/>
|
|
40
|
+
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.48692337;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="m 47.780883,55.665507 3.011438,-2.557269 v -6.387053 l -3.011438,2.550268 v 6.394054" id="path145"/>
|
|
41
|
+
<path d="M 24.272 46.546 C 34.337 46.546 42.543 38.338 42.543 28.274 C 42.543 18.21 34.337 10 24.272 10 C 14.207 10 6 18.21 6 28.274 C 6 38.338 14.207 46.546 24.272 46.546 Z" fill="#12537c"/>
|
|
42
|
+
<path d="M 24.001 48.003 C 35.017 48.003 44 39.018 44 28.003 C 44 16.987 35.017 8 24.001 8 C 12.984 8 4 16.987 4 28.003 C 4 39.018 12.984 48.003 24.001 48.003 Z" stroke="#bcbec0" stroke-linecap="butt" stroke-linejoin="miter" stroke-width="1.125" style="fill: rgb(18, 83, 124);"/>
|
|
43
|
+
<path d="M 22.025 26.701 L 20.936 26.701 L 8.503 26.701 L 8.503 23.706 L 19.439 23.706 L 19.439 17.324 L 17.836 17.324 L 19.397 14.621 L 20.604 12.533 L 20.958 11.92 L 22.52 14.621 L 24.078 17.324 L 23.366 17.324 L 22.434 17.324 L 22.434 25.203 L 22.434 26.701 L 22.025 26.701 L 22.025 26.701 Z M 34.665 27.673 L 34.665 26.701 L 26.887 26.701 L 25.39 26.701 L 25.39 26.289 L 25.39 25.203 L 25.39 12.858 L 28.385 12.858 L 28.385 23.705 L 34.664 23.705 L 34.666 22.141 L 37.366 23.703 L 39.453 24.907 L 39.248 25.264 L 39.453 24.907 L 40.069 25.263 L 37.366 26.824 L 34.664 28.381 L 34.664 27.673 L 34.665 27.673 Z M 19.849 43.677 L 19.849 43.267 L 20.261 43.267 L 19.849 43.267 L 19.849 43.677 L 19.439 43.677 L 19.439 32.828 L 13.334 32.828 L 13.334 34.468 L 10.633 32.907 L 7.931 31.348 L 10.633 29.787 L 13.334 28.228 L 13.334 28.937 L 13.334 29.835 L 20.936 29.835 L 22.434 29.835 L 22.434 30.245 L 22.434 31.331 L 22.434 43.677 L 19.849 43.677 L 19.849 43.677 Z M 26.886 43.239 L 27.242 43.034 L 26.886 43.239 L 26.886 43.239 Z M 25.325 41.358 L 23.766 38.654 L 24.477 38.654 L 25.39 38.653 L 25.39 31.331 L 25.39 29.835 L 25.8 29.835 L 26.887 29.835 L 39.32 29.835 L 39.32 32.828 L 28.386 32.828 L 28.386 38.655 L 30.006 38.655 L 28.446 41.359 L 27.242 43.444 L 26.887 44.062 L 25.325 41.358 L 25.325 41.358 Z" fill="white"/>
|
|
44
|
+
</svg>
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
<svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<rect height="60" width="60" x="0" y="0" style="fill:#ffffff" />
|
|
3
|
+
<path d="M43.8 7.2H52.8V37.2H60V0H43.8V7.2Z" fill="url(#paint0_linear)"/>
|
|
4
|
+
<path d="M37.2 0H0V16.2H7.2V7.2H37.2V0Z" fill="url(#paint1_linear)"/>
|
|
5
|
+
<path d="M7.2 22.8H0V60H16.2V52.8H7.2V22.8Z" fill="url(#paint2_linear)"/>
|
|
6
|
+
<path d="M22.8 52.8V60H60V43.8H52.8V52.8H22.8Z" fill="url(#paint3_linear)"/>
|
|
7
|
+
<path d="M13.2 13.2H20.4L33.6 46.8H26.4L13.2 13.2Z" fill="url(#paint4_linear)"/>
|
|
8
|
+
<path d="M46.8 13.2H39.6L26.4 46.8H33.6L46.8 13.2Z" fill="url(#paint5_linear)"/>
|
|
9
|
+
<defs>
|
|
10
|
+
<linearGradient id="paint0_linear" x1="0" y1="0" x2="60" y2="60" gradientUnits="userSpaceOnUse">
|
|
11
|
+
<stop stop-color="#FFBF12"/>
|
|
12
|
+
<stop offset="1" stop-color="#FF9000"/>
|
|
13
|
+
</linearGradient>
|
|
14
|
+
<linearGradient id="paint1_linear" x1="0" y1="0" x2="60" y2="60" gradientUnits="userSpaceOnUse">
|
|
15
|
+
<stop stop-color="#FFBF12"/>
|
|
16
|
+
<stop offset="1" stop-color="#FF9000"/>
|
|
17
|
+
</linearGradient>
|
|
18
|
+
<linearGradient id="paint2_linear" x1="0" y1="0" x2="60" y2="60" gradientUnits="userSpaceOnUse">
|
|
19
|
+
<stop stop-color="#FFBF12"/>
|
|
20
|
+
<stop offset="1" stop-color="#FF9000"/>
|
|
21
|
+
</linearGradient>
|
|
22
|
+
<linearGradient id="paint3_linear" x1="0" y1="0" x2="60" y2="60" gradientUnits="userSpaceOnUse">
|
|
23
|
+
<stop stop-color="#FFBF12"/>
|
|
24
|
+
<stop offset="1" stop-color="#FF9000"/>
|
|
25
|
+
</linearGradient>
|
|
26
|
+
<linearGradient id="paint4_linear" x1="0" y1="0" x2="60" y2="60" gradientUnits="userSpaceOnUse">
|
|
27
|
+
<stop stop-color="#FFBF12"/>
|
|
28
|
+
<stop offset="1" stop-color="#FF9000"/>
|
|
29
|
+
</linearGradient>
|
|
30
|
+
<linearGradient id="paint5_linear" x1="0" y1="0" x2="60" y2="60" gradientUnits="userSpaceOnUse">
|
|
31
|
+
<stop stop-color="#FFBF12"/>
|
|
32
|
+
<stop offset="1" stop-color="#FF9000"/>
|
|
33
|
+
</linearGradient>
|
|
34
|
+
</defs>
|
|
35
|
+
</svg>
|
|
Binary file
|
|
Binary file
|
gns3server/schemas/__init__.py
CHANGED
|
@@ -20,7 +20,7 @@ from .common import ErrorMessage
|
|
|
20
20
|
from .version import Version
|
|
21
21
|
|
|
22
22
|
# Controller schemas
|
|
23
|
-
from .controller.links import LinkCreate, LinkUpdate, Link
|
|
23
|
+
from .controller.links import LinkCreate, LinkUpdate, Link, UDPPortInfo, EthernetPortInfo
|
|
24
24
|
from .controller.computes import ComputeCreate, ComputeUpdate, ComputeVirtualBoxVM, ComputeVMwareVM, ComputeDockerImage, AutoIdlePC, Compute
|
|
25
25
|
from .controller.templates import TemplateCreate, TemplateUpdate, TemplateUsage, Template
|
|
26
26
|
from .controller.images import Image, ImageType
|
|
@@ -43,8 +43,8 @@ class DockerBase(BaseModel):
|
|
|
43
43
|
environment: Optional[str] = Field(None, description="Docker environment variables")
|
|
44
44
|
extra_hosts: Optional[str] = Field(None, description="Docker extra hosts (added to /etc/hosts)")
|
|
45
45
|
extra_volumes: Optional[List[str]] = Field(None, description="Additional directories to make persistent")
|
|
46
|
-
memory: Optional[int] = Field(None, description="Maximum amount of memory the container can use in MB")
|
|
47
|
-
cpus: Optional[float] = Field(None, description="Maximum amount of CPU resources the container can use")
|
|
46
|
+
memory: Optional[int] = Field(None, ge=0, description="Maximum amount of memory the container can use in MB")
|
|
47
|
+
cpus: Optional[float] = Field(None, ge=0, description="Maximum amount of CPU resources the container can use")
|
|
48
48
|
custom_adapters: Optional[List[CustomAdapter]] = Field(None, description="Custom adapters")
|
|
49
49
|
|
|
50
50
|
|
|
@@ -124,8 +124,8 @@ class DynamipsBase(BaseModel):
|
|
|
124
124
|
name: Optional[str] = None
|
|
125
125
|
dynamips_id: Optional[int] = Field(None, description="Dynamips internal ID")
|
|
126
126
|
platform: Optional[DynamipsPlatform] = Field(None, description="Cisco router platform")
|
|
127
|
-
ram: Optional[int] = Field(None, description="Amount of RAM in MB")
|
|
128
|
-
nvram: Optional[int] = Field(None, description="Amount of NVRAM in KB")
|
|
127
|
+
ram: Optional[int] = Field(None, gt=0, description="Amount of RAM in MB")
|
|
128
|
+
nvram: Optional[int] = Field(None, gt=0, description="Amount of NVRAM in KB")
|
|
129
129
|
image: Optional[str] = Field(None, description="Path to the IOS image")
|
|
130
130
|
image_md5sum: Optional[str] = Field(None, description="Checksum of the IOS image")
|
|
131
131
|
usage: Optional[str] = Field(None, description="How to use the Dynamips VM")
|
|
@@ -139,8 +139,8 @@ class DynamipsBase(BaseModel):
|
|
|
139
139
|
idlemax: Optional[int] = Field(None, description="Idlemax value")
|
|
140
140
|
idlesleep: Optional[int] = Field(None, description="Idlesleep value")
|
|
141
141
|
exec_area: Optional[int] = Field(None, description="Exec area value")
|
|
142
|
-
disk0: Optional[int] = Field(None, description="Disk0 size in MB")
|
|
143
|
-
disk1: Optional[int] = Field(None, description="Disk1 size in MB")
|
|
142
|
+
disk0: Optional[int] = Field(None, ge=0, description="Disk0 size in MB")
|
|
143
|
+
disk1: Optional[int] = Field(None, ge=0, description="Disk1 size in MB")
|
|
144
144
|
auto_delete_disks: Optional[bool] = Field(None, description="Automatically delete nvram and disk files")
|
|
145
145
|
console: Optional[int] = Field(None, gt=0, le=65535, description="Console TCP port")
|
|
146
146
|
console_type: Optional[DynamipsConsoleType] = Field(None, description="Console type")
|
|
@@ -176,7 +176,7 @@ class DynamipsCreate(DynamipsBase):
|
|
|
176
176
|
name: str
|
|
177
177
|
platform: str = Field(..., description="Cisco router platform", pattern="^c[0-9]{4}$")
|
|
178
178
|
image: str = Field(..., description="Path to the IOS image")
|
|
179
|
-
ram: int = Field(..., description="Amount of RAM in MB")
|
|
179
|
+
ram: int = Field(..., gt=0, description="Amount of RAM in MB")
|
|
180
180
|
|
|
181
181
|
|
|
182
182
|
class DynamipsUpdate(DynamipsBase):
|
|
@@ -36,8 +36,8 @@ class IOUBase(BaseModel):
|
|
|
36
36
|
md5sum: Optional[str] = Field(None, description="IOU executable checksum")
|
|
37
37
|
serial_adapters: Optional[int] = Field(None, description="How many serial adapters are connected to IOU")
|
|
38
38
|
ethernet_adapters: Optional[int] = Field(None, description="How many Ethernet adapters are connected to IOU")
|
|
39
|
-
ram: Optional[int] = Field(None, description="Amount of RAM in MB")
|
|
40
|
-
nvram: Optional[int] = Field(None, description="Amount of NVRAM in KB")
|
|
39
|
+
ram: Optional[int] = Field(None, gt=0, description="Amount of RAM in MB")
|
|
40
|
+
nvram: Optional[int] = Field(None, gt=0, description="Amount of NVRAM in KB")
|
|
41
41
|
l1_keepalives: Optional[bool] = Field(None, description="Use default IOU values")
|
|
42
42
|
use_default_iou_values: Optional[bool] = Field(None, description="Always up Ethernet interfaces")
|
|
43
43
|
startup_config_content: Optional[str] = Field(None, description="Content of IOU startup configuration file")
|
|
@@ -92,3 +92,24 @@ class Link(LinkBase):
|
|
|
92
92
|
None,
|
|
93
93
|
description="Read only property. The compute identifier where a capture is running"
|
|
94
94
|
)
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
class UDPPortInfo(BaseModel):
|
|
98
|
+
"""
|
|
99
|
+
UDP port information.
|
|
100
|
+
"""
|
|
101
|
+
|
|
102
|
+
node_id: UUID
|
|
103
|
+
lport: int
|
|
104
|
+
rhost: str
|
|
105
|
+
rport: int
|
|
106
|
+
type: str
|
|
107
|
+
|
|
108
|
+
class EthernetPortInfo(BaseModel):
|
|
109
|
+
"""
|
|
110
|
+
Ethernet port information.
|
|
111
|
+
"""
|
|
112
|
+
|
|
113
|
+
node_id: UUID
|
|
114
|
+
interface: str
|
|
115
|
+
type: str
|
|
@@ -49,8 +49,8 @@ class DockerTemplate(TemplateBase):
|
|
|
49
49
|
)
|
|
50
50
|
extra_hosts: Optional[str] = Field("", description="Docker extra hosts (added to /etc/hosts)")
|
|
51
51
|
extra_volumes: Optional[List] = Field([], description="Additional directories to make persistent")
|
|
52
|
-
memory: Optional[int] = Field(0, description="Maximum amount of memory the container can use in MB")
|
|
53
|
-
cpus: Optional[float] = Field(0, description="Maximum amount of CPU resources the container can use")
|
|
52
|
+
memory: Optional[int] = Field(0, ge=0, description="Maximum amount of memory the container can use in MB")
|
|
53
|
+
cpus: Optional[float] = Field(0, ge=0, description="Maximum amount of CPU resources the container can use")
|
|
54
54
|
custom_adapters: Optional[List[CustomAdapter]] = Field(default_factory=list, description="Custom adapters")
|
|
55
55
|
|
|
56
56
|
|
|
@@ -37,7 +37,7 @@ class DynamipsTemplate(TemplateBase):
|
|
|
37
37
|
symbol: Optional[str] = "router"
|
|
38
38
|
platform: DynamipsPlatform = Field(..., description="Cisco router platform")
|
|
39
39
|
image: str = Field(..., description="Path to the IOS image")
|
|
40
|
-
exec_area: Optional[int] = Field(64, description="Exec area value")
|
|
40
|
+
exec_area: Optional[int] = Field(64, ge=0, description="Exec area value")
|
|
41
41
|
mmap: Optional[bool] = Field(True, description="MMAP feature")
|
|
42
42
|
mac_addr: Optional[str] = Field(
|
|
43
43
|
"", description="Base MAC address", pattern="^([0-9a-fA-F]{4}\\.){2}[0-9a-fA-F]{4}$|^$"
|
|
@@ -46,10 +46,10 @@ class DynamipsTemplate(TemplateBase):
|
|
|
46
46
|
startup_config: Optional[str] = Field("ios_base_startup-config.txt", description="IOS startup configuration file")
|
|
47
47
|
private_config: Optional[str] = Field("", description="IOS private configuration file")
|
|
48
48
|
idlepc: Optional[str] = Field("", description="Idle-PC value", pattern="^(0x[0-9a-fA-F]+)?$|^$")
|
|
49
|
-
idlemax: Optional[int] = Field(500, description="Idlemax value")
|
|
50
|
-
idlesleep: Optional[int] = Field(30, description="Idlesleep value")
|
|
51
|
-
disk0: Optional[int] = Field(0, description="Disk0 size in MB")
|
|
52
|
-
disk1: Optional[int] = Field(0, description="Disk1 size in MB")
|
|
49
|
+
idlemax: Optional[int] = Field(500, ge=0, description="Idlemax value")
|
|
50
|
+
idlesleep: Optional[int] = Field(30, ge=0, description="Idlesleep value")
|
|
51
|
+
disk0: Optional[int] = Field(0, ge=0, description="Disk0 size in MB")
|
|
52
|
+
disk1: Optional[int] = Field(0, ge=0, description="Disk1 size in MB")
|
|
53
53
|
auto_delete_disks: Optional[bool] = Field(False, description="Automatically delete nvram and disk files")
|
|
54
54
|
console_type: Optional[DynamipsConsoleType] = Field(DynamipsConsoleType.telnet, description="Console type")
|
|
55
55
|
console_auto_start: Optional[bool] = Field(
|
|
@@ -70,8 +70,8 @@ class DynamipsTemplate(TemplateBase):
|
|
|
70
70
|
|
|
71
71
|
class C7200DynamipsTemplate(DynamipsTemplate):
|
|
72
72
|
|
|
73
|
-
ram: Optional[int] = Field(512, description="Amount of RAM in MB")
|
|
74
|
-
nvram: Optional[int] = Field(512, description="Amount of NVRAM in KB")
|
|
73
|
+
ram: Optional[int] = Field(512, gt=0, description="Amount of RAM in MB")
|
|
74
|
+
nvram: Optional[int] = Field(512, gt=0, description="Amount of NVRAM in KB")
|
|
75
75
|
npe: Optional[DynamipsNPE] = Field(DynamipsNPE.npe_400, description="NPE model")
|
|
76
76
|
midplane: Optional[DynamipsMidplane] = Field(DynamipsMidplane.vxr, description="Midplane model")
|
|
77
77
|
sparsemem: Optional[bool] = Field(True, description="Sparse memory feature")
|
|
@@ -85,8 +85,8 @@ class C7200DynamipsTemplateUpdate(C7200DynamipsTemplate):
|
|
|
85
85
|
|
|
86
86
|
class C3725DynamipsTemplate(DynamipsTemplate):
|
|
87
87
|
|
|
88
|
-
ram: Optional[int] = Field(128, description="Amount of RAM in MB")
|
|
89
|
-
nvram: Optional[int] = Field(256, description="Amount of NVRAM in KB")
|
|
88
|
+
ram: Optional[int] = Field(128, gt=0, description="Amount of RAM in MB")
|
|
89
|
+
nvram: Optional[int] = Field(256, gt=0, description="Amount of NVRAM in KB")
|
|
90
90
|
iomem: Optional[int] = Field(5, ge=0, le=100, description="I/O memory percentage")
|
|
91
91
|
sparsemem: Optional[bool] = Field(True, description="Sparse memory feature")
|
|
92
92
|
|
|
@@ -99,8 +99,8 @@ class C3725DynamipsTemplateUpdate(C3725DynamipsTemplate):
|
|
|
99
99
|
|
|
100
100
|
class C3745DynamipsTemplate(DynamipsTemplate):
|
|
101
101
|
|
|
102
|
-
ram: Optional[int] = Field(256, description="Amount of RAM in MB")
|
|
103
|
-
nvram: Optional[int] = Field(256, description="Amount of NVRAM in KB")
|
|
102
|
+
ram: Optional[int] = Field(256, gt=0, description="Amount of RAM in MB")
|
|
103
|
+
nvram: Optional[int] = Field(256, gt=0, description="Amount of NVRAM in KB")
|
|
104
104
|
iomem: Optional[int] = Field(5, ge=0, le=100, description="I/O memory percentage")
|
|
105
105
|
sparsemem: Optional[bool] = Field(True, description="Sparse memory feature")
|
|
106
106
|
|
|
@@ -121,8 +121,8 @@ class C3600ChassisType(str, Enum):
|
|
|
121
121
|
class C3600DynamipsTemplate(DynamipsTemplate):
|
|
122
122
|
|
|
123
123
|
chassis: Optional[C3600ChassisType] = Field("c3660", description="Chassis type")
|
|
124
|
-
ram: Optional[int] = Field(192, description="Amount of RAM in MB")
|
|
125
|
-
nvram: Optional[int] = Field(128, description="Amount of NVRAM in KB")
|
|
124
|
+
ram: Optional[int] = Field(192, gt=0, description="Amount of RAM in MB")
|
|
125
|
+
nvram: Optional[int] = Field(128, gt=0, description="Amount of NVRAM in KB")
|
|
126
126
|
iomem: Optional[int] = Field(5, ge=0, le=100, description="I/O memory percentage")
|
|
127
127
|
sparsemem: Optional[bool] = Field(True, description="Sparse memory feature")
|
|
128
128
|
|
|
@@ -135,8 +135,8 @@ class C3600DynamipsTemplateUpdate(C3600DynamipsTemplate):
|
|
|
135
135
|
|
|
136
136
|
class C2691DynamipsTemplate(DynamipsTemplate):
|
|
137
137
|
|
|
138
|
-
ram: Optional[int] = Field(192, description="Amount of RAM in MB")
|
|
139
|
-
nvram: Optional[int] = Field(256, description="Amount of NVRAM in KB")
|
|
138
|
+
ram: Optional[int] = Field(192, gt=0, description="Amount of RAM in MB")
|
|
139
|
+
nvram: Optional[int] = Field(256, gt=0, description="Amount of NVRAM in KB")
|
|
140
140
|
iomem: Optional[int] = Field(5, ge=0, le=100, description="I/O memory percentage")
|
|
141
141
|
sparsemem: Optional[bool] = Field(True, description="Sparse memory feature")
|
|
142
142
|
|
|
@@ -163,8 +163,8 @@ class C2600ChassisType(str, Enum):
|
|
|
163
163
|
class C2600DynamipsTemplate(DynamipsTemplate):
|
|
164
164
|
|
|
165
165
|
chassis: Optional[C2600ChassisType] = Field("2651XM", description="Chassis type")
|
|
166
|
-
ram: Optional[int] = Field(160, description="Amount of RAM in MB")
|
|
167
|
-
nvram: Optional[int] = Field(128, description="Amount of NVRAM in KB")
|
|
166
|
+
ram: Optional[int] = Field(160, gt=0, description="Amount of RAM in MB")
|
|
167
|
+
nvram: Optional[int] = Field(128, gt=0, description="Amount of NVRAM in KB")
|
|
168
168
|
iomem: Optional[int] = Field(15, ge=0, le=100, description="I/O memory percentage")
|
|
169
169
|
sparsemem: Optional[bool] = Field(True, description="Sparse memory feature")
|
|
170
170
|
|
|
@@ -187,8 +187,8 @@ class C1700ChassisType(str, Enum):
|
|
|
187
187
|
class C1700DynamipsTemplate(DynamipsTemplate):
|
|
188
188
|
|
|
189
189
|
chassis: Optional[C1700ChassisType] = Field("1760", description="Chassis type")
|
|
190
|
-
ram: Optional[int] = Field(160, description="Amount of RAM in MB")
|
|
191
|
-
nvram: Optional[int] = Field(128, description="Amount of NVRAM in KB")
|
|
190
|
+
ram: Optional[int] = Field(160, gt=0, description="Amount of RAM in MB")
|
|
191
|
+
nvram: Optional[int] = Field(128, gt=0, description="Amount of NVRAM in KB")
|
|
192
192
|
iomem: Optional[int] = Field(15, ge=0, le=100, description="I/O memory percentage")
|
|
193
193
|
sparsemem: Optional[bool] = Field(False, description="Sparse memory feature")
|
|
194
194
|
|
|
@@ -28,10 +28,10 @@ class IOUTemplate(TemplateBase):
|
|
|
28
28
|
default_name_format: Optional[str] = "IOU{0}"
|
|
29
29
|
symbol: Optional[str] = "multilayer_switch"
|
|
30
30
|
path: str = Field(..., description="Path of IOU executable")
|
|
31
|
-
ethernet_adapters: Optional[int] = Field(2, description="Number of ethernet adapters")
|
|
32
|
-
serial_adapters: Optional[int] = Field(2, description="Number of serial adapters")
|
|
33
|
-
ram: Optional[int] = Field(256, description="Amount of RAM in MB")
|
|
34
|
-
nvram: Optional[int] = Field(128, description="Amount of NVRAM in KB")
|
|
31
|
+
ethernet_adapters: Optional[int] = Field(2, ge=0, description="Number of ethernet adapters")
|
|
32
|
+
serial_adapters: Optional[int] = Field(2, ge=0, description="Number of serial adapters")
|
|
33
|
+
ram: Optional[int] = Field(256, gt=0, description="Amount of RAM in MB")
|
|
34
|
+
nvram: Optional[int] = Field(128, gt=0, description="Amount of NVRAM in KB")
|
|
35
35
|
use_default_iou_values: Optional[bool] = Field(True, description="Use default IOU values")
|
|
36
36
|
startup_config: Optional[str] = Field("iou_l3_base_startup-config.txt", description="Startup-config of IOU")
|
|
37
37
|
private_config: Optional[str] = Field("", description="Private-config of IOU")
|
|
@@ -39,7 +39,7 @@ class QemuTemplate(TemplateBase):
|
|
|
39
39
|
qemu_path: Optional[str] = Field("", description="Qemu executable path")
|
|
40
40
|
platform: Optional[QemuPlatform] = Field(QemuPlatform.x86_64, description="Platform to emulate")
|
|
41
41
|
linked_clone: Optional[bool] = Field(True, description="Whether the VM is a linked clone or not")
|
|
42
|
-
ram: Optional[int] = Field(256, description="Amount of RAM in MB")
|
|
42
|
+
ram: Optional[int] = Field(256, gt=0, description="Amount of RAM in MB")
|
|
43
43
|
cpus: Optional[int] = Field(1, ge=1, le=255, description="Number of vCPUs")
|
|
44
44
|
maxcpus: Optional[int] = Field(1, ge=1, le=255, description="Maximum number of hotpluggable vCPUs")
|
|
45
45
|
adapters: Optional[int] = Field(1, ge=0, le=275, description="Number of adapters")
|