mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-11-03 05:51:15 +02:00
1 parent
4f1b738ef5
commit
9dc6f0f486
11 files changed
+432
-27
No files matched your search
@@ -17,6 +17,9 @@
|
||||
|
||||
from gns3server.web.route import Route
|
||||
from gns3server.controller import Controller
|
||||
from gns3server.schemas.node import NODE_OBJECT_SCHEMA
|
||||
from gns3server.schemas.appliance import APPLIANCE_USAGE_SCHEMA
|
||||
|
||||
|
||||
import logging
|
||||
log = logging.getLogger(__name__)
|
||||
@@ -27,6 +30,17 @@ class ApplianceHandler:
|
||||
|
||||
@Route.get(
|
||||
r"/appliances/templates",
|
||||
description="List of appliance templates",
|
||||
status_codes={
|
||||
200: "Appliance template list returned"
|
||||
})
|
||||
def list_templates(request, response):
|
||||
|
||||
controller = Controller.instance()
|
||||
response.json([c for c in controller.appliance_templates.values()])
|
||||
|
||||
@Route.get(
|
||||
r"/appliances",
|
||||
description="List of appliance",
|
||||
status_codes={
|
||||
200: "Appliance list returned"
|
||||
@@ -34,4 +48,27 @@ class ApplianceHandler:
|
||||
def list(request, response):
|
||||
|
||||
controller = Controller.instance()
|
||||
response.json([c for c in controller.appliance_templates.values()])
|
||||
response.json([c for c in controller.appliances.values()])
|
||||
|
||||
@Route.post(
|
||||
r"/projects/{project_id}/appliances/{appliance_id}",
|
||||
description="Create a node from an appliance",
|
||||
parameters={
|
||||
"project_id": "Project UUID",
|
||||
"appliance_id": "Appliance template UUID"
|
||||
},
|
||||
status_codes={
|
||||
201: "Node created",
|
||||
404: "The project or template doesn't exist"
|
||||
},
|
||||
input=APPLIANCE_USAGE_SCHEMA,
|
||||
output=NODE_OBJECT_SCHEMA)
|
||||
def create_node_from_appliance(request, response):
|
||||
|
||||
controller = Controller.instance()
|
||||
project = controller.get_project(request.match_info["project_id"])
|
||||
yield from project.add_node_from_appliance(request.match_info["appliance_id"],
|
||||
x=request.json["x"],
|
||||
y=request.json["y"],
|
||||
compute_id=request.json.get("compute_id"))
|
||||
response.set_status(201)
|
||||
Reference in new issue
Block a user