gns3-server 3.0.0rc1__py3-none-any.whl → 3.0.1__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.0rc1.dist-info → gns3_server-3.0.1.dist-info}/METADATA +20 -19
- {gns3_server-3.0.0rc1.dist-info → gns3_server-3.0.1.dist-info}/RECORD +89 -79
- {gns3_server-3.0.0rc1.dist-info → gns3_server-3.0.1.dist-info}/WHEEL +1 -1
- gns3server/api/routes/compute/cloud_nodes.py +1 -1
- gns3server/api/routes/compute/docker_nodes.py +3 -0
- gns3server/api/routes/compute/nat_nodes.py +1 -1
- gns3server/api/routes/compute/vmware_nodes.py +1 -1
- gns3server/api/routes/compute/vpcs_nodes.py +10 -4
- gns3server/api/routes/controller/projects.py +29 -3
- gns3server/api/routes/controller/users.py +2 -2
- gns3server/api/routes/index.py +3 -3
- gns3server/api/server.py +38 -3
- gns3server/appliances/almalinux.gns3a +6 -6
- gns3server/appliances/arista-veos.gns3a +20 -514
- gns3server/appliances/cisco-7200.gns3a +26 -0
- gns3server/appliances/cisco-asav.gns3a +14 -1
- gns3server/appliances/cisco-csr1000v.gns3a +28 -2
- gns3server/appliances/cisco-iou-l2.gns3a +16 -4
- gns3server/appliances/cisco-iou-l3.gns3a +16 -4
- gns3server/appliances/cisco-vWLC.gns3a +29 -1
- gns3server/appliances/fortigate.gns3a +3 -3
- gns3server/appliances/hbcd-pe.gns3a +62 -0
- gns3server/appliances/innovaphone-app.gns3a +50 -0
- gns3server/appliances/innovaphone-ipva.gns3a +78 -0
- gns3server/appliances/mikrotik-chr.gns3a +30 -99
- gns3server/appliances/nixos.gns3a +52 -0
- gns3server/appliances/opnsense.gns3a +13 -0
- gns3server/appliances/pfsense.gns3a +14 -0
- gns3server/appliances/reactos.gns3a +10 -10
- gns3server/appliances/truenas.gns3a +104 -0
- gns3server/appliances/ubuntu-cloud.gns3a +35 -20
- gns3server/appliances/ubuntu-gui.gns3a +13 -0
- gns3server/appliances/viptela-edge-genericx86-64.gns3a +28 -2
- gns3server/appliances/viptela-smart-genericx86-64.gns3a +27 -1
- gns3server/appliances/viptela-vmanage-genericx86-64.gns3a +32 -4
- gns3server/appliances/vyos.gns3a +95 -98
- gns3server/compute/base_node.py +1 -0
- gns3server/compute/docker/docker_vm.py +56 -2
- gns3server/compute/docker/resources/init.sh +5 -2
- gns3server/compute/dynamips/__init__.py +0 -4
- gns3server/compute/dynamips/nodes/router.py +20 -0
- gns3server/compute/iou/iou_vm.py +22 -12
- gns3server/compute/notification_manager.py +2 -2
- gns3server/compute/qemu/qemu_vm.py +0 -5
- gns3server/controller/__init__.py +35 -25
- gns3server/controller/appliance_manager.py +2 -4
- gns3server/controller/compute.py +1 -1
- gns3server/controller/export_project.py +18 -14
- gns3server/controller/import_project.py +21 -0
- gns3server/controller/node.py +10 -8
- gns3server/controller/notification.py +4 -4
- gns3server/controller/project.py +88 -5
- gns3server/controller/symbols.py +1 -1
- gns3server/controller/topology.py +1 -1
- gns3server/crash_report.py +1 -1
- gns3server/db/models/templates.py +1 -0
- gns3server/db/repositories/pools.py +1 -1
- gns3server/db/tasks.py +1 -1
- gns3server/db_migrations/versions/9a5292aa4389_add_mac_address_field_in_docker_.py +27 -0
- gns3server/disks/empty100G.qcow2 +0 -0
- gns3server/disks/empty200G.qcow2 +0 -0
- gns3server/disks/empty30G.qcow2 +0 -0
- gns3server/disks/empty8G.qcow2 +0 -0
- gns3server/schemas/compute/docker_nodes.py +1 -0
- gns3server/schemas/compute/ethernet_switch_nodes.py +1 -1
- gns3server/schemas/config.py +1 -1
- gns3server/schemas/controller/templates/cloud_templates.py +2 -2
- gns3server/schemas/controller/templates/docker_templates.py +4 -3
- gns3server/schemas/controller/templates/dynamips_templates.py +5 -5
- gns3server/schemas/controller/templates/ethernet_hub_templates.py +1 -1
- gns3server/schemas/controller/templates/ethernet_switch_templates.py +2 -2
- gns3server/schemas/controller/templates/iou_templates.py +2 -2
- gns3server/schemas/controller/templates/qemu_templates.py +12 -12
- gns3server/schemas/controller/templates/virtualbox_templates.py +4 -5
- gns3server/schemas/controller/templates/vmware_templates.py +4 -4
- gns3server/schemas/controller/templates/vpcs_templates.py +2 -2
- gns3server/static/favicon.ico +0 -0
- gns3server/static/redoc.standalone.js +1782 -0
- gns3server/static/swagger-ui-bundle.js +2 -0
- gns3server/static/swagger-ui.css +3 -0
- gns3server/static/web-ui/index.html +1 -1
- gns3server/static/web-ui/{main.4185a8e61824af0d.js → main.e55eeff5c0ba1cf4.js} +1 -1
- gns3server/utils/__init__.py +12 -0
- gns3server/utils/asyncio/aiozipstream.py +15 -11
- gns3server/utils/images.py +45 -35
- gns3server/version.py +2 -2
- {gns3_server-3.0.0rc1.dist-info → gns3_server-3.0.1.dist-info}/LICENSE +0 -0
- {gns3_server-3.0.0rc1.dist-info → gns3_server-3.0.1.dist-info}/entry_points.txt +0 -0
- {gns3_server-3.0.0rc1.dist-info → gns3_server-3.0.1.dist-info}/top_level.txt +0 -0
|
@@ -29,13 +29,13 @@ from typing import Optional, Union, List
|
|
|
29
29
|
|
|
30
30
|
class CloudTemplate(TemplateBase):
|
|
31
31
|
|
|
32
|
-
category: Optional[Category] =
|
|
32
|
+
category: Optional[Category] = Category.guest
|
|
33
33
|
default_name_format: Optional[str] = "Cloud{0}"
|
|
34
34
|
symbol: Optional[str] = "cloud"
|
|
35
35
|
ports_mapping: List[Union[EthernetPort, TAPPort, UDPPort]] = Field(default_factory=list)
|
|
36
36
|
remote_console_host: Optional[str] = Field("127.0.0.1", description="Remote console host or IP")
|
|
37
37
|
remote_console_port: Optional[int] = Field(23, gt=0, le=65535, description="Remote console TCP port")
|
|
38
|
-
remote_console_type: Optional[CloudConsoleType] = Field(
|
|
38
|
+
remote_console_type: Optional[CloudConsoleType] = Field(CloudConsoleType.none, description="Remote console type")
|
|
39
39
|
remote_console_http_path: Optional[str] = Field("/", description="Path of the remote web interface")
|
|
40
40
|
|
|
41
41
|
|
|
@@ -24,15 +24,16 @@ from typing import Optional, List
|
|
|
24
24
|
|
|
25
25
|
class DockerTemplate(TemplateBase):
|
|
26
26
|
|
|
27
|
-
category: Optional[Category] =
|
|
27
|
+
category: Optional[Category] = Category.guest
|
|
28
28
|
default_name_format: Optional[str] = "{name}-{0}"
|
|
29
29
|
symbol: Optional[str] = "docker_guest"
|
|
30
30
|
image: str = Field(..., description="Docker image name")
|
|
31
31
|
adapters: Optional[int] = Field(1, ge=0, le=100, description="Number of adapters")
|
|
32
|
+
mac_address: Optional[str] = Field("", description="Base MAC address", pattern="^([0-9a-fA-F]{2}[:]){5}([0-9a-fA-F]{2})$|^$")
|
|
32
33
|
start_command: Optional[str] = Field("", description="Docker CMD entry")
|
|
33
34
|
environment: Optional[str] = Field("", description="Docker environment variables")
|
|
34
|
-
console_type: Optional[ConsoleType] = Field(
|
|
35
|
-
aux_type: Optional[AuxType] = Field(
|
|
35
|
+
console_type: Optional[ConsoleType] = Field(ConsoleType.telnet, description="Console type")
|
|
36
|
+
aux_type: Optional[AuxType] = Field(AuxType.none, description="Auxiliary console type")
|
|
36
37
|
console_auto_start: Optional[bool] = Field(
|
|
37
38
|
False, description="Automatically start the console when the node has started"
|
|
38
39
|
)
|
|
@@ -32,7 +32,7 @@ from enum import Enum
|
|
|
32
32
|
|
|
33
33
|
class DynamipsTemplate(TemplateBase):
|
|
34
34
|
|
|
35
|
-
category: Optional[Category] =
|
|
35
|
+
category: Optional[Category] = Category.router
|
|
36
36
|
default_name_format: Optional[str] = "R{0}"
|
|
37
37
|
symbol: Optional[str] = "router"
|
|
38
38
|
platform: DynamipsPlatform = Field(..., description="Cisco router platform")
|
|
@@ -51,11 +51,11 @@ class DynamipsTemplate(TemplateBase):
|
|
|
51
51
|
disk0: Optional[int] = Field(0, description="Disk0 size in MB")
|
|
52
52
|
disk1: Optional[int] = Field(0, description="Disk1 size in MB")
|
|
53
53
|
auto_delete_disks: Optional[bool] = Field(False, description="Automatically delete nvram and disk files")
|
|
54
|
-
console_type: Optional[DynamipsConsoleType] = Field(
|
|
54
|
+
console_type: Optional[DynamipsConsoleType] = Field(DynamipsConsoleType.telnet, description="Console type")
|
|
55
55
|
console_auto_start: Optional[bool] = Field(
|
|
56
56
|
False, description="Automatically start the console when the node has started"
|
|
57
57
|
)
|
|
58
|
-
aux_type: Optional[DynamipsConsoleType] = Field(
|
|
58
|
+
aux_type: Optional[DynamipsConsoleType] = Field(DynamipsConsoleType.none, description="Auxiliary console type")
|
|
59
59
|
slot0: Optional[DynamipsAdapters] = Field(None, description="Network module slot 0")
|
|
60
60
|
slot1: Optional[DynamipsAdapters] = Field(None, description="Network module slot 1")
|
|
61
61
|
slot2: Optional[DynamipsAdapters] = Field(None, description="Network module slot 2")
|
|
@@ -72,8 +72,8 @@ class C7200DynamipsTemplate(DynamipsTemplate):
|
|
|
72
72
|
|
|
73
73
|
ram: Optional[int] = Field(512, description="Amount of RAM in MB")
|
|
74
74
|
nvram: Optional[int] = Field(512, description="Amount of NVRAM in KB")
|
|
75
|
-
npe: Optional[DynamipsNPE] = Field(
|
|
76
|
-
midplane: Optional[DynamipsMidplane] = Field(
|
|
75
|
+
npe: Optional[DynamipsNPE] = Field(DynamipsNPE.npe_400, description="NPE model")
|
|
76
|
+
midplane: Optional[DynamipsMidplane] = Field(DynamipsMidplane.vxr, description="Midplane model")
|
|
77
77
|
sparsemem: Optional[bool] = Field(True, description="Sparse memory feature")
|
|
78
78
|
|
|
79
79
|
|
|
@@ -35,7 +35,7 @@ DEFAULT_PORTS = [
|
|
|
35
35
|
|
|
36
36
|
class EthernetHubTemplate(TemplateBase):
|
|
37
37
|
|
|
38
|
-
category: Optional[Category] =
|
|
38
|
+
category: Optional[Category] = Category.switch
|
|
39
39
|
default_name_format: Optional[str] = "Hub{0}"
|
|
40
40
|
symbol: Optional[str] = "hub"
|
|
41
41
|
ports_mapping: Optional[List[EthernetHubPort]] = Field(DEFAULT_PORTS, description="Ports")
|
|
@@ -45,11 +45,11 @@ class ConsoleType(str, Enum):
|
|
|
45
45
|
|
|
46
46
|
class EthernetSwitchTemplate(TemplateBase):
|
|
47
47
|
|
|
48
|
-
category: Optional[Category] =
|
|
48
|
+
category: Optional[Category] = Category.switch
|
|
49
49
|
default_name_format: Optional[str] = "Switch{0}"
|
|
50
50
|
symbol: Optional[str] = "ethernet_switch"
|
|
51
51
|
ports_mapping: Optional[List[EthernetSwitchPort]] = Field(DEFAULT_PORTS, description="Ports")
|
|
52
|
-
console_type: Optional[ConsoleType] = Field(
|
|
52
|
+
console_type: Optional[ConsoleType] = Field(ConsoleType.none, description="Console type")
|
|
53
53
|
|
|
54
54
|
|
|
55
55
|
class EthernetSwitchTemplateUpdate(EthernetSwitchTemplate):
|
|
@@ -24,7 +24,7 @@ from typing import Optional
|
|
|
24
24
|
|
|
25
25
|
class IOUTemplate(TemplateBase):
|
|
26
26
|
|
|
27
|
-
category: Optional[Category] =
|
|
27
|
+
category: Optional[Category] = Category.router
|
|
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")
|
|
@@ -36,7 +36,7 @@ class IOUTemplate(TemplateBase):
|
|
|
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")
|
|
38
38
|
l1_keepalives: Optional[bool] = Field(False, description="Always keep up Ethernet interface (does not always work)")
|
|
39
|
-
console_type: Optional[ConsoleType] = Field(
|
|
39
|
+
console_type: Optional[ConsoleType] = Field(ConsoleType.telnet, description="Console type")
|
|
40
40
|
console_auto_start: Optional[bool] = Field(
|
|
41
41
|
False, description="Automatically start the console when the node has started"
|
|
42
42
|
)
|
|
@@ -33,17 +33,17 @@ from typing import Optional, List
|
|
|
33
33
|
|
|
34
34
|
class QemuTemplate(TemplateBase):
|
|
35
35
|
|
|
36
|
-
category: Optional[Category] =
|
|
36
|
+
category: Optional[Category] = Category.guest
|
|
37
37
|
default_name_format: Optional[str] = "{name}-{0}"
|
|
38
38
|
symbol: Optional[str] = "qemu_guest"
|
|
39
39
|
qemu_path: Optional[str] = Field("", description="Qemu executable path")
|
|
40
|
-
platform: Optional[QemuPlatform] = Field(
|
|
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
42
|
ram: Optional[int] = Field(256, 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")
|
|
46
|
-
adapter_type: Optional[QemuAdapterType] = Field(
|
|
46
|
+
adapter_type: Optional[QemuAdapterType] = Field(QemuAdapterType.e1000, description="QEMU adapter type")
|
|
47
47
|
mac_address: Optional[str] = Field(
|
|
48
48
|
"", description="QEMU MAC address", pattern="^([0-9a-fA-F]{2}[:]){5}([0-9a-fA-F]{2})$|^$"
|
|
49
49
|
)
|
|
@@ -55,20 +55,20 @@ class QemuTemplate(TemplateBase):
|
|
|
55
55
|
0,
|
|
56
56
|
description="Optional port segment size. A port segment is a block of port. For example Ethernet0/0 Ethernet0/1 is the module 0 with a port segment size of 2",
|
|
57
57
|
)
|
|
58
|
-
console_type: Optional[QemuConsoleType] = Field(
|
|
58
|
+
console_type: Optional[QemuConsoleType] = Field(QemuConsoleType.telnet, description="Console type")
|
|
59
59
|
console_auto_start: Optional[bool] = Field(
|
|
60
60
|
False, description="Automatically start the console when the node has started"
|
|
61
61
|
)
|
|
62
|
-
aux_type: Optional[QemuConsoleType] = Field(
|
|
63
|
-
boot_priority: Optional[QemuBootPriority] = Field(
|
|
62
|
+
aux_type: Optional[QemuConsoleType] = Field(QemuConsoleType.none, description="Auxiliary console type")
|
|
63
|
+
boot_priority: Optional[QemuBootPriority] = Field(QemuBootPriority.c, description="QEMU boot priority")
|
|
64
64
|
hda_disk_image: Optional[str] = Field("", description="QEMU hda disk image path")
|
|
65
|
-
hda_disk_interface: Optional[QemuDiskInterfaceType] = Field(
|
|
65
|
+
hda_disk_interface: Optional[QemuDiskInterfaceType] = Field(QemuDiskInterfaceType.none, description="QEMU hda interface")
|
|
66
66
|
hdb_disk_image: Optional[str] = Field("", description="QEMU hdb disk image path")
|
|
67
|
-
hdb_disk_interface: Optional[QemuDiskInterfaceType] = Field(
|
|
67
|
+
hdb_disk_interface: Optional[QemuDiskInterfaceType] = Field(QemuDiskInterfaceType.none, description="QEMU hdb interface")
|
|
68
68
|
hdc_disk_image: Optional[str] = Field("", description="QEMU hdc disk image path")
|
|
69
|
-
hdc_disk_interface: Optional[QemuDiskInterfaceType] = Field(
|
|
69
|
+
hdc_disk_interface: Optional[QemuDiskInterfaceType] = Field(QemuDiskInterfaceType.none, description="QEMU hdc interface")
|
|
70
70
|
hdd_disk_image: Optional[str] = Field("", description="QEMU hdd disk image path")
|
|
71
|
-
hdd_disk_interface: Optional[QemuDiskInterfaceType] = Field(
|
|
71
|
+
hdd_disk_interface: Optional[QemuDiskInterfaceType] = Field(QemuDiskInterfaceType.none, description="QEMU hdd interface")
|
|
72
72
|
cdrom_image: Optional[str] = Field("", description="QEMU cdrom image path")
|
|
73
73
|
initrd: Optional[str] = Field("", description="QEMU initrd path")
|
|
74
74
|
kernel_image: Optional[str] = Field("", description="QEMU kernel image path")
|
|
@@ -82,9 +82,9 @@ class QemuTemplate(TemplateBase):
|
|
|
82
82
|
)
|
|
83
83
|
tpm: Optional[bool] = Field(False, description="Enable Trusted Platform Module (TPM)")
|
|
84
84
|
uefi: Optional[bool] = Field(False, description="Enable UEFI boot mode")
|
|
85
|
-
on_close: Optional[QemuOnCloseAction] = Field(
|
|
85
|
+
on_close: Optional[QemuOnCloseAction] = Field(QemuOnCloseAction.power_off, description="Action to execute on the VM is closed")
|
|
86
86
|
cpu_throttling: Optional[int] = Field(0, ge=0, le=800, description="Percentage of CPU allowed for QEMU")
|
|
87
|
-
process_priority: Optional[QemuProcessPriority] = Field(
|
|
87
|
+
process_priority: Optional[QemuProcessPriority] = Field(QemuProcessPriority.normal, description="Process priority for QEMU")
|
|
88
88
|
options: Optional[str] = Field("", description="Additional QEMU options")
|
|
89
89
|
custom_adapters: Optional[List[CustomAdapter]] = Field(default_factory=list, description="Custom adapters")
|
|
90
90
|
|
|
@@ -28,7 +28,7 @@ from typing import Optional, List
|
|
|
28
28
|
|
|
29
29
|
class VirtualBoxTemplate(TemplateBase):
|
|
30
30
|
|
|
31
|
-
category: Optional[Category] =
|
|
31
|
+
category: Optional[Category] = Category.guest
|
|
32
32
|
default_name_format: Optional[str] = "{name}-{0}"
|
|
33
33
|
symbol: Optional[str] = "vbox_guest"
|
|
34
34
|
vmname: str = Field(..., description="VirtualBox VM name (in VirtualBox itself)")
|
|
@@ -38,8 +38,7 @@ class VirtualBoxTemplate(TemplateBase):
|
|
|
38
38
|
1, ge=0, le=36, description="Number of adapters"
|
|
39
39
|
) # 36 is the maximum given by the ICH9 chipset in VirtualBox
|
|
40
40
|
use_any_adapter: Optional[bool] = Field(False, description="Allow GNS3 to use any VirtualBox adapter")
|
|
41
|
-
adapter_type: Optional[VirtualBoxAdapterType] = Field(
|
|
42
|
-
"Intel PRO/1000 MT Desktop (82540EM)", description="VirtualBox adapter type"
|
|
41
|
+
adapter_type: Optional[VirtualBoxAdapterType] = Field(VirtualBoxAdapterType.intel_pro_1000_mt_desktop, description="VirtualBox adapter type"
|
|
43
42
|
)
|
|
44
43
|
first_port_name: Optional[str] = Field("", description="Optional name of the first networking port example: eth0")
|
|
45
44
|
port_name_format: Optional[str] = Field(
|
|
@@ -51,9 +50,9 @@ class VirtualBoxTemplate(TemplateBase):
|
|
|
51
50
|
)
|
|
52
51
|
headless: Optional[bool] = Field(False, description="Headless mode")
|
|
53
52
|
on_close: Optional[VirtualBoxOnCloseAction] = Field(
|
|
54
|
-
|
|
53
|
+
VirtualBoxOnCloseAction.power_off, description="Action to execute on the VM is closed"
|
|
55
54
|
)
|
|
56
|
-
console_type: Optional[VirtualBoxConsoleType] = Field(
|
|
55
|
+
console_type: Optional[VirtualBoxConsoleType] = Field(VirtualBoxConsoleType.none, description="Console type")
|
|
57
56
|
console_auto_start: Optional[bool] = Field(
|
|
58
57
|
False, description="Automatically start the console when the node has started"
|
|
59
58
|
)
|
|
@@ -29,7 +29,7 @@ from typing import Optional, List
|
|
|
29
29
|
|
|
30
30
|
class VMwareTemplate(TemplateBase):
|
|
31
31
|
|
|
32
|
-
category: Optional[Category] =
|
|
32
|
+
category: Optional[Category] = Category.guest
|
|
33
33
|
default_name_format: Optional[str] = "{name}-{0}"
|
|
34
34
|
symbol: Optional[str] = "vmware_guest"
|
|
35
35
|
vmx_path: str = Field(..., description="Path to the vmx file")
|
|
@@ -45,11 +45,11 @@ class VMwareTemplate(TemplateBase):
|
|
|
45
45
|
adapters: Optional[int] = Field(
|
|
46
46
|
1, ge=0, le=10, description="Number of adapters"
|
|
47
47
|
) # 10 is the maximum adapters support by VMware VMs
|
|
48
|
-
adapter_type: Optional[VMwareAdapterType] = Field(
|
|
48
|
+
adapter_type: Optional[VMwareAdapterType] = Field(VMwareAdapterType.e1000, description="VMware adapter type")
|
|
49
49
|
use_any_adapter: Optional[bool] = Field(False, description="Allow GNS3 to use any VMware adapter")
|
|
50
50
|
headless: Optional[bool] = Field(False, description="Headless mode")
|
|
51
|
-
on_close: Optional[VMwareOnCloseAction] = Field(
|
|
52
|
-
console_type: Optional[VMwareConsoleType] = Field(
|
|
51
|
+
on_close: Optional[VMwareOnCloseAction] = Field(VMwareOnCloseAction.power_off, description="Action to execute on the VM is closed")
|
|
52
|
+
console_type: Optional[VMwareConsoleType] = Field(VMwareConsoleType.none, description="Console type")
|
|
53
53
|
console_auto_start: Optional[bool] = Field(
|
|
54
54
|
False, description="Automatically start the console when the node has started"
|
|
55
55
|
)
|
|
@@ -24,11 +24,11 @@ from typing import Optional
|
|
|
24
24
|
|
|
25
25
|
class VPCSTemplate(TemplateBase):
|
|
26
26
|
|
|
27
|
-
category: Optional[Category] =
|
|
27
|
+
category: Optional[Category] = Category.guest
|
|
28
28
|
default_name_format: Optional[str] = "PC{0}"
|
|
29
29
|
symbol: Optional[str] = "vpcs_guest"
|
|
30
30
|
base_script_file: Optional[str] = Field("vpcs_base_config.txt", description="Script file")
|
|
31
|
-
console_type: Optional[ConsoleType] = Field(
|
|
31
|
+
console_type: Optional[ConsoleType] = Field(ConsoleType.telnet, description="Console type")
|
|
32
32
|
console_auto_start: Optional[bool] = Field(
|
|
33
33
|
False, description="Automatically start the console when the node has started"
|
|
34
34
|
)
|
|
Binary file
|