mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-11-04 06:21:15 +02:00
Merge branch '3.1' into mypy-schemas
This commit is contained in:
77 files changed
+460
-470
No files matched your search
@@ -26,8 +26,8 @@ class ATMSwitchBase(BaseModel):
|
||||
Common ATM switch properties.
|
||||
"""
|
||||
|
||||
name: str = None
|
||||
node_id: UUID = None
|
||||
name: Optional[str] = None
|
||||
node_id: Optional[UUID] = None
|
||||
usage: Optional[str] = None
|
||||
mappings: Optional[dict] = None
|
||||
|
||||
|
||||
@@ -126,7 +126,7 @@ class CloudBase(BaseModel):
|
||||
Common cloud node properties.
|
||||
"""
|
||||
|
||||
name: str
|
||||
name: Optional[str] = None
|
||||
node_id: Optional[UUID] = None
|
||||
usage: Optional[str] = None
|
||||
remote_console_host: Optional[str] = Field(None, description="Remote console host or IP")
|
||||
@@ -144,7 +144,7 @@ class CloudCreate(CloudBase):
|
||||
Properties to create a cloud node.
|
||||
"""
|
||||
|
||||
pass
|
||||
name: str
|
||||
|
||||
|
||||
class CloudUpdate(CloudBase):
|
||||
@@ -152,10 +152,11 @@ class CloudUpdate(CloudBase):
|
||||
Properties to update a cloud node.
|
||||
"""
|
||||
|
||||
name: Optional[str] = None
|
||||
pass
|
||||
|
||||
|
||||
class Cloud(CloudBase):
|
||||
name: str
|
||||
project_id: UUID
|
||||
node_id: UUID
|
||||
ports_mapping: List[Union[EthernetPort, TAPPort, UDPPort]]
|
||||
|
||||
@@ -41,8 +41,8 @@ class DockerBase(BaseModel):
|
||||
# the canonical "no path" value is "/" (the creation default)
|
||||
return value or "/"
|
||||
|
||||
name: str
|
||||
image: str = Field(..., description="Docker image name")
|
||||
name: Optional[str] = None
|
||||
image: Optional[str] = Field(None, description="Docker image name")
|
||||
node_id: Optional[UUID] = None
|
||||
console: Optional[int] = Field(None, gt=0, le=65535, description="Console TCP port")
|
||||
console_type: Optional[ConsoleType] = Field(None, description="Console type")
|
||||
@@ -76,6 +76,8 @@ class DockerCreate(DockerBase):
|
||||
Properties to create a Docker node.
|
||||
"""
|
||||
|
||||
name: str
|
||||
image: str = Field(..., description="Docker image name")
|
||||
application_id: Optional[int] = Field(
|
||||
None, ge=1, le=1022, description="IOL application ID for iol-runner images (allocated by the controller)"
|
||||
)
|
||||
@@ -93,11 +95,12 @@ class DockerUpdate(DockerBase):
|
||||
Properties to update a Docker node.
|
||||
"""
|
||||
|
||||
name: Optional[str] = None
|
||||
image: Optional[str] = Field(None, description="Docker image name")
|
||||
pass
|
||||
|
||||
|
||||
class Docker(DockerBase):
|
||||
name: str
|
||||
image: str = Field(..., description="Docker image name")
|
||||
container_id: str = Field(
|
||||
..., min_length=12, max_length=64, pattern="^[a-f0-9]+$", description="Docker container ID (read only)"
|
||||
)
|
||||
|
||||
@@ -124,7 +124,6 @@ class DynamipsBase(BaseModel):
|
||||
node_id: Optional[UUID] = None
|
||||
name: Optional[str] = None
|
||||
dynamips_id: Optional[int] = Field(None, description="Dynamips internal ID")
|
||||
platform: Optional[DynamipsPlatform] = Field(None, description="Cisco router platform")
|
||||
ram: Optional[int] = Field(None, gt=0, description="Amount of RAM in MB")
|
||||
nvram: Optional[int] = Field(None, gt=0, description="Amount of NVRAM in KB")
|
||||
image: Optional[str] = Field(None, description="Path to the IOS image")
|
||||
@@ -185,11 +184,12 @@ class DynamipsUpdate(DynamipsBase):
|
||||
Properties to update a Dynamips node.
|
||||
"""
|
||||
|
||||
pass
|
||||
platform: Optional[DynamipsPlatform] = Field(None, description="Cisco router platform")
|
||||
|
||||
|
||||
class Dynamips(DynamipsBase):
|
||||
name: str
|
||||
platform: Optional[DynamipsPlatform] = Field(None, description="Cisco router platform")
|
||||
node_id: UUID
|
||||
project_id: UUID
|
||||
dynamips_id: int
|
||||
|
||||
@@ -26,8 +26,8 @@ class FrameRelaySwitchBase(BaseModel):
|
||||
Common Frame Relay switch properties.
|
||||
"""
|
||||
|
||||
name: str = None
|
||||
node_id: UUID = None
|
||||
name: Optional[str] = None
|
||||
node_id: Optional[UUID] = None
|
||||
usage: Optional[str] = None
|
||||
mappings: Optional[dict] = None
|
||||
|
||||
|
||||
@@ -26,9 +26,9 @@ class IOUBase(BaseModel):
|
||||
Common IOU node properties.
|
||||
"""
|
||||
|
||||
name: str
|
||||
path: str = Field(..., description="IOU executable path")
|
||||
application_id: int = Field(..., description="Application ID for running IOU executable")
|
||||
name: Optional[str] = None
|
||||
path: Optional[str] = Field(None, description="IOU executable path")
|
||||
application_id: Optional[int] = Field(None, description="Application ID for running IOU executable")
|
||||
node_id: Optional[UUID] = None
|
||||
usage: Optional[str] = Field(None, description="How to use the node")
|
||||
console: Optional[int] = Field(None, gt=0, le=65535, description="Console TCP port")
|
||||
@@ -52,7 +52,9 @@ class IOUCreate(IOUBase):
|
||||
Properties to create an IOU node.
|
||||
"""
|
||||
|
||||
pass
|
||||
name: str
|
||||
path: str = Field(..., description="IOU executable path")
|
||||
application_id: int = Field(..., description="Application ID for running IOU executable")
|
||||
|
||||
|
||||
class IOUUpdate(IOUBase):
|
||||
@@ -60,12 +62,13 @@ class IOUUpdate(IOUBase):
|
||||
Properties to update an IOU node.
|
||||
"""
|
||||
|
||||
name: Optional[str] = None
|
||||
path: Optional[str] = Field(None, description="IOU executable path")
|
||||
application_id: Optional[int] = Field(None, description="Application ID for running IOU executable")
|
||||
pass
|
||||
|
||||
|
||||
class IOU(IOUBase):
|
||||
name: str
|
||||
path: str = Field(..., description="IOU executable path")
|
||||
application_id: int = Field(..., description="Application ID for running IOU executable")
|
||||
project_id: UUID = Field(..., description="Project ID")
|
||||
node_directory: str = Field(..., description="Path to the node working directory (read only)")
|
||||
command_line: str = Field(..., description="Last command line used to start IOU (read only)")
|
||||
|
||||
@@ -89,7 +89,7 @@ class NATBase(BaseModel):
|
||||
Common NAT node properties.
|
||||
"""
|
||||
|
||||
name: str
|
||||
name: Optional[str] = None
|
||||
node_id: Optional[UUID] = None
|
||||
usage: Optional[str] = None
|
||||
ports_mapping: Optional[List[Union[EthernetPort, TAPPort, UDPPort]]] = Field(
|
||||
@@ -102,7 +102,7 @@ class NATCreate(NATBase):
|
||||
Properties to create a NAT node.
|
||||
"""
|
||||
|
||||
pass
|
||||
name: str
|
||||
|
||||
|
||||
class NATUpdate(NATBase):
|
||||
@@ -110,10 +110,11 @@ class NATUpdate(NATBase):
|
||||
Properties to update a NAT node.
|
||||
"""
|
||||
|
||||
name: Optional[str] = None
|
||||
pass
|
||||
|
||||
|
||||
class NAT(NATBase):
|
||||
name: str
|
||||
project_id: UUID
|
||||
node_id: UUID
|
||||
ports_mapping: List[Union[EthernetPort, TAPPort, UDPPort]]
|
||||
|
||||
@@ -155,7 +155,7 @@ class QemuBase(BaseModel):
|
||||
Common Qemu node properties.
|
||||
"""
|
||||
|
||||
name: str
|
||||
name: Optional[str] = None
|
||||
node_id: Optional[UUID] = None
|
||||
usage: Optional[str] = Field(None, description="How to use the node")
|
||||
linked_clone: Optional[bool] = Field(None, description="Whether the VM is a linked clone or not")
|
||||
@@ -219,6 +219,7 @@ class QemuCreate(QemuBase):
|
||||
Properties to create a Qemu node.
|
||||
"""
|
||||
|
||||
name: str
|
||||
disk_images_to_reset: Optional[List[str]] = Field(
|
||||
None,
|
||||
description="Disk image properties whose stale linked-clone overlays must be recreated",
|
||||
@@ -230,10 +231,11 @@ class QemuUpdate(QemuBase):
|
||||
Properties to update a Qemu node.
|
||||
"""
|
||||
|
||||
name: Optional[str] = None
|
||||
pass
|
||||
|
||||
|
||||
class Qemu(QemuBase):
|
||||
name: str
|
||||
project_id: UUID = Field(..., description="Project ID")
|
||||
node_directory: str = Field(..., description="Path to the node working directory (read only)")
|
||||
command_line: str = Field(..., description="Last command line used to start IOU (read only)")
|
||||
|
||||
@@ -56,8 +56,8 @@ class VirtualBoxBase(BaseModel):
|
||||
Common VirtualBox node properties.
|
||||
"""
|
||||
|
||||
name: str
|
||||
vmname: str = Field(..., description="VirtualBox VM name (in VirtualBox itself)")
|
||||
name: Optional[str] = None
|
||||
vmname: Optional[str] = None
|
||||
node_id: Optional[UUID] = None
|
||||
linked_clone: Optional[bool] = Field(None, description="Whether the VM is a linked clone or not")
|
||||
usage: Optional[str] = Field(None, description="How to use the node")
|
||||
@@ -78,7 +78,8 @@ class VirtualBoxCreate(VirtualBoxBase):
|
||||
Properties to create a VirtualBox node.
|
||||
"""
|
||||
|
||||
pass
|
||||
name: str
|
||||
vmname: str = Field(..., description="VirtualBox VM name (in VirtualBox itself)")
|
||||
|
||||
|
||||
class VirtualBoxUpdate(VirtualBoxBase):
|
||||
@@ -86,11 +87,12 @@ class VirtualBoxUpdate(VirtualBoxBase):
|
||||
Properties to update a VirtualBox node.
|
||||
"""
|
||||
|
||||
name: Optional[str] = None
|
||||
vmname: Optional[str] = None
|
||||
pass
|
||||
|
||||
|
||||
class VirtualBox(VirtualBoxBase):
|
||||
name: str
|
||||
vmname: str = Field(..., description="VirtualBox VM name (in VirtualBox itself)")
|
||||
project_id: UUID = Field(..., description="Project ID")
|
||||
node_directory: Optional[str] = Field(None, description="Path to the node working directory (read only)")
|
||||
status: NodeStatus = Field(..., description="Container status (read only)")
|
||||
@@ -80,7 +80,7 @@ class UserGroupCreate(UserGroupBase):
|
||||
Properties to create a user group.
|
||||
"""
|
||||
|
||||
name: Optional[str] = Field(..., min_length=3, pattern="[a-zA-Z0-9_-]+$")
|
||||
name: str = Field(..., min_length=3, pattern="[a-zA-Z0-9_-]+$")
|
||||
|
||||
|
||||
class UserGroupUpdate(UserGroupBase):
|
||||
|
||||
Reference in new issue
Block a user