mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-10-01 00:02:34 +03:00
fix(typing): resolve mypy errors in api.routes.compute.docker_nodes
This commit is contained in:
parent
10edb109df
commit
bb0f29b8e6
@ -24,14 +24,16 @@ from fastapi import APIRouter, WebSocket, Depends, Body, status, HTTPException
|
|||||||
from fastapi.encoders import jsonable_encoder
|
from fastapi.encoders import jsonable_encoder
|
||||||
from fastapi.responses import StreamingResponse
|
from fastapi.responses import StreamingResponse
|
||||||
from uuid import UUID
|
from uuid import UUID
|
||||||
from typing import Union
|
from typing import Any, Union
|
||||||
|
|
||||||
from gns3server import schemas
|
from gns3server import schemas
|
||||||
from gns3server.compute.docker import Docker
|
from gns3server.compute.docker import Docker
|
||||||
from gns3server.compute.docker.docker_vm import DockerVM
|
from gns3server.compute.docker.docker_vm import DockerVM
|
||||||
from .dependencies.authentication import compute_authentication, ws_compute_authentication
|
from .dependencies.authentication import compute_authentication, ws_compute_authentication
|
||||||
|
|
||||||
responses = {404: {"model": schemas.ErrorMessage, "description": "Could not find project or Docker node"}}
|
responses: dict[int | str, dict[str, Any]] = {
|
||||||
|
404: {"model": schemas.ErrorMessage, "description": "Could not find project or Docker node"}
|
||||||
|
}
|
||||||
|
|
||||||
router = APIRouter(responses=responses)
|
router = APIRouter(responses=responses)
|
||||||
|
|
||||||
@ -53,13 +55,13 @@ def dep_node(project_id: UUID, node_id: UUID) -> DockerVM:
|
|||||||
responses={409: {"model": schemas.ErrorMessage, "description": "Could not create Docker node"}},
|
responses={409: {"model": schemas.ErrorMessage, "description": "Could not create Docker node"}},
|
||||||
dependencies=[Depends(compute_authentication)],
|
dependencies=[Depends(compute_authentication)],
|
||||||
)
|
)
|
||||||
async def create_docker_node(project_id: UUID, node_data: schemas.DockerCreate) -> schemas.Docker:
|
async def create_docker_node(project_id: UUID, node_create: schemas.DockerCreate) -> schemas.Docker:
|
||||||
"""
|
"""
|
||||||
Create a new Docker node.
|
Create a new Docker node.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
docker_manager = Docker.instance()
|
docker_manager = Docker.instance()
|
||||||
node_data = jsonable_encoder(node_data, exclude_unset=True)
|
node_data = jsonable_encoder(node_create, exclude_unset=True)
|
||||||
container = await docker_manager.create_node(
|
container = await docker_manager.create_node(
|
||||||
node_data.pop("name"),
|
node_data.pop("name"),
|
||||||
str(project_id),
|
str(project_id),
|
||||||
@ -124,7 +126,7 @@ def get_docker_node(node: DockerVM = Depends(dep_node)) -> schemas.Docker:
|
|||||||
|
|
||||||
|
|
||||||
@router.put("/{node_id}", response_model=schemas.Docker, dependencies=[Depends(compute_authentication)])
|
@router.put("/{node_id}", response_model=schemas.Docker, dependencies=[Depends(compute_authentication)])
|
||||||
async def update_docker_node(node_data: schemas.DockerUpdate, node: DockerVM = Depends(dep_node)) -> schemas.Docker:
|
async def update_docker_node(node_update: schemas.DockerUpdate, node: DockerVM = Depends(dep_node)) -> schemas.Docker:
|
||||||
"""
|
"""
|
||||||
Update a Docker node.
|
Update a Docker node.
|
||||||
"""
|
"""
|
||||||
@ -152,7 +154,7 @@ async def update_docker_node(node_data: schemas.DockerUpdate, node: DockerVM = D
|
|||||||
]
|
]
|
||||||
|
|
||||||
changed = False
|
changed = False
|
||||||
node_data = jsonable_encoder(node_data, exclude_unset=True)
|
node_data = jsonable_encoder(node_update, exclude_unset=True)
|
||||||
for prop in props:
|
for prop in props:
|
||||||
# hasattr: startup_config_content only exists on IOLDockerVM
|
# hasattr: startup_config_content only exists on IOLDockerVM
|
||||||
if prop in node_data and hasattr(node, prop) and node_data[prop] != getattr(node, prop):
|
if prop in node_data and hasattr(node, prop) and node_data[prop] != getattr(node, prop):
|
||||||
|
|||||||
@ -323,7 +323,6 @@ module = [
|
|||||||
"gns3server.api.routes.compute.capabilities", # 1
|
"gns3server.api.routes.compute.capabilities", # 1
|
||||||
"gns3server.api.routes.compute.cloud_nodes", # 14
|
"gns3server.api.routes.compute.cloud_nodes", # 14
|
||||||
"gns3server.api.routes.compute.compute", # 1
|
"gns3server.api.routes.compute.compute", # 1
|
||||||
"gns3server.api.routes.compute.docker_nodes", # 26
|
|
||||||
"gns3server.api.routes.compute.dynamips_nodes", # 9
|
"gns3server.api.routes.compute.dynamips_nodes", # 9
|
||||||
"gns3server.api.routes.compute.ethernet_hub_nodes", # 9
|
"gns3server.api.routes.compute.ethernet_hub_nodes", # 9
|
||||||
"gns3server.api.routes.compute.ethernet_switch_nodes", # 16
|
"gns3server.api.routes.compute.ethernet_switch_nodes", # 16
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user