diff --git a/docs/openapi.json b/docs/openapi.json index 9d79b251..dcdb0541 100644 --- a/docs/openapi.json +++ b/docs/openapi.json @@ -1 +1 @@ -{"openapi": "3.1.0", "info": {"title": "GNS3 controller API", "description": "This page describes the public controller API for GNS3", "version": "v3"}, "paths": {"/": {"get": {"tags": ["Index"], "summary": "Root", "operationId": "root__get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}}}}, "/debug": {"get": {"tags": ["Index"], "summary": "Debug", "operationId": "debug_debug_get", "responses": {"200": {"description": "Successful Response", "content": {"text/html": {"schema": {"type": "string"}}}}}, "deprecated": true}}, "/static/web-ui/{file_path}": {"get": {"tags": ["Index"], "summary": "Web Ui", "description": "Web user interface", "operationId": "web_ui_static_web_ui__file_path__get", "parameters": [{"name": "file_path", "in": "path", "required": true, "schema": {"type": "string", "title": "File Path"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/version": {"get": {"tags": ["Controller"], "summary": "Get Version", "description": "Return the server version number.", "operationId": "get_version_v3_version_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Version"}}}}}}, "post": {"tags": ["Controller"], "summary": "Check Version", "description": "Check if version is the same as the server.", "operationId": "check_version_v3_version_post", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/Version"}}}, "required": true}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Version"}}}}, "409": {"description": "Invalid version", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/reload": {"post": {"tags": ["Controller"], "summary": "Reload", "description": "Reload the controller", "operationId": "reload_v3_reload_post", "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/shutdown": {"post": {"tags": ["Controller"], "summary": "Shutdown", "description": "Shutdown the server", "operationId": "shutdown_v3_shutdown_post", "responses": {"204": {"description": "Successful Response"}, "403": {"description": "Server shutdown not allowed", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/iou_license": {"get": {"tags": ["Controller"], "summary": "Get Iou License", "description": "Return the IOU license settings", "operationId": "get_iou_license_v3_iou_license_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IOULicense"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}, "put": {"tags": ["Controller"], "summary": "Update Iou License", "description": "Update the IOU license settings.", "operationId": "update_iou_license_v3_iou_license_put", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/IOULicense"}}}, "required": true}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IOULicense"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/statistics": {"get": {"tags": ["Controller"], "summary": "Statistics", "description": "Return server statistics.", "operationId": "statistics_v3_statistics_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"type": "object"}, "type": "array", "title": "Response Statistics V3 Statistics Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/notifications": {"get": {"tags": ["Controller"], "summary": "Controller Http Notifications", "description": "Receive controller notifications about the controller from HTTP stream.", "operationId": "controller_http_notifications_v3_notifications_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/access/users/login": {"post": {"tags": ["Users"], "summary": "Login", "description": "Default user login method using forms (x-www-form-urlencoded).\nExample: curl http://host:port/v3/users/login -H \"Content-Type: application/x-www-form-urlencoded\" -d \"username=admin&password=admin\"", "operationId": "login_v3_access_users_login_post", "requestBody": {"content": {"application/x-www-form-urlencoded": {"schema": {"$ref": "#/components/schemas/Body_login_v3_access_users_login_post"}}}, "required": true}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Token"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/access/users/authenticate": {"post": {"tags": ["Users"], "summary": "Authenticate", "description": "Alternative authentication method using json.\nExample: curl http://host:port/v3/users/authenticate -d '{\"username\": \"admin\", \"password\": \"admin\"}' -H \"Content-Type: application/json\"", "operationId": "authenticate_v3_access_users_authenticate_post", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/Credentials"}}}, "required": true}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Token"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/access/users/me": {"get": {"tags": ["Users"], "summary": "Get Logged In User", "description": "Get the current active user.", "operationId": "get_logged_in_user_v3_access_users_me_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/User"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}, "put": {"tags": ["Users"], "summary": "Update Logged In User", "description": "Update the current active user.", "operationId": "update_logged_in_user_v3_access_users_me_put", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/LoggedInUserUpdate"}}}, "required": true}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/User"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/access/users": {"get": {"tags": ["Users"], "summary": "Get Users", "description": "Get all users.\n\nRequired privilege: User.Audit", "operationId": "get_users_v3_access_users_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/User"}, "type": "array", "title": "Response Get Users V3 Access Users Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}, "post": {"tags": ["Users"], "summary": "Create User", "description": "Create a new user.\n\nRequired privilege: User.Allocate", "operationId": "create_user_v3_access_users_post", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserCreate"}}}, "required": true}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/User"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/access/users/{user_id}": {"get": {"tags": ["Users"], "summary": "Get User", "description": "Get a user.\n\nRequired privilege: User.Audit", "operationId": "get_user_v3_access_users__user_id__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "user_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "User Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/User"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"tags": ["Users"], "summary": "Update User", "description": "Update a user.\n\nRequired privilege: User.Modify", "operationId": "update_user_v3_access_users__user_id__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "user_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "User Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserUpdate"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/User"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["Users"], "summary": "Delete User", "description": "Delete a user.\n\nRequired privilege: User.Allocate", "operationId": "delete_user_v3_access_users__user_id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "user_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "User Id"}}], "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/access/users/{user_id}/groups": {"get": {"tags": ["Users"], "summary": "Get User Memberships", "description": "Get user memberships.\n\nRequired privilege: Group.Audit", "operationId": "get_user_memberships_v3_access_users__user_id__groups_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "user_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "User Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/UserGroup"}, "title": "Response Get User Memberships V3 Access Users User Id Groups Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/access/groups": {"get": {"tags": ["Users groups"], "summary": "Get User Groups", "description": "Get all user groups.\n\nRequired privilege: Group.Audit", "operationId": "get_user_groups_v3_access_groups_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/UserGroup"}, "type": "array", "title": "Response Get User Groups V3 Access Groups Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}, "post": {"tags": ["Users groups"], "summary": "Create User Group", "description": "Create a new user group.\n\nRequired privilege: Group.Allocate", "operationId": "create_user_group_v3_access_groups_post", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserGroupCreate"}}}, "required": true}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserGroup"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/access/groups/{user_group_id}": {"get": {"tags": ["Users groups"], "summary": "Get User Group", "description": "Get a user group.\n\nRequired privilege: Group.Audit", "operationId": "get_user_group_v3_access_groups__user_group_id__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "user_group_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "User Group Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserGroup"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"tags": ["Users groups"], "summary": "Update User Group", "description": "Update a user group.\n\nRequired privilege: Group.Modify", "operationId": "update_user_group_v3_access_groups__user_group_id__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "user_group_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "User Group Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserGroupUpdate"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserGroup"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["Users groups"], "summary": "Delete User Group", "description": "Delete a user group.\n\nRequired privilege: Group.Allocate", "operationId": "delete_user_group_v3_access_groups__user_group_id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "user_group_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "User Group Id"}}], "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/access/groups/{user_group_id}/members": {"get": {"tags": ["Users groups"], "summary": "Get User Group Members", "description": "Get all user group members.\n\nRequired privilege: Group.Audit", "operationId": "get_user_group_members_v3_access_groups__user_group_id__members_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "user_group_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "User Group Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/User"}, "title": "Response Get User Group Members V3 Access Groups User Group Id Members Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/access/groups/{user_group_id}/members/{user_id}": {"put": {"tags": ["Users groups"], "summary": "Add Member To Group", "description": "Add member to a user group.\n\nRequired privilege: Group.Modify", "operationId": "add_member_to_group_v3_access_groups__user_group_id__members__user_id__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "user_group_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "User Group Id"}}, {"name": "user_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "User Id"}}], "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["Users groups"], "summary": "Remove Member From Group", "description": "Remove member from a user group.\n\nRequired privilege: Group.Modify", "operationId": "remove_member_from_group_v3_access_groups__user_group_id__members__user_id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "user_group_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "User Group Id"}}, {"name": "user_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "User Id"}}], "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/access/roles": {"get": {"tags": ["Roles"], "summary": "Get Roles", "description": "Get all roles.\n\nRequired privilege: Role.Audit", "operationId": "get_roles_v3_access_roles_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/Role"}, "type": "array", "title": "Response Get Roles V3 Access Roles Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}, "post": {"tags": ["Roles"], "summary": "Create Role", "description": "Create a new role.\n\nRequired privilege: Role.Allocate", "operationId": "create_role_v3_access_roles_post", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/RoleCreate"}}}, "required": true}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Role"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/access/roles/{role_id}": {"get": {"tags": ["Roles"], "summary": "Get Role", "description": "Get a role.\n\nRequired privilege: Role.Audit", "operationId": "get_role_v3_access_roles__role_id__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "role_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Role Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Role"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"tags": ["Roles"], "summary": "Update Role", "description": "Update a role.\n\nRequired privilege: Role.Modify", "operationId": "update_role_v3_access_roles__role_id__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "role_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Role Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/RoleUpdate"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Role"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["Roles"], "summary": "Delete Role", "description": "Delete a role.\n\nRequired privilege: Role.Allocate", "operationId": "delete_role_v3_access_roles__role_id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "role_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Role Id"}}], "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/access/roles/{role_id}/privileges": {"get": {"tags": ["Roles"], "summary": "Get Role Privileges", "description": "Get all role privileges.\n\nRequired privilege: Role.Audit", "operationId": "get_role_privileges_v3_access_roles__role_id__privileges_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "role_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Role Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/Privilege"}, "title": "Response Get Role Privileges V3 Access Roles Role Id Privileges Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/access/roles/{role_id}/privileges/{privilege_id}": {"put": {"tags": ["Roles"], "summary": "Add Privilege To Role", "description": "Add a privilege to a role.\n\nRequired privilege: Role.Modify", "operationId": "add_privilege_to_role_v3_access_roles__role_id__privileges__privilege_id__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "role_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Role Id"}}, {"name": "privilege_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Privilege Id"}}], "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["Roles"], "summary": "Remove Privilege From Role", "description": "Remove privilege from a role.\n\nRequired privilege: Role.Modify", "operationId": "remove_privilege_from_role_v3_access_roles__role_id__privileges__privilege_id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "role_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Role Id"}}, {"name": "privilege_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Privilege Id"}}], "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/access/privileges": {"get": {"tags": ["Privileges"], "summary": "Get Privileges", "description": "Get all privileges.\n\nRequired privilege: None", "operationId": "get_privileges_v3_access_privileges_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/Privilege"}, "type": "array", "title": "Response Get Privileges V3 Access Privileges Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/access/acl/endpoints": {"get": {"tags": ["ACL"], "summary": "Endpoints", "description": "List all endpoints to be used in ACL entries.", "operationId": "endpoints_v3_access_acl_endpoints_get", "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"type": "object"}, "type": "array", "title": "Response Endpoints V3 Access Acl Endpoints Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/access/acl": {"get": {"tags": ["ACL"], "summary": "Get Aces", "description": "Get all ACL entries.\n\nRequired privilege: ACE.Audit", "operationId": "get_aces_v3_access_acl_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/ACE"}, "type": "array", "title": "Response Get Aces V3 Access Acl Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}, "post": {"tags": ["ACL"], "summary": "Create Ace", "description": "Create a new ACL entry.\n\nRequired privilege: ACE.Allocate", "operationId": "create_ace_v3_access_acl_post", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ACECreate"}}}, "required": true}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ACE"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/access/acl/{ace_id}": {"get": {"tags": ["ACL"], "summary": "Get Ace", "description": "Get an ACL entry.\n\nRequired privilege: ACE.Audit", "operationId": "get_ace_v3_access_acl__ace_id__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "ace_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Ace Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ACE"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"tags": ["ACL"], "summary": "Update Ace", "description": "Update an ACL entry.\n\nRequired privilege: ACE.Modify", "operationId": "update_ace_v3_access_acl__ace_id__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "ace_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Ace Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ACEUpdate"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ACE"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["ACL"], "summary": "Delete Ace", "description": "Delete an ACL entry.\n\nRequired privilege: ACE.Allocate", "operationId": "delete_ace_v3_access_acl__ace_id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "ace_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Ace Id"}}], "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/images/qemu/{image_path}": {"post": {"tags": ["Images"], "summary": "Create Qemu Image", "description": "Create a new blank Qemu image.\n\nRequired privilege: Image.Allocate", "operationId": "create_qemu_image_v3_images_qemu__image_path__post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "image_path", "in": "path", "required": true, "schema": {"type": "string", "title": "Image Path"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/QemuDiskImageCreate"}}}}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Image"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/images": {"get": {"tags": ["Images"], "summary": "Get Images", "description": "Return all images.\n\nRequired privilege: Image.Audit", "operationId": "get_images_v3_images_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "image_type", "in": "query", "required": false, "schema": {"anyOf": [{"$ref": "#/components/schemas/ImageType"}, {"type": "null"}], "title": "Image Type"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/Image"}, "title": "Response Get Images V3 Images Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/images/upload/{image_path}": {"post": {"tags": ["Images"], "summary": "Upload Image", "description": "Upload an image.\n\nExample: curl -X POST http://host:port/v3/images/upload/my_image_name.qcow2 -H 'Authorization: Bearer ' --data-binary @\"/path/to/image.qcow2\"\n\nRequired privilege: Image.Allocate", "operationId": "upload_image_v3_images_upload__image_path__post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "image_path", "in": "path", "required": true, "schema": {"type": "string", "title": "Image Path"}}, {"name": "install_appliances", "in": "query", "required": false, "schema": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": false, "title": "Install Appliances"}}], "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Image"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/images/{image_path}": {"get": {"tags": ["Images"], "summary": "Get Image", "description": "Return an image.\n\nRequired privilege: Image.Audit", "operationId": "get_image_v3_images__image_path__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "image_path", "in": "path", "required": true, "schema": {"type": "string", "title": "Image Path"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Image"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["Images"], "summary": "Delete Image", "description": "Delete an image.\n\nRequired privilege: Image.Allocate", "operationId": "delete_image_v3_images__image_path__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "image_path", "in": "path", "required": true, "schema": {"type": "string", "title": "Image Path"}}], "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/images/prune": {"post": {"tags": ["Images"], "summary": "Prune Images", "description": "Prune images not attached to any template.\n\nRequired privilege: Image.Allocate", "operationId": "prune_images_v3_images_prune_post", "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/templates": {"get": {"tags": ["Templates"], "summary": "Get Templates", "description": "Return all templates.\n\nRequired privilege: Template.Audit", "operationId": "get_templates_v3_templates_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/Template"}, "type": "array", "title": "Response Get Templates V3 Templates Get"}}}}, "404": {"description": "Could not find template", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}, "post": {"tags": ["Templates"], "summary": "Create Template", "description": "Create a new template.\n\nRequired privilege: Template.Allocate", "operationId": "create_template_v3_templates_post", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/TemplateCreate"}}}, "required": true}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Template"}}}}, "404": {"description": "Could not find template", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/templates/{template_id}": {"get": {"tags": ["Templates"], "summary": "Get Template", "description": "Return a template.\n\nRequired privilege: Template.Audit", "operationId": "get_template_v3_templates__template_id__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "template_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Template Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Template"}}}}, "404": {"description": "Could not find template", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"tags": ["Templates"], "summary": "Update Template", "description": "Update a template.\n\nRequired privilege: Template.Modify", "operationId": "update_template_v3_templates__template_id__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "template_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Template Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TemplateUpdate"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Template"}}}}, "404": {"description": "Could not find template", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["Templates"], "summary": "Delete Template", "description": "Delete a template.\n\nRequired privilege: Template.Allocate", "operationId": "delete_template_v3_templates__template_id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "template_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Template Id"}}, {"name": "prune_images", "in": "query", "required": false, "schema": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": false, "title": "Prune Images"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find template", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/templates/{template_id}/duplicate": {"post": {"tags": ["Templates"], "summary": "Duplicate Template", "description": "Duplicate a template.\n\nRequired privilege: Template.Allocate", "operationId": "duplicate_template_v3_templates__template_id__duplicate_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "template_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Template Id"}}], "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Template"}}}}, "404": {"description": "Could not find template", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects": {"get": {"tags": ["Projects"], "summary": "Get Projects", "description": "Return all projects.\n\nRequired privilege: Project.Audit", "operationId": "get_projects_v3_projects_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/Project"}, "type": "array", "title": "Response Get Projects V3 Projects Get"}}}}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}, "post": {"tags": ["Projects"], "summary": "Create Project", "description": "Create a new project.\n\nRequired privilege: Project.Allocate", "operationId": "create_project_v3_projects_post", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectCreate"}}}, "required": true}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Project"}}}}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "409": {"description": "Could not create project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/projects/{project_id}": {"get": {"tags": ["Projects"], "summary": "Get Project", "description": "Return a project.\n\nRequired privilege: Project.Audit", "operationId": "get_project_v3_projects__project_id__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Project"}}}}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"tags": ["Projects"], "summary": "Update Project", "description": "Update a project.\n\nRequired privilege: Project.Modify", "operationId": "update_project_v3_projects__project_id__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectUpdate"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Project"}}}}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["Projects"], "summary": "Delete Project", "description": "Delete a project.\n\nRequired privilege: Project.Allocate", "operationId": "delete_project_v3_projects__project_id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/stats": {"get": {"tags": ["Projects"], "summary": "Get Project Stats", "description": "Return a project statistics.\n\nRequired privilege: Project.Audit", "operationId": "get_project_stats_v3_projects__project_id__stats_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "object", "title": "Response Get Project Stats V3 Projects Project Id Stats Get"}}}}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/close": {"post": {"tags": ["Projects"], "summary": "Close Project", "description": "Close a project.\n\nRequired privilege: Project.Allocate", "operationId": "close_project_v3_projects__project_id__close_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "409": {"description": "Could not close project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/open": {"post": {"tags": ["Projects"], "summary": "Open Project", "description": "Open a project.\n\nRequired privilege: Project.Allocate", "operationId": "open_project_v3_projects__project_id__open_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Project"}}}}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "409": {"description": "Could not open project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/load": {"post": {"tags": ["Projects"], "summary": "Load Project", "description": "Load a project (local server only).\n\nRequired privilege: Project.Allocate", "operationId": "load_project_v3_projects_load_post", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/Body_load_project_v3_projects_load_post"}}}, "required": true}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Project"}}}}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "409": {"description": "Could not load project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/projects/{project_id}/notifications": {"get": {"tags": ["Projects"], "summary": "Project Http Notifications", "description": "Receive project notifications about the controller from HTTP stream.\n\nRequired privilege: Project.Audit", "operationId": "project_http_notifications_v3_projects__project_id__notifications_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/export": {"get": {"tags": ["Projects"], "summary": "Export Project", "description": "Export a project as a portable archive.\n\nRequired privilege: Project.Audit", "operationId": "export_project_v3_projects__project_id__export_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}, {"name": "include_snapshots", "in": "query", "required": false, "schema": {"type": "boolean", "default": false, "title": "Include Snapshots"}}, {"name": "include_images", "in": "query", "required": false, "schema": {"type": "boolean", "default": false, "title": "Include Images"}}, {"name": "reset_mac_addresses", "in": "query", "required": false, "schema": {"type": "boolean", "default": false, "title": "Reset Mac Addresses"}}, {"name": "compression", "in": "query", "required": false, "schema": {"allOf": [{"$ref": "#/components/schemas/ProjectCompression"}], "default": "zstd", "title": "Compression"}}, {"name": "compression_level", "in": "query", "required": false, "schema": {"type": "integer", "title": "Compression Level"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/import": {"post": {"tags": ["Projects"], "summary": "Import Project", "description": "Import a project from a portable archive.\n\nRequired privilege: Project.Allocate", "operationId": "import_project_v3_projects__project_id__import_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}, {"name": "name", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}}], "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Project"}}}}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/duplicate": {"post": {"tags": ["Projects"], "summary": "Duplicate Project", "description": "Duplicate a project.\n\nRequired privilege: Project.Allocate", "operationId": "duplicate_project_v3_projects__project_id__duplicate_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectDuplicate"}}}}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Project"}}}}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "409": {"description": "Could not duplicate project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/locked": {"get": {"tags": ["Projects"], "summary": "Locked Project", "description": "Returns whether a project is locked or not.\n\nRequired privilege: Project.Audit", "operationId": "locked_project_v3_projects__project_id__locked_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "boolean", "title": "Response Locked Project V3 Projects Project Id Locked Get"}}}}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/lock": {"post": {"tags": ["Projects"], "summary": "Lock Project", "description": "Lock all drawings and nodes in a given project.\n\nRequired privilege: Project.Audit", "operationId": "lock_project_v3_projects__project_id__lock_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/unlock": {"post": {"tags": ["Projects"], "summary": "Unlock Project", "description": "Unlock all drawings and nodes in a given project.\n\nRequired privilege: Project.Modify", "operationId": "unlock_project_v3_projects__project_id__unlock_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/files/{file_path}": {"get": {"tags": ["Projects"], "summary": "Get File", "description": "Return a file from a project.\n\nRequired privilege: Project.Audit", "operationId": "get_file_v3_projects__project_id__files__file_path__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "file_path", "in": "path", "required": true, "schema": {"type": "string", "title": "File Path"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "post": {"tags": ["Projects"], "summary": "Write File", "description": "Write a file to a project.\n\nRequired privilege: Project.Modify", "operationId": "write_file_v3_projects__project_id__files__file_path__post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "file_path", "in": "path", "required": true, "schema": {"type": "string", "title": "File Path"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/templates/{template_id}": {"post": {"tags": ["Projects"], "summary": "Create Node From Template", "description": "Create a new node from a template.\n\nRequired privilege: Node.Allocate", "operationId": "create_node_from_template_v3_projects__project_id__templates__template_id__post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}, {"name": "template_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Template Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TemplateUsage"}}}}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Node"}}}}, "404": {"description": "Could not find project or template", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes": {"post": {"tags": ["Nodes"], "summary": "Create Node", "description": "Create a new node.\n\nRequired privilege: Node.Allocate", "operationId": "create_node_v3_projects__project_id__nodes_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeCreate"}}}}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Node"}}}}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "409": {"description": "Could not create node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "get": {"tags": ["Nodes"], "summary": "Get Nodes", "description": "Return all nodes belonging to a given project.\n\nRequired privilege: Node.Audit", "operationId": "get_nodes_v3_projects__project_id__nodes_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/Node"}, "title": "Response Get Nodes V3 Projects Project Id Nodes Get"}}}}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/start": {"post": {"tags": ["Nodes"], "summary": "Start All Nodes", "description": "Start all nodes belonging to a given project.\n\nRequired privilege: Node.PowerMgmt", "operationId": "start_all_nodes_v3_projects__project_id__nodes_start_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/stop": {"post": {"tags": ["Nodes"], "summary": "Stop All Nodes", "description": "Stop all nodes belonging to a given project.\n\nRequired privilege: Node.PowerMgmt", "operationId": "stop_all_nodes_v3_projects__project_id__nodes_stop_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/suspend": {"post": {"tags": ["Nodes"], "summary": "Suspend All Nodes", "description": "Suspend all nodes belonging to a given project.\n\nRequired privilege: Node.PowerMgmt", "operationId": "suspend_all_nodes_v3_projects__project_id__nodes_suspend_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/reload": {"post": {"tags": ["Nodes"], "summary": "Reload All Nodes", "description": "Reload all nodes belonging to a given project.\n\nRequired privilege: Node.PowerMgmt", "operationId": "reload_all_nodes_v3_projects__project_id__nodes_reload_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/{node_id}": {"get": {"tags": ["Nodes"], "summary": "Get Node", "description": "Return a node from a given project.\n\nRequired privilege: Node.Audit", "operationId": "get_node_v3_projects__project_id__nodes__node_id__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Node"}}}}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"tags": ["Nodes"], "summary": "Update Node", "description": "Update a node.\n\nRequired privilege: Node.Modify", "operationId": "update_node_v3_projects__project_id__nodes__node_id__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeUpdate"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Node"}}}}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["Nodes"], "summary": "Delete Node", "description": "Delete a node from a project.\n\nRequired privilege: Node.Allocate", "operationId": "delete_node_v3_projects__project_id__nodes__node_id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "409": {"description": "Cannot delete node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/{node_id}/duplicate": {"post": {"tags": ["Nodes"], "summary": "Duplicate Node", "description": "Duplicate a node.\n\nRequired privilege: Node.Allocate", "operationId": "duplicate_node_v3_projects__project_id__nodes__node_id__duplicate_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeDuplicate"}}}}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Node"}}}}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/{node_id}/start": {"post": {"tags": ["Nodes"], "summary": "Start Node", "description": "Start a node.\n\nRequired privilege: Node.PowerMgmt", "operationId": "start_node_v3_projects__project_id__nodes__node_id__start_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "title": "Start Data"}}}}, "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/{node_id}/stop": {"post": {"tags": ["Nodes"], "summary": "Stop Node", "description": "Stop a node.\n\nRequired privilege: Node.PowerMgmt", "operationId": "stop_node_v3_projects__project_id__nodes__node_id__stop_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/{node_id}/suspend": {"post": {"tags": ["Nodes"], "summary": "Suspend Node", "description": "Suspend a node.\n\nRequired privilege: Node.PowerMgmt", "operationId": "suspend_node_v3_projects__project_id__nodes__node_id__suspend_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/{node_id}/reload": {"post": {"tags": ["Nodes"], "summary": "Reload Node", "description": "Reload a node.\n\nRequired privilege: Node.PowerMgmt", "operationId": "reload_node_v3_projects__project_id__nodes__node_id__reload_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/{node_id}/isolate": {"post": {"tags": ["Nodes"], "summary": "Isolate Node", "description": "Isolate a node (suspend all attached links).\n\nRequired privilege: Link.Modify", "operationId": "isolate_node_v3_projects__project_id__nodes__node_id__isolate_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/{node_id}/unisolate": {"post": {"tags": ["Nodes"], "summary": "Unisolate Node", "description": "Un-isolate a node (resume all attached suspended links).\n\nRequired privilege: Link.Modify", "operationId": "unisolate_node_v3_projects__project_id__nodes__node_id__unisolate_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/{node_id}/links": {"get": {"tags": ["Nodes"], "summary": "Get Node Links", "description": "Return all the links connected to a node.\n\nRequired privilege: Link.Audit", "operationId": "get_node_links_v3_projects__project_id__nodes__node_id__links_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/Link"}, "title": "Response Get Node Links V3 Projects Project Id Nodes Node Id Links Get"}}}}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/{node_id}/dynamips/auto_idlepc": {"get": {"tags": ["Nodes"], "summary": "Auto Idlepc", "description": "Compute an Idle-PC value for a Dynamips node\n\nRequired privilege: Node.Audit", "operationId": "auto_idlepc_v3_projects__project_id__nodes__node_id__dynamips_auto_idlepc_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "object", "title": "Response Auto Idlepc V3 Projects Project Id Nodes Node Id Dynamips Auto Idlepc Get"}}}}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/{node_id}/dynamips/idlepc_proposals": {"get": {"tags": ["Nodes"], "summary": "Idlepc Proposals", "description": "Compute a list of potential idle-pc values for a Dynamips node\n\nRequired privilege: Node.Audit", "operationId": "idlepc_proposals_v3_projects__project_id__nodes__node_id__dynamips_idlepc_proposals_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"type": "string"}, "title": "Response Idlepc Proposals V3 Projects Project Id Nodes Node Id Dynamips Idlepc Proposals Get"}}}}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/{node_id}/qemu/disk_image/{disk_name}": {"post": {"tags": ["Nodes"], "summary": "Create Disk Image", "description": "Create a Qemu disk image.\n\nRequired privilege: Node.Allocate", "operationId": "create_disk_image_v3_projects__project_id__nodes__node_id__qemu_disk_image__disk_name__post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "disk_name", "in": "path", "required": true, "schema": {"type": "string", "title": "Disk Name"}}, {"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/QemuDiskImageCreate"}}}}, "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"tags": ["Nodes"], "summary": "Update Disk Image", "description": "Update a Qemu disk image.\n\nRequired privilege: Node.Allocate", "operationId": "update_disk_image_v3_projects__project_id__nodes__node_id__qemu_disk_image__disk_name__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "disk_name", "in": "path", "required": true, "schema": {"type": "string", "title": "Disk Name"}}, {"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/QemuDiskImageUpdate"}}}}, "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["Nodes"], "summary": "Delete Disk Image", "description": "Delete a Qemu disk image.\n\nRequired privilege: Node.Allocate", "operationId": "delete_disk_image_v3_projects__project_id__nodes__node_id__qemu_disk_image__disk_name__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "disk_name", "in": "path", "required": true, "schema": {"type": "string", "title": "Disk Name"}}, {"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/{node_id}/files/{file_path}": {"get": {"tags": ["Nodes"], "summary": "Get File", "description": "Return a file from the node directory.\n\nRequired privilege: Node.Audit", "operationId": "get_file_v3_projects__project_id__nodes__node_id__files__file_path__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "file_path", "in": "path", "required": true, "schema": {"type": "string", "title": "File Path"}}, {"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "post": {"tags": ["Nodes"], "summary": "Post File", "description": "Write a file in the node directory.\n\nRequired privilege: Node.Modify", "operationId": "post_file_v3_projects__project_id__nodes__node_id__files__file_path__post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "file_path", "in": "path", "required": true, "schema": {"type": "string", "title": "File Path"}}, {"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/console/reset": {"post": {"tags": ["Nodes"], "summary": "Reset Console All Nodes", "description": "Reset console for all nodes belonging to the project.\n\nRequired privilege: Node.Console", "operationId": "reset_console_all_nodes_v3_projects__project_id__nodes_console_reset_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/{node_id}/console/reset": {"post": {"tags": ["Nodes"], "summary": "Console Reset", "description": "Reset a console for a given node.\n\nRequired privilege: Node.Console", "operationId": "console_reset_v3_projects__project_id__nodes__node_id__console_reset_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/links": {"get": {"tags": ["Links"], "summary": "Get Links", "description": "Return all links for a given project.\n\nRequired privilege: Link.Audit", "operationId": "get_links_v3_projects__project_id__links_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/Link"}, "title": "Response Get Links V3 Projects Project Id Links Get"}}}}, "404": {"description": "Could not find project or link", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "post": {"tags": ["Links"], "summary": "Create Link", "description": "Create a new link.\n\nRequired privilege: Link.Allocate", "operationId": "create_link_v3_projects__project_id__links_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/LinkCreate"}}}}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Link"}}}}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "409": {"description": "Could not create link", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/links/{link_id}/available_filters": {"get": {"tags": ["Links"], "summary": "Get Filters", "description": "Return all filters available for a given link.\n\nRequired privilege: Link.Audit", "operationId": "get_filters_v3_projects__project_id__links__link_id__available_filters_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}, {"name": "link_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Link Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"type": "object"}, "title": "Response Get Filters V3 Projects Project Id Links Link Id Available Filters Get"}}}}, "404": {"description": "Could not find project or link", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/links/{link_id}": {"get": {"tags": ["Links"], "summary": "Get Link", "description": "Return a link.\n\nRequired privilege: Link.Audit", "operationId": "get_link_v3_projects__project_id__links__link_id__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}, {"name": "link_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Link Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Link"}}}}, "404": {"description": "Could not find project or link", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"tags": ["Links"], "summary": "Update Link", "description": "Update a link.\n\nRequired privilege: Link.Modify", "operationId": "update_link_v3_projects__project_id__links__link_id__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}, {"name": "link_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Link Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/LinkUpdate"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Link"}}}}, "404": {"description": "Could not find project or link", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["Links"], "summary": "Delete Link", "description": "Delete a link.\n\nRequired privilege: Link.Allocate", "operationId": "delete_link_v3_projects__project_id__links__link_id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}, {"name": "link_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Link Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or link", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/links/{link_id}/reset": {"post": {"tags": ["Links"], "summary": "Reset Link", "description": "Reset a link.\n\nRequired privilege: Link.Modify", "operationId": "reset_link_v3_projects__project_id__links__link_id__reset_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}, {"name": "link_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Link Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Link"}}}}, "404": {"description": "Could not find project or link", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/links/{link_id}/capture/start": {"post": {"tags": ["Links"], "summary": "Start Capture", "description": "Start packet capture on the link.\n\nRequired privilege: Link.Capture", "operationId": "start_capture_v3_projects__project_id__links__link_id__capture_start_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}, {"name": "link_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Link Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "title": "Capture Data"}}}}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Link"}}}}, "404": {"description": "Could not find project or link", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/links/{link_id}/capture/stop": {"post": {"tags": ["Links"], "summary": "Stop Capture", "description": "Stop packet capture on the link.\n\nRequired privilege: Link.Capture", "operationId": "stop_capture_v3_projects__project_id__links__link_id__capture_stop_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}, {"name": "link_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Link Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or link", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/links/{link_id}/capture/stream": {"get": {"tags": ["Links"], "summary": "Stream Pcap", "description": "Stream the PCAP capture file from compute.\n\nRequired privilege: Link.Capture", "operationId": "stream_pcap_v3_projects__project_id__links__link_id__capture_stream_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}, {"name": "link_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Link Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "404": {"description": "Could not find project or link", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/drawings": {"get": {"tags": ["Drawings"], "summary": "Get Drawings", "description": "Return the list of all drawings for a given project.\n\nRequired privilege: Drawing.Audit", "operationId": "get_drawings_v3_projects__project_id__drawings_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/Drawing"}, "title": "Response Get Drawings V3 Projects Project Id Drawings Get"}}}}, "404": {"description": "Project or drawing not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "post": {"tags": ["Drawings"], "summary": "Create Drawing", "description": "Create a new drawing.\n\nRequired privilege: Drawing.Allocate", "operationId": "create_drawing_v3_projects__project_id__drawings_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Drawing"}}}}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Drawing"}}}}, "404": {"description": "Project or drawing not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/drawings/{drawing_id}": {"get": {"tags": ["Drawings"], "summary": "Get Drawing", "description": "Return a drawing.\n\nRequired privilege: Drawing.Audit", "operationId": "get_drawing_v3_projects__project_id__drawings__drawing_id__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}, {"name": "drawing_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Drawing Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Drawing"}}}}, "404": {"description": "Project or drawing not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"tags": ["Drawings"], "summary": "Update Drawing", "description": "Update a drawing.\n\nRequired privilege: Drawing.Modify", "operationId": "update_drawing_v3_projects__project_id__drawings__drawing_id__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}, {"name": "drawing_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Drawing Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Drawing"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Drawing"}}}}, "404": {"description": "Project or drawing not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["Drawings"], "summary": "Delete Drawing", "description": "Delete a drawing.\n\nRequired privilege: Drawing.Allocate", "operationId": "delete_drawing_v3_projects__project_id__drawings__drawing_id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}, {"name": "drawing_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Drawing Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Project or drawing not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/symbols": {"get": {"tags": ["Symbols"], "summary": "Get Symbols", "description": "Return all symbols.\n\nRequired privilege: Symbol.Audit", "operationId": "get_symbols_v3_symbols_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"type": "object"}, "type": "array", "title": "Response Get Symbols V3 Symbols Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/symbols/{symbol_id}/raw": {"get": {"tags": ["Symbols"], "summary": "Get Symbol", "description": "Download a symbol file.\n\nRequired privilege: Symbol.Audit", "operationId": "get_symbol_v3_symbols__symbol_id__raw_get", "parameters": [{"name": "symbol_id", "in": "path", "required": true, "schema": {"type": "string", "title": "Symbol Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "404": {"description": "Could not find symbol", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "post": {"tags": ["Symbols"], "summary": "Upload Symbol", "description": "Upload a symbol file.\n\nRequired privilege: Symbol.Allocate", "operationId": "upload_symbol_v3_symbols__symbol_id__raw_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "symbol_id", "in": "path", "required": true, "schema": {"type": "string", "title": "Symbol Id"}}], "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/symbols/{symbol_id}/dimensions": {"get": {"tags": ["Symbols"], "summary": "Get Symbol Dimensions", "description": "Get a symbol dimensions.\n\nRequired privilege: Symbol.Audit", "operationId": "get_symbol_dimensions_v3_symbols__symbol_id__dimensions_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "symbol_id", "in": "path", "required": true, "schema": {"type": "string", "title": "Symbol Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "object", "title": "Response Get Symbol Dimensions V3 Symbols Symbol Id Dimensions Get"}}}}, "404": {"description": "Could not find symbol", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/symbols/default_symbols": {"get": {"tags": ["Symbols"], "summary": "Get Default Symbols", "description": "Return all default symbols.\n\nRequired privilege: Symbol.Audit", "operationId": "get_default_symbols_v3_symbols_default_symbols_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "object", "title": "Response Get Default Symbols V3 Symbols Default Symbols Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/projects/{project_id}/snapshots": {"post": {"tags": ["Snapshots"], "summary": "Create Snapshot", "description": "Create a new snapshot of a project.\n\nRequired privilege: Snapshot.Allocate", "operationId": "create_snapshot_v3_projects__project_id__snapshots_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SnapshotCreate"}}}}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Snapshot"}}}}, "404": {"description": "Could not find project or snapshot", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "get": {"tags": ["Snapshots"], "summary": "Get Snapshots", "description": "Return all snapshots belonging to a given project.\n\nRequired privilege: Snapshot.Audit", "operationId": "get_snapshots_v3_projects__project_id__snapshots_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/Snapshot"}, "title": "Response Get Snapshots V3 Projects Project Id Snapshots Get"}}}}, "404": {"description": "Could not find project or snapshot", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/snapshots/{snapshot_id}": {"delete": {"tags": ["Snapshots"], "summary": "Delete Snapshot", "description": "Delete a snapshot.\n\nRequired privilege: Snapshot.Allocate", "operationId": "delete_snapshot_v3_projects__project_id__snapshots__snapshot_id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "snapshot_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Snapshot Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or snapshot", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/snapshots/{snapshot_id}/restore": {"post": {"tags": ["Snapshots"], "summary": "Restore Snapshot", "description": "Restore a snapshot.\n\nRequired privilege: Snapshot.Restore", "operationId": "restore_snapshot_v3_projects__project_id__snapshots__snapshot_id__restore_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "snapshot_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Snapshot Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Project"}}}}, "404": {"description": "Could not find project or snapshot", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/computes": {"post": {"tags": ["Computes"], "summary": "Create Compute", "description": "Create a new compute on the controller.\n\nRequired privilege: Compute.Allocate", "operationId": "create_compute_v3_computes_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "connect", "in": "query", "required": false, "schema": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": false, "title": "Connect"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ComputeCreate"}}}}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Compute"}}}}, "404": {"description": "Could not connect to compute", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "409": {"description": "Could not create compute", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "401": {"description": "Invalid authentication for compute", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "get": {"tags": ["Computes"], "summary": "Get Computes", "description": "Return all computes known by the controller.\n\nRequired privilege: Compute.Audit", "operationId": "get_computes_v3_computes_get", "security": [{"OAuth2PasswordBearer": []}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/Compute"}, "title": "Response Get Computes V3 Computes Get"}}}}, "404": {"description": "Compute not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/computes/{compute_id}/connect": {"post": {"tags": ["Computes"], "summary": "Connect Compute", "description": "Connect to compute on the controller.\n\nRequired privilege: Compute.Audit", "operationId": "connect_compute_v3_computes__compute_id__connect_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "compute_id", "in": "path", "required": true, "schema": {"anyOf": [{"type": "string"}, {"type": "string", "format": "uuid"}], "title": "Compute Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Compute not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/computes/{compute_id}": {"get": {"tags": ["Computes"], "summary": "Get Compute", "description": "Return a compute from the controller.\n\nRequired privilege: Compute.Audit", "operationId": "get_compute_v3_computes__compute_id__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "compute_id", "in": "path", "required": true, "schema": {"anyOf": [{"type": "string"}, {"type": "string", "format": "uuid"}], "title": "Compute Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Compute"}}}}, "404": {"description": "Compute not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"tags": ["Computes"], "summary": "Update Compute", "description": "Update a compute on the controller.\n\nRequired privilege: Compute.Modify", "operationId": "update_compute_v3_computes__compute_id__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "compute_id", "in": "path", "required": true, "schema": {"anyOf": [{"type": "string"}, {"type": "string", "format": "uuid"}], "title": "Compute Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ComputeUpdate"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Compute"}}}}, "404": {"description": "Compute not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["Computes"], "summary": "Delete Compute", "description": "Delete a compute from the controller.\n\nRequired privilege: Compute.Allocate", "operationId": "delete_compute_v3_computes__compute_id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "compute_id", "in": "path", "required": true, "schema": {"anyOf": [{"type": "string"}, {"type": "string", "format": "uuid"}], "title": "Compute Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Compute not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/computes/{compute_id}/docker/images": {"get": {"tags": ["Computes"], "summary": "Docker Get Images", "description": "Get Docker images from a compute.", "operationId": "docker_get_images_v3_computes__compute_id__docker_images_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "compute_id", "in": "path", "required": true, "schema": {"anyOf": [{"type": "string"}, {"type": "string", "format": "uuid"}], "title": "Compute Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/ComputeDockerImage"}, "title": "Response Docker Get Images V3 Computes Compute Id Docker Images Get"}}}}, "404": {"description": "Compute not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/computes/{compute_id}/virtualbox/vms": {"get": {"tags": ["Computes"], "summary": "Virtualbox Vms", "description": "Get VirtualBox VMs from a compute.", "operationId": "virtualbox_vms_v3_computes__compute_id__virtualbox_vms_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "compute_id", "in": "path", "required": true, "schema": {"anyOf": [{"type": "string"}, {"type": "string", "format": "uuid"}], "title": "Compute Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/ComputeVirtualBoxVM"}, "title": "Response Virtualbox Vms V3 Computes Compute Id Virtualbox Vms Get"}}}}, "404": {"description": "Compute not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/computes/{compute_id}/vmware/vms": {"get": {"tags": ["Computes"], "summary": "Vmware Vms", "description": "Get VMware VMs from a compute.", "operationId": "vmware_vms_v3_computes__compute_id__vmware_vms_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "compute_id", "in": "path", "required": true, "schema": {"anyOf": [{"type": "string"}, {"type": "string", "format": "uuid"}], "title": "Compute Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/ComputeVMwareVM"}, "title": "Response Vmware Vms V3 Computes Compute Id Vmware Vms Get"}}}}, "404": {"description": "Compute not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/computes/{compute_id}/dynamips/auto_idlepc": {"post": {"tags": ["Computes"], "summary": "Dynamips Autoidlepc", "description": "Find a suitable Idle-PC value for a given IOS image. This may take a few minutes.", "operationId": "dynamips_autoidlepc_v3_computes__compute_id__dynamips_auto_idlepc_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "compute_id", "in": "path", "required": true, "schema": {"anyOf": [{"type": "string"}, {"type": "string", "format": "uuid"}], "title": "Compute Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AutoIdlePC"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "string", "title": "Response Dynamips Autoidlepc V3 Computes Compute Id Dynamips Auto Idlepc Post"}}}}, "404": {"description": "Compute not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/computes/{compute_id}/{emulator}/{endpoint_path}": {"get": {"tags": ["Computes"], "summary": "Forward Get", "description": "Forward a GET request to a compute.\nRead the full compute API documentation for available routes.", "operationId": "forward_get_v3_computes__compute_id___emulator___endpoint_path__get", "deprecated": true, "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "compute_id", "in": "path", "required": true, "schema": {"anyOf": [{"type": "string"}, {"type": "string", "format": "uuid"}], "title": "Compute Id"}}, {"name": "emulator", "in": "path", "required": true, "schema": {"type": "string", "title": "Emulator"}}, {"name": "endpoint_path", "in": "path", "required": true, "schema": {"type": "string", "title": "Endpoint Path"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"title": "Response Forward Get V3 Computes Compute Id Emulator Endpoint Path Get"}}}}, "404": {"description": "Compute not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "post": {"tags": ["Computes"], "summary": "Forward Post", "description": "Forward a POST request to a compute.\nRead the full compute API documentation for available routes.", "operationId": "forward_post_v3_computes__compute_id___emulator___endpoint_path__post", "deprecated": true, "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "compute_id", "in": "path", "required": true, "schema": {"anyOf": [{"type": "string"}, {"type": "string", "format": "uuid"}], "title": "Compute Id"}}, {"name": "emulator", "in": "path", "required": true, "schema": {"type": "string", "title": "Emulator"}}, {"name": "endpoint_path", "in": "path", "required": true, "schema": {"type": "string", "title": "Endpoint Path"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "title": "Compute Data"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"title": "Response Forward Post V3 Computes Compute Id Emulator Endpoint Path Post"}}}}, "404": {"description": "Compute not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"tags": ["Computes"], "summary": "Forward Put", "description": "Forward a PUT request to a compute.\nRead the full compute API documentation for available routes.", "operationId": "forward_put_v3_computes__compute_id___emulator___endpoint_path__put", "deprecated": true, "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "compute_id", "in": "path", "required": true, "schema": {"anyOf": [{"type": "string"}, {"type": "string", "format": "uuid"}], "title": "Compute Id"}}, {"name": "emulator", "in": "path", "required": true, "schema": {"type": "string", "title": "Emulator"}}, {"name": "endpoint_path", "in": "path", "required": true, "schema": {"type": "string", "title": "Endpoint Path"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "title": "Compute Data"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"title": "Response Forward Put V3 Computes Compute Id Emulator Endpoint Path Put"}}}}, "404": {"description": "Compute not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/appliances": {"get": {"tags": ["Appliances"], "summary": "Get Appliances", "description": "Return all appliances known by the controller.\n\nRequired privilege: Appliance.Audit", "operationId": "get_appliances_v3_appliances_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "update", "in": "query", "required": false, "schema": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": false, "title": "Update"}}, {"name": "symbol_theme", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Symbol Theme"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/Appliance"}, "title": "Response Get Appliances V3 Appliances Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/appliances/{appliance_id}": {"get": {"tags": ["Appliances"], "summary": "Get Appliance", "description": "Get an appliance file.\n\nRequired privilege: Appliance.Audit", "operationId": "get_appliance_v3_appliances__appliance_id__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "appliance_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Appliance Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Appliance"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/appliances/{appliance_id}/version": {"post": {"tags": ["Appliances"], "summary": "Add Appliance Version", "description": "Add a version to an appliance.\n\nRequired privilege: Appliance.Allocate", "operationId": "add_appliance_version_v3_appliances__appliance_id__version_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "appliance_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Appliance Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApplianceVersion"}}}}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "object", "title": "Response Add Appliance Version V3 Appliances Appliance Id Version Post"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/appliances/{appliance_id}/install": {"post": {"tags": ["Appliances"], "summary": "Install Appliance", "description": "Install an appliance.\n\nRequired privilege: Appliance.Allocate", "operationId": "install_appliance_v3_appliances__appliance_id__install_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "appliance_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Appliance Id"}}, {"name": "version", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Version"}}], "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/pools": {"get": {"tags": ["Resource pools"], "summary": "Get Resource Pools", "description": "Get all resource pools.\n\nRequired privilege: Pool.Audit", "operationId": "get_resource_pools_v3_pools_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/ResourcePool"}, "type": "array", "title": "Response Get Resource Pools V3 Pools Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}, "post": {"tags": ["Resource pools"], "summary": "Create Resource Pool", "description": "Create a new resource pool\n\nRequired privilege: Pool.Allocate", "operationId": "create_resource_pool_v3_pools_post", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ResourcePoolCreate"}}}, "required": true}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ResourcePool"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/pools/{resource_pool_id}": {"get": {"tags": ["Resource pools"], "summary": "Get Resource Pool", "description": "Get a resource pool.\n\nRequired privilege: Pool.Audit", "operationId": "get_resource_pool_v3_pools__resource_pool_id__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "resource_pool_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Resource Pool Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ResourcePool"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"tags": ["Resource pools"], "summary": "Update Resource Pool", "description": "Update a resource pool.\n\nRequired privilege: Pool.Modify", "operationId": "update_resource_pool_v3_pools__resource_pool_id__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "resource_pool_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Resource Pool Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ResourcePoolUpdate"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ResourcePool"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["Resource pools"], "summary": "Delete Resource Pool", "description": "Delete a resource pool.\n\nRequired privilege: Pool.Allocate", "operationId": "delete_resource_pool_v3_pools__resource_pool_id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "resource_pool_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Resource Pool Id"}}], "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/pools/{resource_pool_id}/resources": {"get": {"tags": ["Resource pools"], "summary": "Get Pool Resources", "description": "Get all resource in a pool.\n\nRequired privilege: Pool.Audit", "operationId": "get_pool_resources_v3_pools__resource_pool_id__resources_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "resource_pool_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Resource Pool Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/Resource"}, "title": "Response Get Pool Resources V3 Pools Resource Pool Id Resources Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/pools/{resource_pool_id}/resources/{resource_id}": {"put": {"tags": ["Resource pools"], "summary": "Add Resource To Pool", "description": "Add resource to a resource pool.\n\nRequired privilege: Pool.Modify", "operationId": "add_resource_to_pool_v3_pools__resource_pool_id__resources__resource_id__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "resource_pool_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Resource Pool Id"}}, {"name": "resource_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Resource Id"}}], "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["Resource pools"], "summary": "Remove Resource From Pool", "description": "Remove resource from a resource pool.\n\nRequired privilege: Pool.Modify", "operationId": "remove_resource_from_pool_v3_pools__resource_pool_id__resources__resource_id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "resource_pool_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Resource Pool Id"}}, {"name": "resource_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Resource Id"}}], "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/gns3vm/engines": {"get": {"tags": ["GNS3 VM"], "summary": "Get Engines", "description": "Return the list of supported engines for the GNS3VM.", "operationId": "get_engines_v3_gns3vm_engines_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"type": "object"}, "type": "array", "title": "Response Get Engines V3 Gns3Vm Engines Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "deprecated": true, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/gns3vm/engines/{engine}/vms": {"get": {"tags": ["GNS3 VM"], "summary": "Get Vms", "description": "Return all the available VMs for a specific virtualization engine.", "operationId": "get_vms_v3_gns3vm_engines__engine__vms_get", "deprecated": true, "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "engine", "in": "path", "required": true, "schema": {"type": "string", "title": "Engine"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"type": "object"}, "title": "Response Get Vms V3 Gns3Vm Engines Engine Vms Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/gns3vm": {"get": {"tags": ["GNS3 VM"], "summary": "Get Gns3Vm Settings", "description": "Return the GNS3 VM settings.", "operationId": "get_gns3vm_settings_v3_gns3vm_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GNS3VM"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "deprecated": true, "security": [{"OAuth2PasswordBearer": []}]}, "put": {"tags": ["GNS3 VM"], "summary": "Update Gns3Vm Settings", "description": "Update the GNS3 VM settings.", "operationId": "update_gns3vm_settings_v3_gns3vm_put", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GNS3VM"}}}, "required": true}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GNS3VM"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "deprecated": true, "security": [{"OAuth2PasswordBearer": []}]}}}, "components": {"schemas": {"ACE": {"properties": {"ace_type": {"allOf": [{"$ref": "#/components/schemas/ACEType"}], "description": "Type of the ACE"}, "path": {"type": "string", "title": "Path"}, "propagate": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Propagate", "default": true}, "allowed": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Allowed", "default": true}, "user_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "User Id"}, "group_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Group Id"}, "role_id": {"type": "string", "format": "uuid", "title": "Role Id"}, "created_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Created At"}, "updated_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Updated At"}, "ace_id": {"type": "string", "format": "uuid", "title": "Ace Id"}}, "type": "object", "required": ["ace_type", "path", "role_id", "ace_id"], "title": "ACE"}, "ACECreate": {"properties": {"ace_type": {"allOf": [{"$ref": "#/components/schemas/ACEType"}], "description": "Type of the ACE"}, "path": {"type": "string", "title": "Path"}, "propagate": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Propagate", "default": true}, "allowed": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Allowed", "default": true}, "user_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "User Id"}, "group_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Group Id"}, "role_id": {"type": "string", "format": "uuid", "title": "Role Id"}}, "type": "object", "required": ["ace_type", "path", "role_id"], "title": "ACECreate", "description": "Properties to create an ACE."}, "ACEType": {"type": "string", "enum": ["user", "group"], "title": "ACEType"}, "ACEUpdate": {"properties": {"ace_type": {"allOf": [{"$ref": "#/components/schemas/ACEType"}], "description": "Type of the ACE"}, "path": {"type": "string", "title": "Path"}, "propagate": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Propagate", "default": true}, "allowed": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Allowed", "default": true}, "user_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "User Id"}, "group_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Group Id"}, "role_id": {"type": "string", "format": "uuid", "title": "Role Id"}}, "type": "object", "required": ["ace_type", "path", "role_id"], "title": "ACEUpdate", "description": "Properties to update an ACE."}, "AdapterType": {"type": "string", "enum": ["e1000", "e1000-82544gc", "e1000-82545em", "e1000e", "i82550", "i82551", "i82557a", "i82557b", "i82557c", "i82558a", "i82558b", "i82559a", "i82559b", "i82559c", "i82559er", "i82562", "i82801", "ne2k_pci", "pcnet", "rocker", "rtl8139", "virtio", "virtio-net-pci", "vmxnet3"], "title": "AdapterType"}, "Appliance": {"properties": {"appliance_id": {"type": "string", "format": "uuid", "title": "Appliance ID"}, "name": {"type": "string", "title": "Appliance name"}, "builtin": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Whether the appliance is builtin or not"}, "category": {"allOf": [{"$ref": "#/components/schemas/gns3server__schemas__controller__appliances__Category"}], "title": "Category of the appliance"}, "description": {"type": "string", "title": "Description of the appliance. Could be a marketing description"}, "vendor_name": {"type": "string", "title": "Name of the vendor"}, "vendor_url": {"anyOf": [{"type": "string", "minLength": 1, "format": "uri"}, {"type": "string", "maxLength": 0}, {"type": "null"}], "title": "Website of the vendor"}, "documentation_url": {"anyOf": [{"type": "string", "minLength": 1, "format": "uri"}, {"type": "string", "maxLength": 0}, {"type": "null"}], "title": "An optional documentation for using the appliance on vendor website"}, "product_name": {"type": "string", "title": "Product name"}, "product_url": {"anyOf": [{"type": "string", "minLength": 1, "format": "uri"}, {"type": "string", "maxLength": 0}, {"type": "null"}], "title": "An optional product url on vendor website"}, "registry_version": {"allOf": [{"$ref": "#/components/schemas/RegistryVersion"}], "title": "Version of the registry compatible with this appliance"}, "status": {"allOf": [{"$ref": "#/components/schemas/Status"}], "title": "Document if the appliance is working or not"}, "availability": {"anyOf": [{"$ref": "#/components/schemas/Availability"}, {"type": "null"}], "title": "About image availability: can be downloaded directly; download requires a free registration; paid but a trial version (time or feature limited) is available; not available publicly"}, "maintainer": {"type": "string", "title": "Maintainer name"}, "maintainer_email": {"anyOf": [{"type": "string", "format": "email"}, {"type": "string", "maxLength": 0}, {"type": "null"}], "title": "Maintainer email"}, "usage": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "How to use the appliance"}, "symbol": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "An optional symbol for the appliance"}, "first_port_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Optional name of the first networking port example: eth0"}, "port_name_format": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Optional formating of the networking port example: eth{0}"}, "port_segment_size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "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"}, "linked_clone": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "False if you don't want to use a single image for all nodes"}, "docker": {"anyOf": [{"$ref": "#/components/schemas/Docker"}, {"type": "null"}], "title": "Docker specific options"}, "iou": {"anyOf": [{"$ref": "#/components/schemas/Iou"}, {"type": "null"}], "title": "IOU specific options"}, "dynamips": {"anyOf": [{"$ref": "#/components/schemas/Dynamips"}, {"type": "null"}], "title": "Dynamips specific options"}, "qemu": {"anyOf": [{"$ref": "#/components/schemas/Qemu"}, {"type": "null"}], "title": "Qemu specific options"}, "images": {"anyOf": [{"items": {"$ref": "#/components/schemas/ApplianceImage"}, "type": "array"}, {"type": "null"}], "title": "Images for this appliance"}, "versions": {"anyOf": [{"items": {"$ref": "#/components/schemas/ApplianceVersion"}, "type": "array"}, {"type": "null"}], "title": "Versions of the appliance"}}, "type": "object", "required": ["appliance_id", "name", "category", "description", "vendor_name", "product_name", "registry_version", "status", "maintainer"], "title": "Appliance"}, "ApplianceImage": {"properties": {"filename": {"type": "string", "title": "Filename"}, "version": {"type": "string", "title": "Version of the file"}, "md5sum": {"type": "string", "pattern": "^[a-f0-9]{32}$", "title": "md5sum of the file"}, "filesize": {"type": "integer", "title": "File size in bytes"}, "download_url": {"anyOf": [{"type": "string", "minLength": 1, "format": "uri"}, {"type": "string", "maxLength": 0}, {"type": "null"}], "title": "Download url where you can download the appliance from a browser"}, "direct_download_url": {"anyOf": [{"type": "string", "minLength": 1, "format": "uri"}, {"type": "string", "maxLength": 0}, {"type": "null"}], "title": "Optional. Non authenticated url to the image file where you can download the image."}, "compression": {"anyOf": [{"$ref": "#/components/schemas/Compression"}, {"type": "null"}], "title": "Optional, compression type of direct download url image."}}, "type": "object", "required": ["filename", "version", "md5sum", "filesize"], "title": "ApplianceImage"}, "ApplianceVersion": {"properties": {"name": {"type": "string", "title": "Name of the version"}, "idlepc": {"anyOf": [{"type": "string", "pattern": "^0x[0-9a-f]{8}"}, {"type": "null"}], "title": "Idlepc"}, "images": {"anyOf": [{"$ref": "#/components/schemas/ApplianceVersionImages"}, {"type": "null"}], "title": "Images used for this version"}}, "type": "object", "required": ["name"], "title": "ApplianceVersion"}, "ApplianceVersionImages": {"properties": {"kernel_image": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Kernel image"}, "initrd": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Initrd disk image"}, "image": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "OS image"}, "bios_image": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Bios image"}, "hda_disk_image": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Hda disk image"}, "hdb_disk_image": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Hdc disk image"}, "hdc_disk_image": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Hdd disk image"}, "hdd_disk_image": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Hdd diskimage"}, "cdrom_image": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "cdrom image"}}, "type": "object", "title": "ApplianceVersionImages"}, "Arch": {"type": "string", "enum": ["aarch64", "alpha", "arm", "cris", "i386", "lm32", "m68k", "microblaze", "microblazeel", "mips", "mips64", "mips64el", "mipsel", "moxie", "or32", "ppc", "ppc64", "ppcemb", "s390x", "sh4", "sh4eb", "sparc", "sparc64", "tricore", "unicore32", "x86_64", "xtensa", "xtensaeb"], "title": "Arch"}, "AutoIdlePC": {"properties": {"platform": {"type": "string", "title": "Platform", "description": "Cisco platform"}, "image": {"type": "string", "title": "Image", "description": "Image path"}, "ram": {"type": "integer", "title": "Ram", "description": "Amount of RAM in MB"}}, "type": "object", "required": ["platform", "image", "ram"], "title": "AutoIdlePC", "description": "Data for auto Idle-PC request.", "example": {"image": "/path/to/c7200_image.bin", "platform": "c7200", "ram": 256}}, "Availability": {"type": "string", "enum": ["free", "with-registration", "free-to-try", "service-contract"], "title": "Availability"}, "Body_load_project_v3_projects_load_post": {"properties": {"path": {"type": "string", "title": "Path"}}, "type": "object", "required": ["path"], "title": "Body_load_project_v3_projects_load_post"}, "Body_login_v3_access_users_login_post": {"properties": {"grant_type": {"anyOf": [{"type": "string", "pattern": "password"}, {"type": "null"}], "title": "Grant Type"}, "username": {"type": "string", "title": "Username"}, "password": {"type": "string", "title": "Password"}, "scope": {"type": "string", "title": "Scope", "default": ""}, "client_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Client Id"}, "client_secret": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Client Secret"}}, "type": "object", "required": ["username", "password"], "title": "Body_login_v3_access_users_login_post"}, "BootPriority": {"type": "string", "enum": ["c", "d", "n", "cn", "cd", "dn", "dc", "nc", "nd"], "title": "BootPriority"}, "Capabilities": {"properties": {"version": {"type": "string", "title": "Version", "description": "Compute version number"}, "node_types": {"items": {"$ref": "#/components/schemas/NodeType"}, "type": "array", "title": "Node Types", "description": "Node types supported by the compute"}, "platform": {"type": "string", "title": "Platform", "description": "Platform where the compute is running (Linux, Windows or macOS)"}, "cpus": {"type": "integer", "title": "Cpus", "description": "Number of CPUs on this compute"}, "memory": {"type": "integer", "title": "Memory", "description": "Amount of memory on this compute"}, "disk_size": {"type": "integer", "title": "Disk Size", "description": "Disk size on this compute"}}, "type": "object", "required": ["version", "node_types", "platform", "cpus", "memory", "disk_size"], "title": "Capabilities", "description": "Capabilities supported by a compute."}, "Category-Input": {"type": "string", "enum": ["router", "switch", "guest", "firewall"], "title": "Category", "description": "Supported categories"}, "Chassis": {"type": "string", "enum": ["1720", "1721", "1750", "1751", "1760", "2610", "2620", "2610XM", "2620XM", "2650XM", "2621", "2611XM", "2621XM", "2651XM", "3620", "3640", "3660"], "title": "Chassis"}, "Compression": {"type": "string", "enum": ["bzip2", "gzip", "lzma", "xz", "rar", "zip", "7z"], "title": "Compression"}, "Compute": {"properties": {"protocol": {"$ref": "#/components/schemas/Protocol"}, "host": {"type": "string", "title": "Host"}, "port": {"type": "integer", "maximum": 65535.0, "exclusiveMinimum": 0.0, "title": "Port"}, "user": {"type": "string", "title": "User"}, "password": {"anyOf": [{"type": "string", "format": "password", "writeOnly": true}, {"type": "null"}], "title": "Password"}, "name": {"type": "string", "title": "Name"}, "created_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Created At"}, "updated_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Updated At"}, "compute_id": {"anyOf": [{"type": "string"}, {"type": "string", "format": "uuid"}], "title": "Compute Id"}, "connected": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Connected", "description": "Whether the controller is connected to the compute or not"}, "cpu_usage_percent": {"anyOf": [{"type": "number", "maximum": 100.0, "minimum": 0.0}, {"type": "null"}], "title": "Cpu Usage Percent", "description": "CPU usage of the compute"}, "memory_usage_percent": {"anyOf": [{"type": "number", "maximum": 100.0, "minimum": 0.0}, {"type": "null"}], "title": "Memory Usage Percent", "description": "Memory usage of the compute"}, "disk_usage_percent": {"anyOf": [{"type": "number", "maximum": 100.0, "minimum": 0.0}, {"type": "null"}], "title": "Disk Usage Percent", "description": "Disk usage of the compute"}, "last_error": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Last Error", "description": "Last error found on the compute"}, "capabilities": {"anyOf": [{"$ref": "#/components/schemas/Capabilities"}, {"type": "null"}]}}, "type": "object", "required": ["protocol", "host", "port", "name", "compute_id"], "title": "Compute", "description": "Data returned for a compute."}, "ComputeCreate": {"properties": {"protocol": {"$ref": "#/components/schemas/Protocol"}, "host": {"type": "string", "title": "Host"}, "port": {"type": "integer", "maximum": 65535.0, "exclusiveMinimum": 0.0, "title": "Port"}, "user": {"type": "string", "title": "User"}, "password": {"anyOf": [{"type": "string", "format": "password", "writeOnly": true}, {"type": "null"}], "title": "Password"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}, "compute_id": {"anyOf": [{"type": "string"}, {"type": "string", "format": "uuid"}], "title": "Compute Id"}}, "type": "object", "required": ["protocol", "host", "port"], "title": "ComputeCreate", "description": "Data to create a compute.", "example": {"host": "127.0.0.1", "name": "My compute", "password": "password", "port": 3080, "user": "user"}}, "ComputeDockerImage": {"properties": {"image": {"type": "string", "title": "Image", "description": "Docker image name"}}, "type": "object", "required": ["image"], "title": "ComputeDockerImage", "description": "Docker image from compute."}, "ComputeUpdate": {"properties": {"protocol": {"anyOf": [{"$ref": "#/components/schemas/Protocol"}, {"type": "null"}]}, "host": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Host"}, "port": {"anyOf": [{"type": "integer", "maximum": 65535.0, "exclusiveMinimum": 0.0}, {"type": "null"}], "title": "Port"}, "user": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "User"}, "password": {"anyOf": [{"type": "string", "format": "password", "writeOnly": true}, {"type": "null"}], "title": "Password"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}}, "type": "object", "title": "ComputeUpdate", "description": "Data to update a compute.", "example": {"host": "10.0.0.1", "port": 8080}}, "ComputeVMwareVM": {"properties": {"vmname": {"type": "string", "title": "Vmname", "description": "VMware VM name"}, "vmx_path": {"type": "string", "title": "Vmx Path", "description": "Path to the vmx file"}}, "type": "object", "required": ["vmname", "vmx_path"], "title": "ComputeVMwareVM", "description": "VMware VM from compute."}, "ComputeVirtualBoxVM": {"properties": {"vmname": {"type": "string", "title": "Vmname", "description": "VirtualBox VM name"}, "ram": {"type": "integer", "title": "Ram", "description": "VirtualBox VM memory"}}, "type": "object", "required": ["vmname", "ram"], "title": "ComputeVirtualBoxVM", "description": "VirtualBox VM from compute."}, "ConsoleType-Input": {"type": "string", "enum": ["vnc", "telnet", "http", "https", "spice", "spice+agent", "none"], "title": "ConsoleType", "description": "Supported console types."}, "ConsoleType1": {"type": "string", "enum": ["telnet", "vnc", "spice", "spice+agent", "none"], "title": "ConsoleType1"}, "Credentials": {"properties": {"username": {"type": "string", "title": "Username"}, "password": {"type": "string", "title": "Password"}}, "type": "object", "required": ["username", "password"], "title": "Credentials"}, "CustomAdapter": {"properties": {"adapter_number": {"type": "integer", "title": "Adapter Number"}, "port_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Port Name"}, "adapter_type": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Adapter Type"}, "mac_address": {"anyOf": [{"type": "string", "pattern": "^([0-9a-fA-F]{2}[:]){5}([0-9a-fA-F]{2})$"}, {"type": "null"}], "title": "Mac Address"}}, "type": "object", "required": ["adapter_number"], "title": "CustomAdapter", "description": "Custom adapter data."}, "DiskInterface": {"type": "string", "enum": ["ide", "sata", "nvme", "scsi", "sd", "mtd", "floppy", "pflash", "virtio", "none"], "title": "DiskInterface"}, "Docker": {"properties": {"adapters": {"type": "integer", "title": "Number of ethernet adapters"}, "image": {"type": "string", "title": "Docker image in the Docker Hub"}, "start_command": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Command executed when the container start. Empty will use the default"}, "environment": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "One KEY=VAR environment by line"}, "console_type": {"anyOf": [{"$ref": "#/components/schemas/gns3server__schemas__controller__appliances__ConsoleType"}, {"type": "null"}], "title": "Type of console connection for the administration of the appliance"}, "console_http_port": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Console Http Port", "description": "Internal port in the container of the HTTP server"}, "console_http_path": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Console Http Path", "description": "Path of the web interface"}, "extra_hosts": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Extra Hosts", "description": "Hosts which will be written to /etc/hosts into container"}, "extra_volumes": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "title": "Extra Volumes", "description": "Additional directories to make persistent that are not included in the images VOLUME directive"}}, "type": "object", "required": ["adapters", "image"], "title": "Docker"}, "Drawing": {"properties": {"drawing_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Drawing Id"}, "project_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Project Id"}, "x": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "X"}, "y": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Y"}, "z": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Z"}, "locked": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Locked"}, "rotation": {"anyOf": [{"type": "integer", "maximum": 360.0, "minimum": -359.0}, {"type": "null"}], "title": "Rotation"}, "svg": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Svg"}}, "type": "object", "title": "Drawing", "description": "Drawing data."}, "Dynamips": {"properties": {"chassis": {"anyOf": [{"$ref": "#/components/schemas/Chassis"}, {"type": "null"}], "title": "Chassis type"}, "platform": {"allOf": [{"$ref": "#/components/schemas/Platform"}], "title": "Platform type"}, "ram": {"type": "integer", "minimum": 1.0, "title": "Amount of ram"}, "nvram": {"type": "integer", "minimum": 1.0, "title": "Amount of nvram"}, "startup_config": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Config loaded at startup"}, "wic0": {"anyOf": [{"$ref": "#/components/schemas/DynamipsWic"}, {"type": "null"}]}, "wic1": {"anyOf": [{"$ref": "#/components/schemas/DynamipsWic"}, {"type": "null"}]}, "wic2": {"anyOf": [{"$ref": "#/components/schemas/DynamipsWic"}, {"type": "null"}]}, "slot0": {"anyOf": [{"$ref": "#/components/schemas/DynamipsSlot"}, {"type": "null"}]}, "slot1": {"anyOf": [{"$ref": "#/components/schemas/DynamipsSlot"}, {"type": "null"}]}, "slot2": {"anyOf": [{"$ref": "#/components/schemas/DynamipsSlot"}, {"type": "null"}]}, "slot3": {"anyOf": [{"$ref": "#/components/schemas/DynamipsSlot"}, {"type": "null"}]}, "slot4": {"anyOf": [{"$ref": "#/components/schemas/DynamipsSlot"}, {"type": "null"}]}, "slot5": {"anyOf": [{"$ref": "#/components/schemas/DynamipsSlot"}, {"type": "null"}]}, "slot6": {"anyOf": [{"$ref": "#/components/schemas/DynamipsSlot"}, {"type": "null"}]}, "midplane": {"anyOf": [{"$ref": "#/components/schemas/Midplane"}, {"type": "null"}]}, "npe": {"anyOf": [{"$ref": "#/components/schemas/Npe"}, {"type": "null"}]}}, "type": "object", "required": ["platform", "ram", "nvram"], "title": "Dynamips"}, "DynamipsSlot": {"type": "string", "enum": ["C7200-IO-2FE", "C7200-IO-FE", "C7200-IO-GE-E", "NM-16ESW", "NM-1E", "NM-1FE-TX", "NM-4E", "NM-4T", "PA-2FE-TX", "PA-4E", "PA-4T+", "PA-8E", "PA-8T", "PA-A1", "PA-FE-TX", "PA-GE", "PA-POS-OC3", "C2600-MB-2FE", "C2600-MB-1E", "C1700-MB-1FE", "C2600-MB-2E", "C2600-MB-1FE", "C1700-MB-WIC1", "GT96100-FE", "Leopard-2FE", ""], "title": "DynamipsSlot"}, "DynamipsWic": {"type": "string", "enum": ["WIC-1ENET", "WIC-1T", "WIC-2T"], "title": "DynamipsWic"}, "Engine": {"type": "string", "enum": ["vmware", "virtualbox", "hyper-v", "none"], "title": "Engine", "description": "\"The engine to use for the GNS3 VM."}, "ErrorMessage": {"properties": {"message": {"type": "string", "title": "Message"}}, "type": "object", "required": ["message"], "title": "ErrorMessage", "description": "Error message."}, "GNS3VM": {"properties": {"enable": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Enable", "description": "Enable/disable the GNS3 VM"}, "vmname": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Vmname", "description": "GNS3 VM name"}, "when_exit": {"anyOf": [{"$ref": "#/components/schemas/WhenExit"}, {"type": "null"}], "description": "Action when the GNS3 VM exits"}, "headless": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Headless", "description": "Start the GNS3 VM GUI or not"}, "engine": {"anyOf": [{"$ref": "#/components/schemas/Engine"}, {"type": "null"}], "description": "The engine to use for the GNS3 VM"}, "allocate_vcpus_ram": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Allocate Vcpus Ram", "description": "Allocate vCPUS and RAM settings"}, "vcpus": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Vcpus", "description": "Number of CPUs to allocate for the GNS3 VM"}, "ram": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Ram", "description": "Amount of memory to allocate for the GNS3 VM"}, "port": {"anyOf": [{"type": "integer", "maximum": 65535.0, "exclusiveMinimum": 0.0}, {"type": "null"}], "title": "Port"}}, "type": "object", "title": "GNS3VM", "description": "GNS3 VM data."}, "HTTPValidationError": {"properties": {"detail": {"items": {"$ref": "#/components/schemas/ValidationError"}, "type": "array", "title": "Detail"}}, "type": "object", "title": "HTTPValidationError"}, "IOULicense": {"properties": {"iourc_content": {"type": "string", "title": "Iourc Content", "description": "Content of iourc file"}, "license_check": {"type": "boolean", "title": "License Check", "description": "Whether the license must be checked or not"}}, "type": "object", "required": ["iourc_content", "license_check"], "title": "IOULicense"}, "Image": {"properties": {"filename": {"type": "string", "title": "Filename", "description": "Image filename"}, "path": {"type": "string", "title": "Path", "description": "Image path"}, "image_type": {"allOf": [{"$ref": "#/components/schemas/ImageType"}], "description": "Image type"}, "image_size": {"type": "integer", "title": "Image Size", "description": "Image size in bytes"}, "checksum": {"type": "string", "title": "Checksum", "description": "Checksum value"}, "checksum_algorithm": {"type": "string", "title": "Checksum Algorithm", "description": "Checksum algorithm"}, "created_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Created At"}, "updated_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Updated At"}}, "type": "object", "required": ["filename", "path", "image_type", "image_size", "checksum", "checksum_algorithm"], "title": "Image"}, "ImageType": {"type": "string", "enum": ["qemu", "ios", "iou"], "title": "ImageType"}, "Iou": {"properties": {"ethernet_adapters": {"type": "integer", "title": "Number of ethernet adapters"}, "serial_adapters": {"type": "integer", "title": "Number of serial adapters"}, "nvram": {"type": "integer", "title": "Host NVRAM"}, "ram": {"type": "integer", "title": "Host RAM"}, "startup_config": {"type": "string", "title": "Config loaded at startup"}}, "type": "object", "required": ["ethernet_adapters", "serial_adapters", "nvram", "ram", "startup_config"], "title": "Iou"}, "Kvm": {"type": "string", "enum": ["require", "allow", "disable"], "title": "Kvm"}, "Label": {"properties": {"text": {"type": "string", "title": "Text"}, "style": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Style", "description": "SVG style attribute. Apply default style if null"}, "x": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "X", "description": "Relative X position of the label. Center it if null"}, "y": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Y", "description": "Relative Y position of the label"}, "rotation": {"anyOf": [{"type": "integer", "maximum": 360.0, "minimum": -359.0}, {"type": "null"}], "title": "Rotation", "description": "Rotation of the label"}}, "type": "object", "required": ["text"], "title": "Label", "description": "Label data."}, "Link": {"properties": {"nodes": {"anyOf": [{"items": {"$ref": "#/components/schemas/LinkNode"}, "type": "array", "maxItems": 2, "minItems": 0}, {"type": "null"}], "title": "Nodes"}, "suspend": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Suspend"}, "link_style": {"anyOf": [{"$ref": "#/components/schemas/LinkStyle"}, {"type": "null"}]}, "filters": {"anyOf": [{"type": "object"}, {"type": "null"}], "title": "Filters"}, "link_id": {"type": "string", "format": "uuid", "title": "Link Id"}, "project_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Project Id"}, "link_type": {"anyOf": [{"$ref": "#/components/schemas/gns3server__schemas__controller__links__LinkType"}, {"type": "null"}]}, "capturing": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Capturing", "description": "Read only property. True if a capture running on the link"}, "capture_file_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Capture File Name", "description": "Read only property. The name of the capture file if a capture is running"}, "capture_file_path": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Capture File Path", "description": "Read only property. The full path of the capture file if a capture is running"}, "capture_compute_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Capture Compute Id", "description": "Read only property. The compute identifier where a capture is running"}}, "type": "object", "required": ["link_id"], "title": "Link"}, "LinkCreate": {"properties": {"nodes": {"items": {"$ref": "#/components/schemas/LinkNode"}, "type": "array", "maxItems": 2, "minItems": 2, "title": "Nodes"}, "suspend": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Suspend"}, "link_style": {"anyOf": [{"$ref": "#/components/schemas/LinkStyle"}, {"type": "null"}]}, "filters": {"anyOf": [{"type": "object"}, {"type": "null"}], "title": "Filters"}, "link_id": {"type": "string", "format": "uuid", "title": "Link Id"}}, "type": "object", "required": ["nodes"], "title": "LinkCreate"}, "LinkNode": {"properties": {"node_id": {"type": "string", "format": "uuid", "title": "Node Id"}, "adapter_number": {"type": "integer", "title": "Adapter Number"}, "port_number": {"type": "integer", "title": "Port Number"}, "label": {"anyOf": [{"$ref": "#/components/schemas/Label"}, {"type": "null"}]}}, "type": "object", "required": ["node_id", "adapter_number", "port_number"], "title": "LinkNode", "description": "Link node data."}, "LinkStyle": {"properties": {"color": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Color"}, "width": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Width"}, "type": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Type"}}, "type": "object", "title": "LinkStyle"}, "LinkUpdate": {"properties": {"nodes": {"anyOf": [{"items": {"$ref": "#/components/schemas/LinkNode"}, "type": "array", "maxItems": 2, "minItems": 0}, {"type": "null"}], "title": "Nodes"}, "suspend": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Suspend"}, "link_style": {"anyOf": [{"$ref": "#/components/schemas/LinkStyle"}, {"type": "null"}]}, "filters": {"anyOf": [{"type": "object"}, {"type": "null"}], "title": "Filters"}}, "type": "object", "title": "LinkUpdate"}, "LoggedInUserUpdate": {"properties": {"password": {"anyOf": [{"type": "string", "maxLength": 100, "minLength": 6, "format": "password", "writeOnly": true}, {"type": "null"}], "title": "Password"}, "email": {"anyOf": [{"type": "string", "format": "email"}, {"type": "null"}], "title": "Email"}, "full_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Full Name"}}, "type": "object", "title": "LoggedInUserUpdate", "description": "Properties to update a logged-in user."}, "Midplane": {"type": "string", "enum": ["std", "vxr"], "title": "Midplane"}, "Node": {"properties": {"compute_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "string"}], "title": "Compute Id"}, "name": {"type": "string", "title": "Name"}, "node_type": {"$ref": "#/components/schemas/NodeType"}, "node_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Node Id"}, "console": {"anyOf": [{"type": "integer", "maximum": 65535.0, "exclusiveMinimum": 0.0}, {"type": "null"}], "title": "Console", "description": "Console TCP port"}, "console_type": {"anyOf": [{"$ref": "#/components/schemas/gns3server__schemas__common__ConsoleType"}, {"type": "null"}]}, "console_auto_start": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Console Auto Start", "description": "Automatically start the console when the node has started", "default": false}, "aux": {"anyOf": [{"type": "integer", "maximum": 65535.0, "exclusiveMinimum": 0.0}, {"type": "null"}], "title": "Aux", "description": "Auxiliary console TCP port"}, "aux_type": {"anyOf": [{"$ref": "#/components/schemas/gns3server__schemas__common__ConsoleType"}, {"type": "null"}]}, "properties": {"anyOf": [{"type": "object"}, {"type": "null"}], "title": "Properties", "description": "Properties specific to an emulator"}, "label": {"anyOf": [{"$ref": "#/components/schemas/Label"}, {"type": "null"}]}, "symbol": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Symbol"}, "x": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "X", "default": 0}, "y": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Y", "default": 0}, "z": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Z", "default": 1}, "locked": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Locked", "description": "Whether the element locked or not", "default": false}, "port_name_format": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Port Name Format", "descript_port_name_formation": "Formatting for port name {0} will be replace by port number"}, "port_segment_size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Port Segment Size", "description": "Size of the port segment"}, "first_port_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "First Port Name", "description": "Name of the first port"}, "custom_adapters": {"anyOf": [{"items": {"$ref": "#/components/schemas/CustomAdapter"}, "type": "array"}, {"type": "null"}], "title": "Custom Adapters"}, "template_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Template Id", "description": "Template UUID from which the node has been created. Read only"}, "project_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Project Id"}, "node_directory": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Node Directory", "description": "Working directory of the node. Read only"}, "status": {"anyOf": [{"$ref": "#/components/schemas/NodeStatus"}, {"type": "null"}], "description": "Node status. Read only"}, "command_line": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Command Line", "description": "Command line use to start the node. Read only"}, "width": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Width", "description": "Width of the node. Read only"}, "height": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Height", "description": "Height of the node. Read only"}, "ports": {"anyOf": [{"items": {"$ref": "#/components/schemas/NodePort"}, "type": "array"}, {"type": "null"}], "title": "Ports", "description": "List of node ports. Read only"}, "console_host": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Console Host", "description": "Console host. Warning if the host is 0.0.0.0 or :: (listen on all interfaces) you need to use the same address you use to connect to the controller"}}, "type": "object", "required": ["compute_id", "name", "node_type"], "title": "Node"}, "NodeCreate": {"properties": {"compute_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "string"}], "title": "Compute Id"}, "name": {"type": "string", "title": "Name"}, "node_type": {"$ref": "#/components/schemas/NodeType"}, "node_id": {"type": "string", "format": "uuid", "title": "Node Id"}, "console": {"anyOf": [{"type": "integer", "maximum": 65535.0, "exclusiveMinimum": 0.0}, {"type": "null"}], "title": "Console", "description": "Console TCP port"}, "console_type": {"anyOf": [{"$ref": "#/components/schemas/ConsoleType-Input"}, {"type": "null"}]}, "console_auto_start": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Console Auto Start", "description": "Automatically start the console when the node has started", "default": false}, "aux": {"anyOf": [{"type": "integer", "maximum": 65535.0, "exclusiveMinimum": 0.0}, {"type": "null"}], "title": "Aux", "description": "Auxiliary console TCP port"}, "aux_type": {"anyOf": [{"$ref": "#/components/schemas/ConsoleType-Input"}, {"type": "null"}]}, "properties": {"anyOf": [{"type": "object"}, {"type": "null"}], "title": "Properties", "description": "Properties specific to an emulator"}, "label": {"anyOf": [{"$ref": "#/components/schemas/Label"}, {"type": "null"}]}, "symbol": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Symbol"}, "x": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "X", "default": 0}, "y": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Y", "default": 0}, "z": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Z", "default": 1}, "locked": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Locked", "description": "Whether the element locked or not", "default": false}, "port_name_format": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Port Name Format", "descript_port_name_formation": "Formatting for port name {0} will be replace by port number"}, "port_segment_size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Port Segment Size", "description": "Size of the port segment"}, "first_port_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "First Port Name", "description": "Name of the first port"}, "custom_adapters": {"anyOf": [{"items": {"$ref": "#/components/schemas/CustomAdapter"}, "type": "array"}, {"type": "null"}], "title": "Custom Adapters"}}, "type": "object", "required": ["compute_id", "name", "node_type"], "title": "NodeCreate"}, "NodeDuplicate": {"properties": {"x": {"type": "integer", "title": "X"}, "y": {"type": "integer", "title": "Y"}, "z": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Z", "default": 0}}, "type": "object", "required": ["x", "y"], "title": "NodeDuplicate", "description": "Data to duplicate a node."}, "NodePort": {"properties": {"name": {"type": "string", "title": "Name", "description": "Port name"}, "short_name": {"type": "string", "title": "Short Name", "description": "Port name"}, "adapter_number": {"type": "integer", "title": "Adapter Number", "description": "Adapter slot"}, "adapter_type": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Adapter Type", "description": "Adapter type"}, "port_number": {"type": "integer", "title": "Port Number", "description": "Port slot"}, "link_type": {"allOf": [{"$ref": "#/components/schemas/gns3server__schemas__controller__nodes__LinkType"}], "description": "Type of link"}, "data_link_types": {"type": "object", "title": "Data Link Types", "description": "Available PCAP types for capture"}, "mac_address": {"anyOf": [{"type": "string", "pattern": "^([0-9a-fA-F]{2}[:]){5}([0-9a-fA-F]{2})$"}, {"type": "null"}], "title": "Mac Address"}}, "type": "object", "required": ["name", "short_name", "adapter_number", "port_number", "link_type", "data_link_types"], "title": "NodePort", "description": "Node port data."}, "NodeStatus": {"type": "string", "enum": ["stopped", "started", "suspended"], "title": "NodeStatus", "description": "Supported node statuses."}, "NodeType": {"type": "string", "enum": ["cloud", "nat", "ethernet_hub", "ethernet_switch", "frame_relay_switch", "atm_switch", "docker", "dynamips", "vpcs", "virtualbox", "vmware", "iou", "qemu"], "title": "NodeType", "description": "Supported node types."}, "NodeUpdate": {"properties": {"compute_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "string"}, {"type": "null"}], "title": "Compute Id"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}, "node_type": {"anyOf": [{"$ref": "#/components/schemas/NodeType"}, {"type": "null"}]}, "node_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Node Id"}, "console": {"anyOf": [{"type": "integer", "maximum": 65535.0, "exclusiveMinimum": 0.0}, {"type": "null"}], "title": "Console", "description": "Console TCP port"}, "console_type": {"anyOf": [{"$ref": "#/components/schemas/ConsoleType-Input"}, {"type": "null"}]}, "console_auto_start": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Console Auto Start", "description": "Automatically start the console when the node has started", "default": false}, "aux": {"anyOf": [{"type": "integer", "maximum": 65535.0, "exclusiveMinimum": 0.0}, {"type": "null"}], "title": "Aux", "description": "Auxiliary console TCP port"}, "aux_type": {"anyOf": [{"$ref": "#/components/schemas/ConsoleType-Input"}, {"type": "null"}]}, "properties": {"anyOf": [{"type": "object"}, {"type": "null"}], "title": "Properties", "description": "Properties specific to an emulator"}, "label": {"anyOf": [{"$ref": "#/components/schemas/Label"}, {"type": "null"}]}, "symbol": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Symbol"}, "x": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "X", "default": 0}, "y": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Y", "default": 0}, "z": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Z", "default": 1}, "locked": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Locked", "description": "Whether the element locked or not", "default": false}, "port_name_format": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Port Name Format", "descript_port_name_formation": "Formatting for port name {0} will be replace by port number"}, "port_segment_size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Port Segment Size", "description": "Size of the port segment"}, "first_port_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "First Port Name", "description": "Name of the first port"}, "custom_adapters": {"anyOf": [{"items": {"$ref": "#/components/schemas/CustomAdapter"}, "type": "array"}, {"type": "null"}], "title": "Custom Adapters"}}, "type": "object", "title": "NodeUpdate", "description": "Data to update a node."}, "Npe": {"type": "string", "enum": ["npe-100", "npe-150", "npe-175", "npe-200", "npe-225", "npe-300", "npe-400", "npe-g2"], "title": "Npe"}, "Platform": {"type": "string", "enum": ["c1700", "c2600", "c2691", "c3725", "c3745", "c3600", "c7200"], "title": "Platform"}, "Privilege": {"properties": {"name": {"type": "string", "title": "Name"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Description"}, "created_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Created At"}, "updated_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Updated At"}, "privilege_id": {"type": "string", "format": "uuid", "title": "Privilege Id"}}, "type": "object", "required": ["name", "privilege_id"], "title": "Privilege"}, "ProcessPriority": {"type": "string", "enum": ["realtime", "very high", "high", "normal", "low", "very low", "null"], "title": "ProcessPriority"}, "Project": {"properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}, "project_id": {"type": "string", "format": "uuid", "title": "Project Id"}, "path": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Path", "description": "Project directory"}, "auto_close": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Auto Close", "description": "Close project when last client leaves"}, "auto_open": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Auto Open", "description": "Project opens when GNS3 starts"}, "auto_start": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Auto Start", "description": "Project starts when opened"}, "scene_height": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Scene Height", "description": "Height of the drawing area"}, "scene_width": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Scene Width", "description": "Width of the drawing area"}, "zoom": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Zoom", "description": "Zoom of the drawing area"}, "show_layers": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Layers", "description": "Show layers on the drawing area"}, "snap_to_grid": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Snap To Grid", "description": "Snap to grid on the drawing area"}, "show_grid": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Grid", "description": "Show the grid on the drawing area"}, "grid_size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Grid Size", "description": "Grid size for the drawing area for nodes"}, "drawing_grid_size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Drawing Grid Size", "description": "Grid size for the drawing area for drawings"}, "show_interface_labels": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Interface Labels", "description": "Show interface labels on the drawing area"}, "supplier": {"anyOf": [{"$ref": "#/components/schemas/Supplier"}, {"type": "null"}], "description": "Supplier of the project"}, "variables": {"anyOf": [{"items": {"$ref": "#/components/schemas/Variable"}, "type": "array"}, {"type": "null"}], "title": "Variables", "description": "Variables required to run the project"}, "status": {"anyOf": [{"$ref": "#/components/schemas/ProjectStatus"}, {"type": "null"}]}, "filename": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Filename"}}, "type": "object", "required": ["project_id"], "title": "Project"}, "ProjectCompression": {"type": "string", "enum": ["none", "zip", "bzip2", "lzma", "zstd"], "title": "ProjectCompression", "description": "Supported project compression."}, "ProjectCreate": {"properties": {"name": {"type": "string", "title": "Name"}, "project_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Project Id"}, "path": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Path", "description": "Project directory"}, "auto_close": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Auto Close", "description": "Close project when last client leaves"}, "auto_open": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Auto Open", "description": "Project opens when GNS3 starts"}, "auto_start": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Auto Start", "description": "Project starts when opened"}, "scene_height": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Scene Height", "description": "Height of the drawing area"}, "scene_width": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Scene Width", "description": "Width of the drawing area"}, "zoom": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Zoom", "description": "Zoom of the drawing area"}, "show_layers": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Layers", "description": "Show layers on the drawing area"}, "snap_to_grid": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Snap To Grid", "description": "Snap to grid on the drawing area"}, "show_grid": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Grid", "description": "Show the grid on the drawing area"}, "grid_size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Grid Size", "description": "Grid size for the drawing area for nodes"}, "drawing_grid_size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Drawing Grid Size", "description": "Grid size for the drawing area for drawings"}, "show_interface_labels": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Interface Labels", "description": "Show interface labels on the drawing area"}, "supplier": {"anyOf": [{"$ref": "#/components/schemas/Supplier"}, {"type": "null"}], "description": "Supplier of the project"}, "variables": {"anyOf": [{"items": {"$ref": "#/components/schemas/Variable"}, "type": "array"}, {"type": "null"}], "title": "Variables", "description": "Variables required to run the project"}}, "type": "object", "required": ["name"], "title": "ProjectCreate", "description": "Properties for project creation."}, "ProjectDuplicate": {"properties": {"name": {"type": "string", "title": "Name"}, "project_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Project Id"}, "path": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Path", "description": "Project directory"}, "auto_close": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Auto Close", "description": "Close project when last client leaves"}, "auto_open": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Auto Open", "description": "Project opens when GNS3 starts"}, "auto_start": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Auto Start", "description": "Project starts when opened"}, "scene_height": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Scene Height", "description": "Height of the drawing area"}, "scene_width": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Scene Width", "description": "Width of the drawing area"}, "zoom": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Zoom", "description": "Zoom of the drawing area"}, "show_layers": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Layers", "description": "Show layers on the drawing area"}, "snap_to_grid": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Snap To Grid", "description": "Snap to grid on the drawing area"}, "show_grid": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Grid", "description": "Show the grid on the drawing area"}, "grid_size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Grid Size", "description": "Grid size for the drawing area for nodes"}, "drawing_grid_size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Drawing Grid Size", "description": "Grid size for the drawing area for drawings"}, "show_interface_labels": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Interface Labels", "description": "Show interface labels on the drawing area"}, "supplier": {"anyOf": [{"$ref": "#/components/schemas/Supplier"}, {"type": "null"}], "description": "Supplier of the project"}, "variables": {"anyOf": [{"items": {"$ref": "#/components/schemas/Variable"}, "type": "array"}, {"type": "null"}], "title": "Variables", "description": "Variables required to run the project"}, "reset_mac_addresses": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Reset Mac Addresses", "description": "Reset MAC addresses for this project", "default": false}}, "type": "object", "required": ["name"], "title": "ProjectDuplicate", "description": "Properties for project duplication."}, "ProjectStatus": {"type": "string", "enum": ["opened", "closed"], "title": "ProjectStatus", "description": "Supported project statuses."}, "ProjectUpdate": {"properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}, "project_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Project Id"}, "path": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Path", "description": "Project directory"}, "auto_close": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Auto Close", "description": "Close project when last client leaves"}, "auto_open": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Auto Open", "description": "Project opens when GNS3 starts"}, "auto_start": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Auto Start", "description": "Project starts when opened"}, "scene_height": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Scene Height", "description": "Height of the drawing area"}, "scene_width": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Scene Width", "description": "Width of the drawing area"}, "zoom": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Zoom", "description": "Zoom of the drawing area"}, "show_layers": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Layers", "description": "Show layers on the drawing area"}, "snap_to_grid": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Snap To Grid", "description": "Snap to grid on the drawing area"}, "show_grid": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Grid", "description": "Show the grid on the drawing area"}, "grid_size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Grid Size", "description": "Grid size for the drawing area for nodes"}, "drawing_grid_size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Drawing Grid Size", "description": "Grid size for the drawing area for drawings"}, "show_interface_labels": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Interface Labels", "description": "Show interface labels on the drawing area"}, "supplier": {"anyOf": [{"$ref": "#/components/schemas/Supplier"}, {"type": "null"}], "description": "Supplier of the project"}, "variables": {"anyOf": [{"items": {"$ref": "#/components/schemas/Variable"}, "type": "array"}, {"type": "null"}], "title": "Variables", "description": "Variables required to run the project"}}, "type": "object", "title": "ProjectUpdate", "description": "Properties for project update."}, "Protocol": {"type": "string", "enum": ["http", "https"], "title": "Protocol", "description": "Protocol supported to communicate with a compute."}, "Qemu": {"properties": {"adapter_type": {"allOf": [{"$ref": "#/components/schemas/AdapterType"}], "title": "Type of network adapter"}, "adapters": {"type": "integer", "title": "Number of adapters"}, "ram": {"type": "integer", "title": "Ram allocated to the appliance (MB)"}, "cpus": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Number of Virtual CPU"}, "hda_disk_interface": {"anyOf": [{"$ref": "#/components/schemas/DiskInterface"}, {"type": "null"}], "title": "Disk interface for the installed hda_disk_image"}, "hdb_disk_interface": {"anyOf": [{"$ref": "#/components/schemas/DiskInterface"}, {"type": "null"}], "title": "Disk interface for the installed hdb_disk_image"}, "hdc_disk_interface": {"anyOf": [{"$ref": "#/components/schemas/DiskInterface"}, {"type": "null"}], "title": "Disk interface for the installed hdc_disk_image"}, "hdd_disk_interface": {"anyOf": [{"$ref": "#/components/schemas/DiskInterface"}, {"type": "null"}], "title": "Disk interface for the installed hdd_disk_image"}, "arch": {"allOf": [{"$ref": "#/components/schemas/Arch"}], "title": "Architecture emulated"}, "console_type": {"allOf": [{"$ref": "#/components/schemas/ConsoleType1"}], "title": "Type of console connection for the administration of the appliance"}, "boot_priority": {"anyOf": [{"$ref": "#/components/schemas/BootPriority"}, {"type": "null"}], "title": "Disk boot priority. Refer to -boot option in qemu manual for more details."}, "kernel_command_line": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Command line parameters send to the kernel"}, "kvm": {"allOf": [{"$ref": "#/components/schemas/Kvm"}], "title": "KVM requirements"}, "options": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Optional additional qemu command line options"}, "cpu_throttling": {"anyOf": [{"type": "number", "maximum": 100.0, "minimum": 0.0}, {"type": "null"}], "title": "Throttle the CPU"}, "process_priority": {"anyOf": [{"$ref": "#/components/schemas/ProcessPriority"}, {"type": "null"}], "title": "Process priority for QEMU"}}, "type": "object", "required": ["adapter_type", "adapters", "ram", "arch", "console_type", "kvm"], "title": "Qemu"}, "QemuDiskImageAdapterType": {"type": "string", "enum": ["ide", "lsilogic", "buslogic", "legacyESX"], "title": "QemuDiskImageAdapterType", "description": "Supported Qemu disk image on/off options."}, "QemuDiskImageCreate": {"properties": {"format": {"allOf": [{"$ref": "#/components/schemas/QemuDiskImageFormat"}], "description": "Image format type"}, "size": {"type": "integer", "title": "Size", "description": "Image size in Megabytes"}, "preallocation": {"anyOf": [{"$ref": "#/components/schemas/QemuDiskImagePreallocation"}, {"type": "null"}]}, "cluster_size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Cluster Size"}, "refcount_bits": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Refcount Bits"}, "lazy_refcounts": {"anyOf": [{"$ref": "#/components/schemas/QemuDiskImageOnOff"}, {"type": "null"}]}, "subformat": {"anyOf": [{"$ref": "#/components/schemas/QemuDiskImageSubformat"}, {"type": "null"}]}, "static": {"anyOf": [{"$ref": "#/components/schemas/QemuDiskImageOnOff"}, {"type": "null"}]}, "zeroed_grain": {"anyOf": [{"$ref": "#/components/schemas/QemuDiskImageOnOff"}, {"type": "null"}]}, "adapter_type": {"anyOf": [{"$ref": "#/components/schemas/QemuDiskImageAdapterType"}, {"type": "null"}]}}, "type": "object", "required": ["format", "size"], "title": "QemuDiskImageCreate"}, "QemuDiskImageFormat": {"type": "string", "enum": ["qcow2", "qcow", "vpc", "vdi", "vdmk", "raw"], "title": "QemuDiskImageFormat", "description": "Supported Qemu disk image formats."}, "QemuDiskImageOnOff": {"type": "string", "enum": ["on", "off"], "title": "QemuDiskImageOnOff", "description": "Supported Qemu image on/off options."}, "QemuDiskImagePreallocation": {"type": "string", "enum": ["off", "metadata", "falloc", "full"], "title": "QemuDiskImagePreallocation", "description": "Supported Qemu disk image pre-allocation options."}, "QemuDiskImageSubformat": {"type": "string", "enum": ["dynamic", "fixed", "streamOptimized", "twoGbMaxExtentSparse", "twoGbMaxExtentFlat", "monolithicSparse", "monolithicFlat"], "title": "QemuDiskImageSubformat", "description": "Supported Qemu disk image sub-format options."}, "QemuDiskImageUpdate": {"properties": {"format": {"anyOf": [{"$ref": "#/components/schemas/QemuDiskImageFormat"}, {"type": "null"}], "description": "Image format type"}, "size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Size", "description": "Image size in Megabytes"}, "preallocation": {"anyOf": [{"$ref": "#/components/schemas/QemuDiskImagePreallocation"}, {"type": "null"}]}, "cluster_size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Cluster Size"}, "refcount_bits": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Refcount Bits"}, "lazy_refcounts": {"anyOf": [{"$ref": "#/components/schemas/QemuDiskImageOnOff"}, {"type": "null"}]}, "subformat": {"anyOf": [{"$ref": "#/components/schemas/QemuDiskImageSubformat"}, {"type": "null"}]}, "static": {"anyOf": [{"$ref": "#/components/schemas/QemuDiskImageOnOff"}, {"type": "null"}]}, "zeroed_grain": {"anyOf": [{"$ref": "#/components/schemas/QemuDiskImageOnOff"}, {"type": "null"}]}, "adapter_type": {"anyOf": [{"$ref": "#/components/schemas/QemuDiskImageAdapterType"}, {"type": "null"}]}, "extend": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Extend", "description": "Number of Megabytes to extend the image"}}, "type": "object", "title": "QemuDiskImageUpdate"}, "RegistryVersion": {"type": "integer", "enum": [1, 2, 3, 4, 5, 6], "title": "RegistryVersion"}, "Resource": {"properties": {"resource_id": {"type": "string", "format": "uuid", "title": "Resource Id"}, "resource_type": {"allOf": [{"$ref": "#/components/schemas/ResourceType"}], "description": "Type of the resource"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}, "created_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Created At"}, "updated_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Updated At"}}, "type": "object", "required": ["resource_id", "resource_type"], "title": "Resource"}, "ResourcePool": {"properties": {"name": {"type": "string", "title": "Name"}, "created_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Created At"}, "updated_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Updated At"}, "resource_pool_id": {"type": "string", "format": "uuid", "title": "Resource Pool Id"}}, "type": "object", "required": ["name", "resource_pool_id"], "title": "ResourcePool"}, "ResourcePoolCreate": {"properties": {"name": {"type": "string", "title": "Name"}}, "type": "object", "required": ["name"], "title": "ResourcePoolCreate", "description": "Properties to create a resource pool."}, "ResourcePoolUpdate": {"properties": {"name": {"type": "string", "title": "Name"}}, "type": "object", "required": ["name"], "title": "ResourcePoolUpdate", "description": "Properties to update a resource pool."}, "ResourceType": {"type": "string", "const": "project", "title": "ResourceType"}, "Role": {"properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Description"}, "created_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Created At"}, "updated_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Updated At"}, "role_id": {"type": "string", "format": "uuid", "title": "Role Id"}, "is_builtin": {"type": "boolean", "title": "Is Builtin"}, "privileges": {"items": {"$ref": "#/components/schemas/Privilege"}, "type": "array", "title": "Privileges"}}, "type": "object", "required": ["role_id", "is_builtin", "privileges"], "title": "Role"}, "RoleCreate": {"properties": {"name": {"type": "string", "title": "Name"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Description"}}, "type": "object", "required": ["name"], "title": "RoleCreate", "description": "Properties to create a role."}, "RoleUpdate": {"properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Description"}}, "type": "object", "title": "RoleUpdate", "description": "Properties to update a role."}, "Snapshot": {"properties": {"name": {"type": "string", "title": "Name"}, "snapshot_id": {"type": "string", "format": "uuid", "title": "Snapshot Id"}, "project_id": {"type": "string", "format": "uuid", "title": "Project Id"}, "created_at": {"type": "integer", "title": "Created At", "description": "Date of the snapshot (UTC timestamp)"}}, "type": "object", "required": ["name", "snapshot_id", "project_id", "created_at"], "title": "Snapshot"}, "SnapshotCreate": {"properties": {"name": {"type": "string", "title": "Name"}}, "type": "object", "required": ["name"], "title": "SnapshotCreate", "description": "Properties for snapshot creation."}, "Status": {"type": "string", "enum": ["stable", "experimental", "broken"], "title": "Status"}, "Supplier": {"properties": {"logo": {"type": "string", "title": "Logo", "description": "Path to the project supplier logo"}, "url": {"anyOf": [{"type": "string", "maxLength": 2083, "minLength": 1, "format": "uri"}, {"type": "null"}], "title": "Url", "description": "URL to the project supplier site"}}, "type": "object", "required": ["logo"], "title": "Supplier"}, "Template": {"properties": {"template_id": {"type": "string", "format": "uuid", "title": "Template Id"}, "name": {"type": "string", "title": "Name"}, "version": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Version"}, "category": {"$ref": "#/components/schemas/gns3server__schemas__controller__templates__Category"}, "default_name_format": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Default Name Format"}, "symbol": {"type": "string", "title": "Symbol"}, "builtin": {"type": "boolean", "title": "Builtin"}, "template_type": {"$ref": "#/components/schemas/NodeType"}, "compute_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Compute Id"}, "usage": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Usage", "default": ""}, "created_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Created At"}, "updated_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Updated At"}}, "additionalProperties": true, "type": "object", "required": ["template_id", "name", "category", "symbol", "builtin", "template_type"], "title": "Template"}, "TemplateCreate": {"properties": {"template_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Template Id"}, "name": {"type": "string", "title": "Name"}, "version": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Version"}, "category": {"anyOf": [{"$ref": "#/components/schemas/Category-Input"}, {"type": "null"}]}, "default_name_format": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Default Name Format"}, "symbol": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Symbol"}, "builtin": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Builtin"}, "template_type": {"$ref": "#/components/schemas/NodeType"}, "compute_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Compute Id"}, "usage": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Usage", "default": ""}}, "additionalProperties": true, "type": "object", "required": ["name", "template_type"], "title": "TemplateCreate", "description": "Properties to create a template."}, "TemplateUpdate": {"properties": {"template_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Template Id"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}, "version": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Version"}, "category": {"anyOf": [{"$ref": "#/components/schemas/Category-Input"}, {"type": "null"}]}, "default_name_format": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Default Name Format"}, "symbol": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Symbol"}, "builtin": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Builtin"}, "template_type": {"anyOf": [{"$ref": "#/components/schemas/NodeType"}, {"type": "null"}]}, "compute_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Compute Id"}, "usage": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Usage", "default": ""}}, "additionalProperties": true, "type": "object", "title": "TemplateUpdate"}, "TemplateUsage": {"properties": {"x": {"type": "integer", "title": "X"}, "y": {"type": "integer", "title": "Y"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name", "description": "Use this name to create a new node"}, "compute_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Compute Id", "description": "Used if the template doesn't have a default compute"}}, "type": "object", "required": ["x", "y"], "title": "TemplateUsage"}, "Token": {"properties": {"access_token": {"type": "string", "title": "Access Token"}, "token_type": {"type": "string", "title": "Token Type"}}, "type": "object", "required": ["access_token", "token_type"], "title": "Token"}, "User": {"properties": {"username": {"anyOf": [{"type": "string", "minLength": 3, "pattern": "[a-zA-Z0-9_-]+$"}, {"type": "null"}], "title": "Username"}, "is_active": {"type": "boolean", "title": "Is Active", "default": true}, "email": {"anyOf": [{"type": "string", "format": "email"}, {"type": "null"}], "title": "Email"}, "full_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Full Name"}, "created_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Created At"}, "updated_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Updated At"}, "user_id": {"type": "string", "format": "uuid", "title": "User Id"}, "last_login": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Last Login"}, "is_superadmin": {"type": "boolean", "title": "Is Superadmin", "default": false}}, "type": "object", "required": ["user_id"], "title": "User"}, "UserCreate": {"properties": {"username": {"type": "string", "minLength": 3, "pattern": "[a-zA-Z0-9_-]+$", "title": "Username"}, "is_active": {"type": "boolean", "title": "Is Active", "default": true}, "email": {"anyOf": [{"type": "string", "format": "email"}, {"type": "null"}], "title": "Email"}, "full_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Full Name"}, "password": {"type": "string", "maxLength": 100, "minLength": 6, "format": "password", "title": "Password", "writeOnly": true}}, "type": "object", "required": ["username", "password"], "title": "UserCreate", "description": "Properties to create a user."}, "UserGroup": {"properties": {"name": {"anyOf": [{"type": "string", "minLength": 3, "pattern": "[a-zA-Z0-9_-]+$"}, {"type": "null"}], "title": "Name"}, "created_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Created At"}, "updated_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Updated At"}, "user_group_id": {"type": "string", "format": "uuid", "title": "User Group Id"}, "is_builtin": {"type": "boolean", "title": "Is Builtin"}}, "type": "object", "required": ["user_group_id", "is_builtin"], "title": "UserGroup"}, "UserGroupCreate": {"properties": {"name": {"anyOf": [{"type": "string", "minLength": 3, "pattern": "[a-zA-Z0-9_-]+$"}, {"type": "null"}], "title": "Name"}}, "type": "object", "required": ["name"], "title": "UserGroupCreate", "description": "Properties to create a user group."}, "UserGroupUpdate": {"properties": {"name": {"anyOf": [{"type": "string", "minLength": 3, "pattern": "[a-zA-Z0-9_-]+$"}, {"type": "null"}], "title": "Name"}}, "type": "object", "title": "UserGroupUpdate", "description": "Properties to update a user group."}, "UserUpdate": {"properties": {"username": {"anyOf": [{"type": "string", "minLength": 3, "pattern": "[a-zA-Z0-9_-]+$"}, {"type": "null"}], "title": "Username"}, "is_active": {"type": "boolean", "title": "Is Active", "default": true}, "email": {"anyOf": [{"type": "string", "format": "email"}, {"type": "null"}], "title": "Email"}, "full_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Full Name"}, "password": {"anyOf": [{"type": "string", "maxLength": 100, "minLength": 6, "format": "password", "writeOnly": true}, {"type": "null"}], "title": "Password"}}, "type": "object", "title": "UserUpdate", "description": "Properties to update a user."}, "ValidationError": {"properties": {"loc": {"items": {"anyOf": [{"type": "string"}, {"type": "integer"}]}, "type": "array", "title": "Location"}, "msg": {"type": "string", "title": "Message"}, "type": {"type": "string", "title": "Error Type"}}, "type": "object", "required": ["loc", "msg", "type"], "title": "ValidationError"}, "Variable": {"properties": {"name": {"type": "string", "title": "Name", "description": "Variable name"}, "value": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Value", "description": "Variable value"}}, "type": "object", "required": ["name"], "title": "Variable"}, "Version": {"properties": {"controller_host": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Controller Host", "description": "Controller hostname or IP address"}, "version": {"type": "string", "title": "Version", "description": "Version number"}, "local": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Local", "description": "Whether this is a local server or not"}}, "type": "object", "required": ["version"], "title": "Version"}, "WhenExit": {"type": "string", "enum": ["stop", "suspend", "keep"], "title": "WhenExit", "description": "What to do with the VM when GNS3 VM exits."}, "gns3server__schemas__common__ConsoleType": {"type": "string", "enum": ["vnc", "telnet", "http", "https", "spice", "spice+agent", "none"], "title": "ConsoleType", "description": "Supported console types."}, "gns3server__schemas__controller__appliances__Category": {"type": "string", "enum": ["router", "multilayer_switch", "switch", "firewall", "guest"], "title": "Category"}, "gns3server__schemas__controller__appliances__ConsoleType": {"type": "string", "enum": ["telnet", "vnc", "http", "https", "none"], "title": "ConsoleType"}, "gns3server__schemas__controller__links__LinkType": {"type": "string", "enum": ["ethernet", "serial"], "title": "LinkType", "description": "Link type."}, "gns3server__schemas__controller__nodes__LinkType": {"type": "string", "enum": ["ethernet", "serial"], "title": "LinkType", "description": "Supported link types."}, "gns3server__schemas__controller__templates__Category": {"type": "string", "enum": ["router", "switch", "guest", "firewall"], "title": "Category", "description": "Supported categories"}}, "securitySchemes": {"OAuth2PasswordBearer": {"type": "oauth2", "flows": {"password": {"scopes": {}, "tokenUrl": "/v3/access/users/login"}}}}}} \ No newline at end of file +{"openapi": "3.1.0", "info": {"title": "GNS3 controller API", "description": "This page describes the public controller API for GNS3", "version": "v3"}, "paths": {"/": {"get": {"tags": ["Index"], "summary": "Root", "operationId": "root__get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}}}}, "/debug": {"get": {"tags": ["Index"], "summary": "Debug", "operationId": "debug_debug_get", "responses": {"200": {"description": "Successful Response", "content": {"text/html": {"schema": {"type": "string"}}}}}, "deprecated": true}}, "/static/web-ui/{file_path}": {"get": {"tags": ["Index"], "summary": "Web Ui", "description": "Web user interface", "operationId": "web_ui_static_web_ui__file_path__get", "parameters": [{"name": "file_path", "in": "path", "required": true, "schema": {"type": "string", "title": "File Path"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/version": {"get": {"tags": ["Controller"], "summary": "Get Version", "description": "Return the server version number.", "operationId": "get_version_v3_version_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Version"}}}}}}, "post": {"tags": ["Controller"], "summary": "Check Version", "description": "Check if version is the same as the server.", "operationId": "check_version_v3_version_post", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/Version"}}}, "required": true}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Version"}}}}, "409": {"description": "Invalid version", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/reload": {"post": {"tags": ["Controller"], "summary": "Reload", "description": "Reload the controller", "operationId": "reload_v3_reload_post", "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/shutdown": {"post": {"tags": ["Controller"], "summary": "Shutdown", "description": "Shutdown the server", "operationId": "shutdown_v3_shutdown_post", "responses": {"204": {"description": "Successful Response"}, "403": {"description": "Server shutdown not allowed", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/iou_license": {"get": {"tags": ["Controller"], "summary": "Get Iou License", "description": "Return the IOU license settings", "operationId": "get_iou_license_v3_iou_license_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IOULicense"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}, "put": {"tags": ["Controller"], "summary": "Update Iou License", "description": "Update the IOU license settings.", "operationId": "update_iou_license_v3_iou_license_put", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/IOULicense"}}}, "required": true}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IOULicense"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/statistics": {"get": {"tags": ["Controller"], "summary": "Statistics", "description": "Return server statistics.", "operationId": "statistics_v3_statistics_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"type": "object"}, "type": "array", "title": "Response Statistics V3 Statistics Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/notifications": {"get": {"tags": ["Controller"], "summary": "Controller Http Notifications", "description": "Receive controller notifications about the controller from HTTP stream.", "operationId": "controller_http_notifications_v3_notifications_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/access/users/login": {"post": {"tags": ["Users"], "summary": "Login", "description": "Default user login method using forms (x-www-form-urlencoded).\nExample: curl http://host:port/v3/users/login -H \"Content-Type: application/x-www-form-urlencoded\" -d \"username=admin&password=admin\"", "operationId": "login_v3_access_users_login_post", "requestBody": {"content": {"application/x-www-form-urlencoded": {"schema": {"$ref": "#/components/schemas/Body_login_v3_access_users_login_post"}}}, "required": true}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Token"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/access/users/authenticate": {"post": {"tags": ["Users"], "summary": "Authenticate", "description": "Alternative authentication method using json.\nExample: curl http://host:port/v3/users/authenticate -d '{\"username\": \"admin\", \"password\": \"admin\"}' -H \"Content-Type: application/json\"", "operationId": "authenticate_v3_access_users_authenticate_post", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/Credentials"}}}, "required": true}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Token"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/access/users/me": {"get": {"tags": ["Users"], "summary": "Get Logged In User", "description": "Get the current active user.", "operationId": "get_logged_in_user_v3_access_users_me_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/User"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}, "put": {"tags": ["Users"], "summary": "Update Logged In User", "description": "Update the current active user.", "operationId": "update_logged_in_user_v3_access_users_me_put", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/LoggedInUserUpdate"}}}, "required": true}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/User"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/access/users": {"get": {"tags": ["Users"], "summary": "Get Users", "description": "Get all users.\n\nRequired privilege: User.Audit", "operationId": "get_users_v3_access_users_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/User"}, "type": "array", "title": "Response Get Users V3 Access Users Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}, "post": {"tags": ["Users"], "summary": "Create User", "description": "Create a new user.\n\nRequired privilege: User.Allocate", "operationId": "create_user_v3_access_users_post", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserCreate"}}}, "required": true}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/User"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/access/users/{user_id}": {"get": {"tags": ["Users"], "summary": "Get User", "description": "Get a user.\n\nRequired privilege: User.Audit", "operationId": "get_user_v3_access_users__user_id__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "user_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "User Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/User"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"tags": ["Users"], "summary": "Update User", "description": "Update a user.\n\nRequired privilege: User.Modify", "operationId": "update_user_v3_access_users__user_id__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "user_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "User Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserUpdate"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/User"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["Users"], "summary": "Delete User", "description": "Delete a user.\n\nRequired privilege: User.Allocate", "operationId": "delete_user_v3_access_users__user_id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "user_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "User Id"}}], "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/access/users/{user_id}/groups": {"get": {"tags": ["Users"], "summary": "Get User Memberships", "description": "Get user memberships.\n\nRequired privilege: Group.Audit", "operationId": "get_user_memberships_v3_access_users__user_id__groups_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "user_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "User Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/UserGroup"}, "title": "Response Get User Memberships V3 Access Users User Id Groups Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/access/groups": {"get": {"tags": ["Users groups"], "summary": "Get User Groups", "description": "Get all user groups.\n\nRequired privilege: Group.Audit", "operationId": "get_user_groups_v3_access_groups_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/UserGroup"}, "type": "array", "title": "Response Get User Groups V3 Access Groups Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}, "post": {"tags": ["Users groups"], "summary": "Create User Group", "description": "Create a new user group.\n\nRequired privilege: Group.Allocate", "operationId": "create_user_group_v3_access_groups_post", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserGroupCreate"}}}, "required": true}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserGroup"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/access/groups/{user_group_id}": {"get": {"tags": ["Users groups"], "summary": "Get User Group", "description": "Get a user group.\n\nRequired privilege: Group.Audit", "operationId": "get_user_group_v3_access_groups__user_group_id__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "user_group_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "User Group Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserGroup"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"tags": ["Users groups"], "summary": "Update User Group", "description": "Update a user group.\n\nRequired privilege: Group.Modify", "operationId": "update_user_group_v3_access_groups__user_group_id__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "user_group_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "User Group Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserGroupUpdate"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserGroup"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["Users groups"], "summary": "Delete User Group", "description": "Delete a user group.\n\nRequired privilege: Group.Allocate", "operationId": "delete_user_group_v3_access_groups__user_group_id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "user_group_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "User Group Id"}}], "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/access/groups/{user_group_id}/members": {"get": {"tags": ["Users groups"], "summary": "Get User Group Members", "description": "Get all user group members.\n\nRequired privilege: Group.Audit", "operationId": "get_user_group_members_v3_access_groups__user_group_id__members_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "user_group_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "User Group Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/User"}, "title": "Response Get User Group Members V3 Access Groups User Group Id Members Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/access/groups/{user_group_id}/members/{user_id}": {"put": {"tags": ["Users groups"], "summary": "Add Member To Group", "description": "Add member to a user group.\n\nRequired privilege: Group.Modify", "operationId": "add_member_to_group_v3_access_groups__user_group_id__members__user_id__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "user_group_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "User Group Id"}}, {"name": "user_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "User Id"}}], "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["Users groups"], "summary": "Remove Member From Group", "description": "Remove member from a user group.\n\nRequired privilege: Group.Modify", "operationId": "remove_member_from_group_v3_access_groups__user_group_id__members__user_id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "user_group_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "User Group Id"}}, {"name": "user_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "User Id"}}], "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/access/roles": {"get": {"tags": ["Roles"], "summary": "Get Roles", "description": "Get all roles.\n\nRequired privilege: Role.Audit", "operationId": "get_roles_v3_access_roles_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/Role"}, "type": "array", "title": "Response Get Roles V3 Access Roles Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}, "post": {"tags": ["Roles"], "summary": "Create Role", "description": "Create a new role.\n\nRequired privilege: Role.Allocate", "operationId": "create_role_v3_access_roles_post", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/RoleCreate"}}}, "required": true}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Role"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/access/roles/{role_id}": {"get": {"tags": ["Roles"], "summary": "Get Role", "description": "Get a role.\n\nRequired privilege: Role.Audit", "operationId": "get_role_v3_access_roles__role_id__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "role_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Role Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Role"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"tags": ["Roles"], "summary": "Update Role", "description": "Update a role.\n\nRequired privilege: Role.Modify", "operationId": "update_role_v3_access_roles__role_id__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "role_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Role Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/RoleUpdate"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Role"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["Roles"], "summary": "Delete Role", "description": "Delete a role.\n\nRequired privilege: Role.Allocate", "operationId": "delete_role_v3_access_roles__role_id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "role_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Role Id"}}], "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/access/roles/{role_id}/privileges": {"get": {"tags": ["Roles"], "summary": "Get Role Privileges", "description": "Get all role privileges.\n\nRequired privilege: Role.Audit", "operationId": "get_role_privileges_v3_access_roles__role_id__privileges_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "role_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Role Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/Privilege"}, "title": "Response Get Role Privileges V3 Access Roles Role Id Privileges Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/access/roles/{role_id}/privileges/{privilege_id}": {"put": {"tags": ["Roles"], "summary": "Add Privilege To Role", "description": "Add a privilege to a role.\n\nRequired privilege: Role.Modify", "operationId": "add_privilege_to_role_v3_access_roles__role_id__privileges__privilege_id__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "role_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Role Id"}}, {"name": "privilege_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Privilege Id"}}], "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["Roles"], "summary": "Remove Privilege From Role", "description": "Remove privilege from a role.\n\nRequired privilege: Role.Modify", "operationId": "remove_privilege_from_role_v3_access_roles__role_id__privileges__privilege_id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "role_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Role Id"}}, {"name": "privilege_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Privilege Id"}}], "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/access/privileges": {"get": {"tags": ["Privileges"], "summary": "Get Privileges", "description": "Get all privileges.\n\nRequired privilege: None", "operationId": "get_privileges_v3_access_privileges_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/Privilege"}, "type": "array", "title": "Response Get Privileges V3 Access Privileges Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/access/acl/endpoints": {"get": {"tags": ["ACL"], "summary": "Endpoints", "description": "List all endpoints to be used in ACL entries.", "operationId": "endpoints_v3_access_acl_endpoints_get", "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"type": "object"}, "type": "array", "title": "Response Endpoints V3 Access Acl Endpoints Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/access/acl": {"get": {"tags": ["ACL"], "summary": "Get Aces", "description": "Get all ACL entries.\n\nRequired privilege: ACE.Audit", "operationId": "get_aces_v3_access_acl_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/ACE"}, "type": "array", "title": "Response Get Aces V3 Access Acl Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}, "post": {"tags": ["ACL"], "summary": "Create Ace", "description": "Create a new ACL entry.\n\nRequired privilege: ACE.Allocate", "operationId": "create_ace_v3_access_acl_post", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ACECreate"}}}, "required": true}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ACE"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/access/acl/{ace_id}": {"get": {"tags": ["ACL"], "summary": "Get Ace", "description": "Get an ACL entry.\n\nRequired privilege: ACE.Audit", "operationId": "get_ace_v3_access_acl__ace_id__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "ace_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Ace Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ACE"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"tags": ["ACL"], "summary": "Update Ace", "description": "Update an ACL entry.\n\nRequired privilege: ACE.Modify", "operationId": "update_ace_v3_access_acl__ace_id__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "ace_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Ace Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ACEUpdate"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ACE"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["ACL"], "summary": "Delete Ace", "description": "Delete an ACL entry.\n\nRequired privilege: ACE.Allocate", "operationId": "delete_ace_v3_access_acl__ace_id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "ace_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Ace Id"}}], "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/images/qemu/{image_path}": {"post": {"tags": ["Images"], "summary": "Create Qemu Image", "description": "Create a new blank Qemu image.\n\nRequired privilege: Image.Allocate", "operationId": "create_qemu_image_v3_images_qemu__image_path__post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "image_path", "in": "path", "required": true, "schema": {"type": "string", "title": "Image Path"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/QemuDiskImageCreate"}}}}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Image"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/images": {"get": {"tags": ["Images"], "summary": "Get Images", "description": "Return all images.\n\nRequired privilege: Image.Audit", "operationId": "get_images_v3_images_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "image_type", "in": "query", "required": false, "schema": {"anyOf": [{"$ref": "#/components/schemas/ImageType"}, {"type": "null"}], "title": "Image Type"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/Image"}, "title": "Response Get Images V3 Images Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/images/upload/{image_path}": {"post": {"tags": ["Images"], "summary": "Upload Image", "description": "Upload an image.\n\nExample: curl -X POST http://host:port/v3/images/upload/my_image_name.qcow2 -H 'Authorization: Bearer ' --data-binary @\"/path/to/image.qcow2\"\n\nRequired privilege: Image.Allocate", "operationId": "upload_image_v3_images_upload__image_path__post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "image_path", "in": "path", "required": true, "schema": {"type": "string", "title": "Image Path"}}, {"name": "install_appliances", "in": "query", "required": false, "schema": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": false, "title": "Install Appliances"}}], "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Image"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/images/{image_path}": {"get": {"tags": ["Images"], "summary": "Get Image", "description": "Return an image.\n\nRequired privilege: Image.Audit", "operationId": "get_image_v3_images__image_path__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "image_path", "in": "path", "required": true, "schema": {"type": "string", "title": "Image Path"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Image"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["Images"], "summary": "Delete Image", "description": "Delete an image.\n\nRequired privilege: Image.Allocate", "operationId": "delete_image_v3_images__image_path__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "image_path", "in": "path", "required": true, "schema": {"type": "string", "title": "Image Path"}}], "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/images/prune": {"post": {"tags": ["Images"], "summary": "Prune Images", "description": "Prune images not attached to any template.\n\nRequired privilege: Image.Allocate", "operationId": "prune_images_v3_images_prune_post", "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/templates": {"get": {"tags": ["Templates"], "summary": "Get Templates", "description": "Return all templates.\n\nRequired privilege: Template.Audit", "operationId": "get_templates_v3_templates_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/Template"}, "type": "array", "title": "Response Get Templates V3 Templates Get"}}}}, "404": {"description": "Could not find template", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}, "post": {"tags": ["Templates"], "summary": "Create Template", "description": "Create a new template.\n\nRequired privilege: Template.Allocate", "operationId": "create_template_v3_templates_post", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/TemplateCreate"}}}, "required": true}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Template"}}}}, "404": {"description": "Could not find template", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/templates/{template_id}": {"get": {"tags": ["Templates"], "summary": "Get Template", "description": "Return a template.\n\nRequired privilege: Template.Audit", "operationId": "get_template_v3_templates__template_id__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "template_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Template Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Template"}}}}, "404": {"description": "Could not find template", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"tags": ["Templates"], "summary": "Update Template", "description": "Update a template.\n\nRequired privilege: Template.Modify", "operationId": "update_template_v3_templates__template_id__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "template_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Template Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TemplateUpdate"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Template"}}}}, "404": {"description": "Could not find template", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["Templates"], "summary": "Delete Template", "description": "Delete a template.\n\nRequired privilege: Template.Allocate", "operationId": "delete_template_v3_templates__template_id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "template_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Template Id"}}, {"name": "prune_images", "in": "query", "required": false, "schema": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": false, "title": "Prune Images"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find template", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/templates/{template_id}/duplicate": {"post": {"tags": ["Templates"], "summary": "Duplicate Template", "description": "Duplicate a template.\n\nRequired privilege: Template.Allocate", "operationId": "duplicate_template_v3_templates__template_id__duplicate_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "template_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Template Id"}}], "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Template"}}}}, "404": {"description": "Could not find template", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects": {"get": {"tags": ["Projects"], "summary": "Get Projects", "description": "Return all projects.\n\nRequired privilege: Project.Audit", "operationId": "get_projects_v3_projects_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/Project"}, "type": "array", "title": "Response Get Projects V3 Projects Get"}}}}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}, "post": {"tags": ["Projects"], "summary": "Create Project", "description": "Create a new project.\n\nRequired privilege: Project.Allocate", "operationId": "create_project_v3_projects_post", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectCreate"}}}, "required": true}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Project"}}}}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "409": {"description": "Could not create project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/projects/{project_id}": {"get": {"tags": ["Projects"], "summary": "Get Project", "description": "Return a project.\n\nRequired privilege: Project.Audit", "operationId": "get_project_v3_projects__project_id__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Project"}}}}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"tags": ["Projects"], "summary": "Update Project", "description": "Update a project.\n\nRequired privilege: Project.Modify", "operationId": "update_project_v3_projects__project_id__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectUpdate"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Project"}}}}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["Projects"], "summary": "Delete Project", "description": "Delete a project.\n\nRequired privilege: Project.Allocate", "operationId": "delete_project_v3_projects__project_id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/stats": {"get": {"tags": ["Projects"], "summary": "Get Project Stats", "description": "Return a project statistics.\n\nRequired privilege: Project.Audit", "operationId": "get_project_stats_v3_projects__project_id__stats_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "object", "title": "Response Get Project Stats V3 Projects Project Id Stats Get"}}}}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/close": {"post": {"tags": ["Projects"], "summary": "Close Project", "description": "Close a project.\n\nRequired privilege: Project.Allocate", "operationId": "close_project_v3_projects__project_id__close_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "409": {"description": "Could not close project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/open": {"post": {"tags": ["Projects"], "summary": "Open Project", "description": "Open a project.\n\nRequired privilege: Project.Allocate", "operationId": "open_project_v3_projects__project_id__open_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Project"}}}}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "409": {"description": "Could not open project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/load": {"post": {"tags": ["Projects"], "summary": "Load Project", "description": "Load a project (local server only).\n\nRequired privilege: Project.Allocate", "operationId": "load_project_v3_projects_load_post", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/Body_load_project_v3_projects_load_post"}}}, "required": true}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Project"}}}}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "409": {"description": "Could not load project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/projects/{project_id}/notifications": {"get": {"tags": ["Projects"], "summary": "Project Http Notifications", "description": "Receive project notifications about the controller from HTTP stream.\n\nRequired privilege: Project.Audit", "operationId": "project_http_notifications_v3_projects__project_id__notifications_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/export": {"get": {"tags": ["Projects"], "summary": "Export Project", "description": "Export a project as a portable archive.\n\nRequired privilege: Project.Audit", "operationId": "export_project_v3_projects__project_id__export_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}, {"name": "include_snapshots", "in": "query", "required": false, "schema": {"type": "boolean", "default": false, "title": "Include Snapshots"}}, {"name": "include_images", "in": "query", "required": false, "schema": {"type": "boolean", "default": false, "title": "Include Images"}}, {"name": "reset_mac_addresses", "in": "query", "required": false, "schema": {"type": "boolean", "default": false, "title": "Reset Mac Addresses"}}, {"name": "compression", "in": "query", "required": false, "schema": {"allOf": [{"$ref": "#/components/schemas/ProjectCompression"}], "default": "zstd", "title": "Compression"}}, {"name": "compression_level", "in": "query", "required": false, "schema": {"type": "integer", "title": "Compression Level"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/import": {"post": {"tags": ["Projects"], "summary": "Import Project", "description": "Import a project from a portable archive.\n\nRequired privilege: Project.Allocate", "operationId": "import_project_v3_projects__project_id__import_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}, {"name": "name", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}}], "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Project"}}}}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/duplicate": {"post": {"tags": ["Projects"], "summary": "Duplicate Project", "description": "Duplicate a project.\n\nRequired privilege: Project.Allocate", "operationId": "duplicate_project_v3_projects__project_id__duplicate_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProjectDuplicate"}}}}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Project"}}}}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "409": {"description": "Could not duplicate project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/locked": {"get": {"tags": ["Projects"], "summary": "Locked Project", "description": "Returns whether a project is locked or not.\n\nRequired privilege: Project.Audit", "operationId": "locked_project_v3_projects__project_id__locked_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "boolean", "title": "Response Locked Project V3 Projects Project Id Locked Get"}}}}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/lock": {"post": {"tags": ["Projects"], "summary": "Lock Project", "description": "Lock all drawings and nodes in a given project.\n\nRequired privilege: Project.Audit", "operationId": "lock_project_v3_projects__project_id__lock_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/unlock": {"post": {"tags": ["Projects"], "summary": "Unlock Project", "description": "Unlock all drawings and nodes in a given project.\n\nRequired privilege: Project.Modify", "operationId": "unlock_project_v3_projects__project_id__unlock_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/files/{file_path}": {"get": {"tags": ["Projects"], "summary": "Get File", "description": "Return a file from a project.\n\nRequired privilege: Project.Audit", "operationId": "get_file_v3_projects__project_id__files__file_path__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "file_path", "in": "path", "required": true, "schema": {"type": "string", "title": "File Path"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "post": {"tags": ["Projects"], "summary": "Write File", "description": "Write a file to a project.\n\nRequired privilege: Project.Modify", "operationId": "write_file_v3_projects__project_id__files__file_path__post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "file_path", "in": "path", "required": true, "schema": {"type": "string", "title": "File Path"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/templates/{template_id}": {"post": {"tags": ["Projects"], "summary": "Create Node From Template", "description": "Create a new node from a template.\n\nRequired privilege: Node.Allocate", "operationId": "create_node_from_template_v3_projects__project_id__templates__template_id__post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}, {"name": "template_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Template Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TemplateUsage"}}}}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Node"}}}}, "404": {"description": "Could not find project or template", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes": {"post": {"tags": ["Nodes"], "summary": "Create Node", "description": "Create a new node.\n\nRequired privilege: Node.Allocate", "operationId": "create_node_v3_projects__project_id__nodes_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeCreate"}}}}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Node"}}}}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "409": {"description": "Could not create node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "get": {"tags": ["Nodes"], "summary": "Get Nodes", "description": "Return all nodes belonging to a given project.\n\nRequired privilege: Node.Audit", "operationId": "get_nodes_v3_projects__project_id__nodes_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/Node"}, "title": "Response Get Nodes V3 Projects Project Id Nodes Get"}}}}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/start": {"post": {"tags": ["Nodes"], "summary": "Start All Nodes", "description": "Start all nodes belonging to a given project.\n\nRequired privilege: Node.PowerMgmt", "operationId": "start_all_nodes_v3_projects__project_id__nodes_start_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/stop": {"post": {"tags": ["Nodes"], "summary": "Stop All Nodes", "description": "Stop all nodes belonging to a given project.\n\nRequired privilege: Node.PowerMgmt", "operationId": "stop_all_nodes_v3_projects__project_id__nodes_stop_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/suspend": {"post": {"tags": ["Nodes"], "summary": "Suspend All Nodes", "description": "Suspend all nodes belonging to a given project.\n\nRequired privilege: Node.PowerMgmt", "operationId": "suspend_all_nodes_v3_projects__project_id__nodes_suspend_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/reload": {"post": {"tags": ["Nodes"], "summary": "Reload All Nodes", "description": "Reload all nodes belonging to a given project.\n\nRequired privilege: Node.PowerMgmt", "operationId": "reload_all_nodes_v3_projects__project_id__nodes_reload_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/{node_id}": {"get": {"tags": ["Nodes"], "summary": "Get Node", "description": "Return a node from a given project.\n\nRequired privilege: Node.Audit", "operationId": "get_node_v3_projects__project_id__nodes__node_id__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Node"}}}}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"tags": ["Nodes"], "summary": "Update Node", "description": "Update a node.\n\nRequired privilege: Node.Modify", "operationId": "update_node_v3_projects__project_id__nodes__node_id__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeUpdate"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Node"}}}}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["Nodes"], "summary": "Delete Node", "description": "Delete a node from a project.\n\nRequired privilege: Node.Allocate", "operationId": "delete_node_v3_projects__project_id__nodes__node_id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "409": {"description": "Cannot delete node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/{node_id}/duplicate": {"post": {"tags": ["Nodes"], "summary": "Duplicate Node", "description": "Duplicate a node.\n\nRequired privilege: Node.Allocate", "operationId": "duplicate_node_v3_projects__project_id__nodes__node_id__duplicate_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NodeDuplicate"}}}}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Node"}}}}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/{node_id}/start": {"post": {"tags": ["Nodes"], "summary": "Start Node", "description": "Start a node.\n\nRequired privilege: Node.PowerMgmt", "operationId": "start_node_v3_projects__project_id__nodes__node_id__start_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "title": "Start Data"}}}}, "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/{node_id}/stop": {"post": {"tags": ["Nodes"], "summary": "Stop Node", "description": "Stop a node.\n\nRequired privilege: Node.PowerMgmt", "operationId": "stop_node_v3_projects__project_id__nodes__node_id__stop_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/{node_id}/suspend": {"post": {"tags": ["Nodes"], "summary": "Suspend Node", "description": "Suspend a node.\n\nRequired privilege: Node.PowerMgmt", "operationId": "suspend_node_v3_projects__project_id__nodes__node_id__suspend_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/{node_id}/reload": {"post": {"tags": ["Nodes"], "summary": "Reload Node", "description": "Reload a node.\n\nRequired privilege: Node.PowerMgmt", "operationId": "reload_node_v3_projects__project_id__nodes__node_id__reload_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/{node_id}/isolate": {"post": {"tags": ["Nodes"], "summary": "Isolate Node", "description": "Isolate a node (suspend all attached links).\n\nRequired privilege: Link.Modify", "operationId": "isolate_node_v3_projects__project_id__nodes__node_id__isolate_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/{node_id}/unisolate": {"post": {"tags": ["Nodes"], "summary": "Unisolate Node", "description": "Un-isolate a node (resume all attached suspended links).\n\nRequired privilege: Link.Modify", "operationId": "unisolate_node_v3_projects__project_id__nodes__node_id__unisolate_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/{node_id}/links": {"get": {"tags": ["Nodes"], "summary": "Get Node Links", "description": "Return all the links connected to a node.\n\nRequired privilege: Link.Audit", "operationId": "get_node_links_v3_projects__project_id__nodes__node_id__links_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/Link"}, "title": "Response Get Node Links V3 Projects Project Id Nodes Node Id Links Get"}}}}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/{node_id}/dynamips/auto_idlepc": {"get": {"tags": ["Nodes"], "summary": "Auto Idlepc", "description": "Compute an Idle-PC value for a Dynamips node\n\nRequired privilege: Node.Audit", "operationId": "auto_idlepc_v3_projects__project_id__nodes__node_id__dynamips_auto_idlepc_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "object", "title": "Response Auto Idlepc V3 Projects Project Id Nodes Node Id Dynamips Auto Idlepc Get"}}}}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/{node_id}/dynamips/idlepc_proposals": {"get": {"tags": ["Nodes"], "summary": "Idlepc Proposals", "description": "Compute a list of potential idle-pc values for a Dynamips node\n\nRequired privilege: Node.Audit", "operationId": "idlepc_proposals_v3_projects__project_id__nodes__node_id__dynamips_idlepc_proposals_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"type": "string"}, "title": "Response Idlepc Proposals V3 Projects Project Id Nodes Node Id Dynamips Idlepc Proposals Get"}}}}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/{node_id}/qemu/disk_image/{disk_name}": {"post": {"tags": ["Nodes"], "summary": "Create Disk Image", "description": "Create a Qemu disk image.\n\nRequired privilege: Node.Allocate", "operationId": "create_disk_image_v3_projects__project_id__nodes__node_id__qemu_disk_image__disk_name__post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "disk_name", "in": "path", "required": true, "schema": {"type": "string", "title": "Disk Name"}}, {"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/QemuDiskImageCreate"}}}}, "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"tags": ["Nodes"], "summary": "Update Disk Image", "description": "Update a Qemu disk image.\n\nRequired privilege: Node.Allocate", "operationId": "update_disk_image_v3_projects__project_id__nodes__node_id__qemu_disk_image__disk_name__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "disk_name", "in": "path", "required": true, "schema": {"type": "string", "title": "Disk Name"}}, {"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/QemuDiskImageUpdate"}}}}, "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["Nodes"], "summary": "Delete Disk Image", "description": "Delete a Qemu disk image.\n\nRequired privilege: Node.Allocate", "operationId": "delete_disk_image_v3_projects__project_id__nodes__node_id__qemu_disk_image__disk_name__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "disk_name", "in": "path", "required": true, "schema": {"type": "string", "title": "Disk Name"}}, {"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/{node_id}/files/{file_path}": {"get": {"tags": ["Nodes"], "summary": "Get File", "description": "Return a file from the node directory.\n\nRequired privilege: Node.Audit", "operationId": "get_file_v3_projects__project_id__nodes__node_id__files__file_path__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "file_path", "in": "path", "required": true, "schema": {"type": "string", "title": "File Path"}}, {"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "post": {"tags": ["Nodes"], "summary": "Post File", "description": "Write a file in the node directory.\n\nRequired privilege: Node.Modify", "operationId": "post_file_v3_projects__project_id__nodes__node_id__files__file_path__post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "file_path", "in": "path", "required": true, "schema": {"type": "string", "title": "File Path"}}, {"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/console/reset": {"post": {"tags": ["Nodes"], "summary": "Reset Console All Nodes", "description": "Reset console for all nodes belonging to the project.\n\nRequired privilege: Node.Console", "operationId": "reset_console_all_nodes_v3_projects__project_id__nodes_console_reset_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/nodes/{node_id}/console/reset": {"post": {"tags": ["Nodes"], "summary": "Console Reset", "description": "Reset a console for a given node.\n\nRequired privilege: Node.Console", "operationId": "console_reset_v3_projects__project_id__nodes__node_id__console_reset_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "node_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Node Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or node", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/links": {"get": {"tags": ["Links"], "summary": "Get Links", "description": "Return all links for a given project.\n\nRequired privilege: Link.Audit", "operationId": "get_links_v3_projects__project_id__links_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/Link"}, "title": "Response Get Links V3 Projects Project Id Links Get"}}}}, "404": {"description": "Could not find project or link", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "post": {"tags": ["Links"], "summary": "Create Link", "description": "Create a new link.\n\nRequired privilege: Link.Allocate", "operationId": "create_link_v3_projects__project_id__links_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/LinkCreate"}}}}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Link"}}}}, "404": {"description": "Could not find project", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "409": {"description": "Could not create link", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/links/{link_id}/available_filters": {"get": {"tags": ["Links"], "summary": "Get Filters", "description": "Return all filters available for a given link.\n\nRequired privilege: Link.Audit", "operationId": "get_filters_v3_projects__project_id__links__link_id__available_filters_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}, {"name": "link_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Link Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"type": "object"}, "title": "Response Get Filters V3 Projects Project Id Links Link Id Available Filters Get"}}}}, "404": {"description": "Could not find project or link", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/links/{link_id}": {"get": {"tags": ["Links"], "summary": "Get Link", "description": "Return a link.\n\nRequired privilege: Link.Audit", "operationId": "get_link_v3_projects__project_id__links__link_id__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}, {"name": "link_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Link Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Link"}}}}, "404": {"description": "Could not find project or link", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"tags": ["Links"], "summary": "Update Link", "description": "Update a link.\n\nRequired privilege: Link.Modify", "operationId": "update_link_v3_projects__project_id__links__link_id__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}, {"name": "link_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Link Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/LinkUpdate"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Link"}}}}, "404": {"description": "Could not find project or link", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["Links"], "summary": "Delete Link", "description": "Delete a link.\n\nRequired privilege: Link.Allocate", "operationId": "delete_link_v3_projects__project_id__links__link_id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}, {"name": "link_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Link Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or link", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/links/{link_id}/reset": {"post": {"tags": ["Links"], "summary": "Reset Link", "description": "Reset a link.\n\nRequired privilege: Link.Modify", "operationId": "reset_link_v3_projects__project_id__links__link_id__reset_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}, {"name": "link_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Link Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Link"}}}}, "404": {"description": "Could not find project or link", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/links/{link_id}/capture/start": {"post": {"tags": ["Links"], "summary": "Start Capture", "description": "Start packet capture on the link.\n\nRequired privilege: Link.Capture", "operationId": "start_capture_v3_projects__project_id__links__link_id__capture_start_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}, {"name": "link_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Link Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "title": "Capture Data"}}}}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Link"}}}}, "404": {"description": "Could not find project or link", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/links/{link_id}/capture/stop": {"post": {"tags": ["Links"], "summary": "Stop Capture", "description": "Stop packet capture on the link.\n\nRequired privilege: Link.Capture", "operationId": "stop_capture_v3_projects__project_id__links__link_id__capture_stop_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}, {"name": "link_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Link Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or link", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/links/{link_id}/capture/stream": {"get": {"tags": ["Links"], "summary": "Stream Pcap", "description": "Stream the PCAP capture file from compute.\n\nRequired privilege: Link.Capture", "operationId": "stream_pcap_v3_projects__project_id__links__link_id__capture_stream_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}, {"name": "link_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Link Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "404": {"description": "Could not find project or link", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/drawings": {"get": {"tags": ["Drawings"], "summary": "Get Drawings", "description": "Return the list of all drawings for a given project.\n\nRequired privilege: Drawing.Audit", "operationId": "get_drawings_v3_projects__project_id__drawings_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/Drawing"}, "title": "Response Get Drawings V3 Projects Project Id Drawings Get"}}}}, "404": {"description": "Project or drawing not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "post": {"tags": ["Drawings"], "summary": "Create Drawing", "description": "Create a new drawing.\n\nRequired privilege: Drawing.Allocate", "operationId": "create_drawing_v3_projects__project_id__drawings_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Drawing"}}}}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Drawing"}}}}, "404": {"description": "Project or drawing not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/drawings/{drawing_id}": {"get": {"tags": ["Drawings"], "summary": "Get Drawing", "description": "Return a drawing.\n\nRequired privilege: Drawing.Audit", "operationId": "get_drawing_v3_projects__project_id__drawings__drawing_id__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}, {"name": "drawing_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Drawing Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Drawing"}}}}, "404": {"description": "Project or drawing not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"tags": ["Drawings"], "summary": "Update Drawing", "description": "Update a drawing.\n\nRequired privilege: Drawing.Modify", "operationId": "update_drawing_v3_projects__project_id__drawings__drawing_id__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}, {"name": "drawing_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Drawing Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Drawing"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Drawing"}}}}, "404": {"description": "Project or drawing not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["Drawings"], "summary": "Delete Drawing", "description": "Delete a drawing.\n\nRequired privilege: Drawing.Allocate", "operationId": "delete_drawing_v3_projects__project_id__drawings__drawing_id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}, {"name": "drawing_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Drawing Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Project or drawing not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/symbols": {"get": {"tags": ["Symbols"], "summary": "Get Symbols", "description": "Return all symbols.\n\nRequired privilege: Symbol.Audit", "operationId": "get_symbols_v3_symbols_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"type": "object"}, "type": "array", "title": "Response Get Symbols V3 Symbols Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/symbols/{symbol_id}/raw": {"get": {"tags": ["Symbols"], "summary": "Get Symbol", "description": "Download a symbol file.\n\nRequired privilege: Symbol.Audit", "operationId": "get_symbol_v3_symbols__symbol_id__raw_get", "parameters": [{"name": "symbol_id", "in": "path", "required": true, "schema": {"type": "string", "title": "Symbol Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "404": {"description": "Could not find symbol", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "post": {"tags": ["Symbols"], "summary": "Upload Symbol", "description": "Upload a symbol file.\n\nRequired privilege: Symbol.Allocate", "operationId": "upload_symbol_v3_symbols__symbol_id__raw_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "symbol_id", "in": "path", "required": true, "schema": {"type": "string", "title": "Symbol Id"}}], "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/symbols/{symbol_id}/dimensions": {"get": {"tags": ["Symbols"], "summary": "Get Symbol Dimensions", "description": "Get a symbol dimensions.\n\nRequired privilege: Symbol.Audit", "operationId": "get_symbol_dimensions_v3_symbols__symbol_id__dimensions_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "symbol_id", "in": "path", "required": true, "schema": {"type": "string", "title": "Symbol Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "object", "title": "Response Get Symbol Dimensions V3 Symbols Symbol Id Dimensions Get"}}}}, "404": {"description": "Could not find symbol", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/symbols/default_symbols": {"get": {"tags": ["Symbols"], "summary": "Get Default Symbols", "description": "Return all default symbols.\n\nRequired privilege: Symbol.Audit", "operationId": "get_default_symbols_v3_symbols_default_symbols_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "object", "title": "Response Get Default Symbols V3 Symbols Default Symbols Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/projects/{project_id}/snapshots": {"post": {"tags": ["Snapshots"], "summary": "Create Snapshot", "description": "Create a new snapshot of a project.\n\nRequired privilege: Snapshot.Allocate", "operationId": "create_snapshot_v3_projects__project_id__snapshots_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SnapshotCreate"}}}}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Snapshot"}}}}, "404": {"description": "Could not find project or snapshot", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "get": {"tags": ["Snapshots"], "summary": "Get Snapshots", "description": "Return all snapshots belonging to a given project.\n\nRequired privilege: Snapshot.Audit", "operationId": "get_snapshots_v3_projects__project_id__snapshots_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/Snapshot"}, "title": "Response Get Snapshots V3 Projects Project Id Snapshots Get"}}}}, "404": {"description": "Could not find project or snapshot", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/snapshots/{snapshot_id}": {"delete": {"tags": ["Snapshots"], "summary": "Delete Snapshot", "description": "Delete a snapshot.\n\nRequired privilege: Snapshot.Allocate", "operationId": "delete_snapshot_v3_projects__project_id__snapshots__snapshot_id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "snapshot_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Snapshot Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Could not find project or snapshot", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/projects/{project_id}/snapshots/{snapshot_id}/restore": {"post": {"tags": ["Snapshots"], "summary": "Restore Snapshot", "description": "Restore a snapshot.\n\nRequired privilege: Snapshot.Restore", "operationId": "restore_snapshot_v3_projects__project_id__snapshots__snapshot_id__restore_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "snapshot_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Snapshot Id"}}, {"name": "project_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Project Id"}}], "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Project"}}}}, "404": {"description": "Could not find project or snapshot", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/computes": {"post": {"tags": ["Computes"], "summary": "Create Compute", "description": "Create a new compute on the controller.\n\nRequired privilege: Compute.Allocate", "operationId": "create_compute_v3_computes_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "connect", "in": "query", "required": false, "schema": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": false, "title": "Connect"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ComputeCreate"}}}}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Compute"}}}}, "404": {"description": "Could not connect to compute", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "409": {"description": "Could not create compute", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "401": {"description": "Invalid authentication for compute", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "get": {"tags": ["Computes"], "summary": "Get Computes", "description": "Return all computes known by the controller.\n\nRequired privilege: Compute.Audit", "operationId": "get_computes_v3_computes_get", "security": [{"OAuth2PasswordBearer": []}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/Compute"}, "title": "Response Get Computes V3 Computes Get"}}}}, "404": {"description": "Compute not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/computes/{compute_id}/connect": {"post": {"tags": ["Computes"], "summary": "Connect Compute", "description": "Connect to compute on the controller.\n\nRequired privilege: Compute.Audit", "operationId": "connect_compute_v3_computes__compute_id__connect_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "compute_id", "in": "path", "required": true, "schema": {"anyOf": [{"type": "string"}, {"type": "string", "format": "uuid"}], "title": "Compute Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Compute not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/computes/{compute_id}": {"get": {"tags": ["Computes"], "summary": "Get Compute", "description": "Return a compute from the controller.\n\nRequired privilege: Compute.Audit", "operationId": "get_compute_v3_computes__compute_id__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "compute_id", "in": "path", "required": true, "schema": {"anyOf": [{"type": "string"}, {"type": "string", "format": "uuid"}], "title": "Compute Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Compute"}}}}, "404": {"description": "Compute not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"tags": ["Computes"], "summary": "Update Compute", "description": "Update a compute on the controller.\n\nRequired privilege: Compute.Modify", "operationId": "update_compute_v3_computes__compute_id__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "compute_id", "in": "path", "required": true, "schema": {"anyOf": [{"type": "string"}, {"type": "string", "format": "uuid"}], "title": "Compute Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ComputeUpdate"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Compute"}}}}, "404": {"description": "Compute not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["Computes"], "summary": "Delete Compute", "description": "Delete a compute from the controller.\n\nRequired privilege: Compute.Allocate", "operationId": "delete_compute_v3_computes__compute_id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "compute_id", "in": "path", "required": true, "schema": {"anyOf": [{"type": "string"}, {"type": "string", "format": "uuid"}], "title": "Compute Id"}}], "responses": {"204": {"description": "Successful Response"}, "404": {"description": "Compute not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/computes/{compute_id}/docker/images": {"get": {"tags": ["Computes"], "summary": "Docker Get Images", "description": "Get Docker images from a compute.", "operationId": "docker_get_images_v3_computes__compute_id__docker_images_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "compute_id", "in": "path", "required": true, "schema": {"anyOf": [{"type": "string"}, {"type": "string", "format": "uuid"}], "title": "Compute Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/ComputeDockerImage"}, "title": "Response Docker Get Images V3 Computes Compute Id Docker Images Get"}}}}, "404": {"description": "Compute not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/computes/{compute_id}/virtualbox/vms": {"get": {"tags": ["Computes"], "summary": "Virtualbox Vms", "description": "Get VirtualBox VMs from a compute.", "operationId": "virtualbox_vms_v3_computes__compute_id__virtualbox_vms_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "compute_id", "in": "path", "required": true, "schema": {"anyOf": [{"type": "string"}, {"type": "string", "format": "uuid"}], "title": "Compute Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/ComputeVirtualBoxVM"}, "title": "Response Virtualbox Vms V3 Computes Compute Id Virtualbox Vms Get"}}}}, "404": {"description": "Compute not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/computes/{compute_id}/vmware/vms": {"get": {"tags": ["Computes"], "summary": "Vmware Vms", "description": "Get VMware VMs from a compute.", "operationId": "vmware_vms_v3_computes__compute_id__vmware_vms_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "compute_id", "in": "path", "required": true, "schema": {"anyOf": [{"type": "string"}, {"type": "string", "format": "uuid"}], "title": "Compute Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/ComputeVMwareVM"}, "title": "Response Vmware Vms V3 Computes Compute Id Vmware Vms Get"}}}}, "404": {"description": "Compute not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/computes/{compute_id}/dynamips/auto_idlepc": {"post": {"tags": ["Computes"], "summary": "Dynamips Autoidlepc", "description": "Find a suitable Idle-PC value for a given IOS image. This may take a few minutes.", "operationId": "dynamips_autoidlepc_v3_computes__compute_id__dynamips_auto_idlepc_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "compute_id", "in": "path", "required": true, "schema": {"anyOf": [{"type": "string"}, {"type": "string", "format": "uuid"}], "title": "Compute Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AutoIdlePC"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "string", "title": "Response Dynamips Autoidlepc V3 Computes Compute Id Dynamips Auto Idlepc Post"}}}}, "404": {"description": "Compute not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/computes/{compute_id}/{emulator}/{endpoint_path}": {"get": {"tags": ["Computes"], "summary": "Forward Get", "description": "Forward a GET request to a compute.\nRead the full compute API documentation for available routes.", "operationId": "forward_get_v3_computes__compute_id___emulator___endpoint_path__get", "deprecated": true, "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "compute_id", "in": "path", "required": true, "schema": {"anyOf": [{"type": "string"}, {"type": "string", "format": "uuid"}], "title": "Compute Id"}}, {"name": "emulator", "in": "path", "required": true, "schema": {"type": "string", "title": "Emulator"}}, {"name": "endpoint_path", "in": "path", "required": true, "schema": {"type": "string", "title": "Endpoint Path"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"title": "Response Forward Get V3 Computes Compute Id Emulator Endpoint Path Get"}}}}, "404": {"description": "Compute not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "post": {"tags": ["Computes"], "summary": "Forward Post", "description": "Forward a POST request to a compute.\nRead the full compute API documentation for available routes.", "operationId": "forward_post_v3_computes__compute_id___emulator___endpoint_path__post", "deprecated": true, "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "compute_id", "in": "path", "required": true, "schema": {"anyOf": [{"type": "string"}, {"type": "string", "format": "uuid"}], "title": "Compute Id"}}, {"name": "emulator", "in": "path", "required": true, "schema": {"type": "string", "title": "Emulator"}}, {"name": "endpoint_path", "in": "path", "required": true, "schema": {"type": "string", "title": "Endpoint Path"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "title": "Compute Data"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"title": "Response Forward Post V3 Computes Compute Id Emulator Endpoint Path Post"}}}}, "404": {"description": "Compute not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"tags": ["Computes"], "summary": "Forward Put", "description": "Forward a PUT request to a compute.\nRead the full compute API documentation for available routes.", "operationId": "forward_put_v3_computes__compute_id___emulator___endpoint_path__put", "deprecated": true, "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "compute_id", "in": "path", "required": true, "schema": {"anyOf": [{"type": "string"}, {"type": "string", "format": "uuid"}], "title": "Compute Id"}}, {"name": "emulator", "in": "path", "required": true, "schema": {"type": "string", "title": "Emulator"}}, {"name": "endpoint_path", "in": "path", "required": true, "schema": {"type": "string", "title": "Endpoint Path"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "title": "Compute Data"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"title": "Response Forward Put V3 Computes Compute Id Emulator Endpoint Path Put"}}}}, "404": {"description": "Compute not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ErrorMessage"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/appliances": {"get": {"tags": ["Appliances"], "summary": "Get Appliances", "description": "Return all appliances known by the controller.\n\nRequired privilege: Appliance.Audit", "operationId": "get_appliances_v3_appliances_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "update", "in": "query", "required": false, "schema": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": false, "title": "Update"}}, {"name": "symbol_theme", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Symbol Theme"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/Appliance"}, "title": "Response Get Appliances V3 Appliances Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/appliances/{appliance_id}": {"get": {"tags": ["Appliances"], "summary": "Get Appliance", "description": "Get an appliance file.\n\nRequired privilege: Appliance.Audit", "operationId": "get_appliance_v3_appliances__appliance_id__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "appliance_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Appliance Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Appliance"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/appliances/{appliance_id}/version": {"post": {"tags": ["Appliances"], "summary": "Add Appliance Version", "description": "Add a version to an appliance.\n\nRequired privilege: Appliance.Allocate", "operationId": "add_appliance_version_v3_appliances__appliance_id__version_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "appliance_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Appliance Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApplianceVersion"}}}}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "object", "title": "Response Add Appliance Version V3 Appliances Appliance Id Version Post"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/appliances/{appliance_id}/install": {"post": {"tags": ["Appliances"], "summary": "Install Appliance", "description": "Install an appliance.\n\nRequired privilege: Appliance.Allocate", "operationId": "install_appliance_v3_appliances__appliance_id__install_post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "appliance_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Appliance Id"}}, {"name": "version", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Version"}}], "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/pools": {"get": {"tags": ["Resource pools"], "summary": "Get Resource Pools", "description": "Get all resource pools.\n\nRequired privilege: Pool.Audit", "operationId": "get_resource_pools_v3_pools_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/ResourcePool"}, "type": "array", "title": "Response Get Resource Pools V3 Pools Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}, "post": {"tags": ["Resource pools"], "summary": "Create Resource Pool", "description": "Create a new resource pool\n\nRequired privilege: Pool.Allocate", "operationId": "create_resource_pool_v3_pools_post", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ResourcePoolCreate"}}}, "required": true}, "responses": {"201": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ResourcePool"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/pools/{resource_pool_id}": {"get": {"tags": ["Resource pools"], "summary": "Get Resource Pool", "description": "Get a resource pool.\n\nRequired privilege: Pool.Audit", "operationId": "get_resource_pool_v3_pools__resource_pool_id__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "resource_pool_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Resource Pool Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ResourcePool"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"tags": ["Resource pools"], "summary": "Update Resource Pool", "description": "Update a resource pool.\n\nRequired privilege: Pool.Modify", "operationId": "update_resource_pool_v3_pools__resource_pool_id__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "resource_pool_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Resource Pool Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ResourcePoolUpdate"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ResourcePool"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["Resource pools"], "summary": "Delete Resource Pool", "description": "Delete a resource pool.\n\nRequired privilege: Pool.Allocate", "operationId": "delete_resource_pool_v3_pools__resource_pool_id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "resource_pool_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Resource Pool Id"}}], "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/pools/{resource_pool_id}/resources": {"get": {"tags": ["Resource pools"], "summary": "Get Pool Resources", "description": "Get all resource in a pool.\n\nRequired privilege: Pool.Audit", "operationId": "get_pool_resources_v3_pools__resource_pool_id__resources_get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "resource_pool_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Resource Pool Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/Resource"}, "title": "Response Get Pool Resources V3 Pools Resource Pool Id Resources Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/pools/{resource_pool_id}/resources/{resource_id}": {"put": {"tags": ["Resource pools"], "summary": "Add Resource To Pool", "description": "Add resource to a resource pool.\n\nRequired privilege: Pool.Modify", "operationId": "add_resource_to_pool_v3_pools__resource_pool_id__resources__resource_id__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "resource_pool_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Resource Pool Id"}}, {"name": "resource_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Resource Id"}}], "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["Resource pools"], "summary": "Remove Resource From Pool", "description": "Remove resource from a resource pool.\n\nRequired privilege: Pool.Modify", "operationId": "remove_resource_from_pool_v3_pools__resource_pool_id__resources__resource_id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "resource_pool_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Resource Pool Id"}}, {"name": "resource_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Resource Id"}}], "responses": {"204": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/gns3vm/engines": {"get": {"tags": ["GNS3 VM"], "summary": "Get Engines", "description": "Return the list of supported engines for the GNS3VM.", "operationId": "get_engines_v3_gns3vm_engines_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"type": "object"}, "type": "array", "title": "Response Get Engines V3 Gns3Vm Engines Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "deprecated": true, "security": [{"OAuth2PasswordBearer": []}]}}, "/v3/gns3vm/engines/{engine}/vms": {"get": {"tags": ["GNS3 VM"], "summary": "Get Vms", "description": "Return all the available VMs for a specific virtualization engine.", "operationId": "get_vms_v3_gns3vm_engines__engine__vms_get", "deprecated": true, "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "engine", "in": "path", "required": true, "schema": {"type": "string", "title": "Engine"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"type": "object"}, "title": "Response Get Vms V3 Gns3Vm Engines Engine Vms Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/v3/gns3vm": {"get": {"tags": ["GNS3 VM"], "summary": "Get Gns3Vm Settings", "description": "Return the GNS3 VM settings.", "operationId": "get_gns3vm_settings_v3_gns3vm_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GNS3VM"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "deprecated": true, "security": [{"OAuth2PasswordBearer": []}]}, "put": {"tags": ["GNS3 VM"], "summary": "Update Gns3Vm Settings", "description": "Update the GNS3 VM settings.", "operationId": "update_gns3vm_settings_v3_gns3vm_put", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/GNS3VM"}}}, "required": true}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GNS3VM"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "deprecated": true, "security": [{"OAuth2PasswordBearer": []}]}}}, "components": {"schemas": {"ACE": {"properties": {"ace_type": {"allOf": [{"$ref": "#/components/schemas/ACEType"}], "description": "Type of the ACE"}, "path": {"type": "string", "title": "Path"}, "propagate": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Propagate", "default": true}, "allowed": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Allowed", "default": true}, "user_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "User Id"}, "group_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Group Id"}, "role_id": {"type": "string", "format": "uuid", "title": "Role Id"}, "created_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Created At"}, "updated_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Updated At"}, "ace_id": {"type": "string", "format": "uuid", "title": "Ace Id"}}, "type": "object", "required": ["ace_type", "path", "role_id", "ace_id"], "title": "ACE"}, "ACECreate": {"properties": {"ace_type": {"allOf": [{"$ref": "#/components/schemas/ACEType"}], "description": "Type of the ACE"}, "path": {"type": "string", "title": "Path"}, "propagate": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Propagate", "default": true}, "allowed": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Allowed", "default": true}, "user_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "User Id"}, "group_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Group Id"}, "role_id": {"type": "string", "format": "uuid", "title": "Role Id"}}, "type": "object", "required": ["ace_type", "path", "role_id"], "title": "ACECreate", "description": "Properties to create an ACE."}, "ACEType": {"type": "string", "enum": ["user", "group"], "title": "ACEType"}, "ACEUpdate": {"properties": {"ace_type": {"allOf": [{"$ref": "#/components/schemas/ACEType"}], "description": "Type of the ACE"}, "path": {"type": "string", "title": "Path"}, "propagate": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Propagate", "default": true}, "allowed": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Allowed", "default": true}, "user_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "User Id"}, "group_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Group Id"}, "role_id": {"type": "string", "format": "uuid", "title": "Role Id"}}, "type": "object", "required": ["ace_type", "path", "role_id"], "title": "ACEUpdate", "description": "Properties to update an ACE."}, "AdapterType": {"type": "string", "enum": ["e1000", "e1000-82544gc", "e1000-82545em", "e1000e", "i82550", "i82551", "i82557a", "i82557b", "i82557c", "i82558a", "i82558b", "i82559a", "i82559b", "i82559c", "i82559er", "i82562", "i82801", "igb", "ne2k_pci", "pcnet", "rocker", "rtl8139", "virtio", "virtio-net-pci", "vmxnet3"], "title": "AdapterType"}, "Appliance": {"properties": {"appliance_id": {"type": "string", "format": "uuid", "title": "Appliance ID"}, "name": {"type": "string", "title": "Appliance name"}, "builtin": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Whether the appliance is builtin or not"}, "category": {"allOf": [{"$ref": "#/components/schemas/gns3server__schemas__controller__appliances__Category"}], "title": "Category of the appliance"}, "description": {"type": "string", "title": "Description of the appliance. Could be a marketing description"}, "vendor_name": {"type": "string", "title": "Name of the vendor"}, "vendor_url": {"anyOf": [{"type": "string", "minLength": 1, "format": "uri"}, {"type": "string", "maxLength": 0}, {"type": "null"}], "title": "Website of the vendor"}, "documentation_url": {"anyOf": [{"type": "string", "minLength": 1, "format": "uri"}, {"type": "string", "maxLength": 0}, {"type": "null"}], "title": "An optional documentation for using the appliance on vendor website"}, "product_name": {"type": "string", "title": "Product name"}, "product_url": {"anyOf": [{"type": "string", "minLength": 1, "format": "uri"}, {"type": "string", "maxLength": 0}, {"type": "null"}], "title": "An optional product url on vendor website"}, "registry_version": {"allOf": [{"$ref": "#/components/schemas/RegistryVersion"}], "title": "Version of the registry compatible with this appliance"}, "status": {"allOf": [{"$ref": "#/components/schemas/Status"}], "title": "Document if the appliance is working or not"}, "availability": {"anyOf": [{"$ref": "#/components/schemas/Availability"}, {"type": "null"}], "title": "About image availability: can be downloaded directly; download requires a free registration; paid but a trial version (time or feature limited) is available; not available publicly"}, "maintainer": {"type": "string", "title": "Maintainer name"}, "maintainer_email": {"anyOf": [{"type": "string", "format": "email"}, {"type": "string", "maxLength": 0}, {"type": "null"}], "title": "Maintainer email"}, "usage": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "How to use the appliance"}, "symbol": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "An optional symbol for the appliance"}, "first_port_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Optional name of the first networking port example: eth0"}, "port_name_format": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Optional formating of the networking port example: eth{0}"}, "port_segment_size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "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"}, "linked_clone": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "False if you don't want to use a single image for all nodes"}, "docker": {"anyOf": [{"$ref": "#/components/schemas/Docker"}, {"type": "null"}], "title": "Docker specific options"}, "iou": {"anyOf": [{"$ref": "#/components/schemas/Iou"}, {"type": "null"}], "title": "IOU specific options"}, "dynamips": {"anyOf": [{"$ref": "#/components/schemas/Dynamips"}, {"type": "null"}], "title": "Dynamips specific options"}, "qemu": {"anyOf": [{"$ref": "#/components/schemas/Qemu"}, {"type": "null"}], "title": "Qemu specific options"}, "images": {"anyOf": [{"items": {"$ref": "#/components/schemas/ApplianceImage"}, "type": "array"}, {"type": "null"}], "title": "Images for this appliance"}, "versions": {"anyOf": [{"items": {"$ref": "#/components/schemas/ApplianceVersion"}, "type": "array"}, {"type": "null"}], "title": "Versions of the appliance"}}, "type": "object", "required": ["appliance_id", "name", "category", "description", "vendor_name", "product_name", "registry_version", "status", "maintainer"], "title": "Appliance"}, "ApplianceImage": {"properties": {"filename": {"type": "string", "title": "Filename"}, "version": {"type": "string", "title": "Version of the file"}, "md5sum": {"type": "string", "pattern": "^[a-f0-9]{32}$", "title": "md5sum of the file"}, "filesize": {"type": "integer", "title": "File size in bytes"}, "download_url": {"anyOf": [{"type": "string", "minLength": 1, "format": "uri"}, {"type": "string", "maxLength": 0}, {"type": "null"}], "title": "Download url where you can download the appliance from a browser"}, "direct_download_url": {"anyOf": [{"type": "string", "minLength": 1, "format": "uri"}, {"type": "string", "maxLength": 0}, {"type": "null"}], "title": "Optional. Non authenticated url to the image file where you can download the image."}, "compression": {"anyOf": [{"$ref": "#/components/schemas/Compression"}, {"type": "null"}], "title": "Optional, compression type of direct download url image."}}, "type": "object", "required": ["filename", "version", "md5sum", "filesize"], "title": "ApplianceImage"}, "ApplianceVersion": {"properties": {"name": {"type": "string", "title": "Name of the version"}, "idlepc": {"anyOf": [{"type": "string", "pattern": "^0x[0-9a-f]{8}"}, {"type": "null"}], "title": "Idlepc"}, "images": {"anyOf": [{"$ref": "#/components/schemas/ApplianceVersionImages"}, {"type": "null"}], "title": "Images used for this version"}}, "type": "object", "required": ["name"], "title": "ApplianceVersion"}, "ApplianceVersionImages": {"properties": {"kernel_image": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Kernel image"}, "initrd": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Initrd disk image"}, "image": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "OS image"}, "bios_image": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Bios image"}, "hda_disk_image": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Hda disk image"}, "hdb_disk_image": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Hdc disk image"}, "hdc_disk_image": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Hdd disk image"}, "hdd_disk_image": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Hdd diskimage"}, "cdrom_image": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "cdrom image"}}, "type": "object", "title": "ApplianceVersionImages"}, "Arch": {"type": "string", "enum": ["aarch64", "alpha", "arm", "cris", "i386", "lm32", "m68k", "microblaze", "microblazeel", "mips", "mips64", "mips64el", "mipsel", "moxie", "or32", "ppc", "ppc64", "ppcemb", "s390x", "sh4", "sh4eb", "sparc", "sparc64", "tricore", "unicore32", "x86_64", "xtensa", "xtensaeb"], "title": "Arch"}, "AutoIdlePC": {"properties": {"platform": {"type": "string", "title": "Platform", "description": "Cisco platform"}, "image": {"type": "string", "title": "Image", "description": "Image path"}, "ram": {"type": "integer", "title": "Ram", "description": "Amount of RAM in MB"}}, "type": "object", "required": ["platform", "image", "ram"], "title": "AutoIdlePC", "description": "Data for auto Idle-PC request.", "example": {"image": "/path/to/c7200_image.bin", "platform": "c7200", "ram": 256}}, "Availability": {"type": "string", "enum": ["free", "with-registration", "free-to-try", "service-contract"], "title": "Availability"}, "Body_load_project_v3_projects_load_post": {"properties": {"path": {"type": "string", "title": "Path"}}, "type": "object", "required": ["path"], "title": "Body_load_project_v3_projects_load_post"}, "Body_login_v3_access_users_login_post": {"properties": {"grant_type": {"anyOf": [{"type": "string", "pattern": "password"}, {"type": "null"}], "title": "Grant Type"}, "username": {"type": "string", "title": "Username"}, "password": {"type": "string", "title": "Password"}, "scope": {"type": "string", "title": "Scope", "default": ""}, "client_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Client Id"}, "client_secret": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Client Secret"}}, "type": "object", "required": ["username", "password"], "title": "Body_login_v3_access_users_login_post"}, "BootPriority": {"type": "string", "enum": ["c", "d", "n", "cn", "cd", "dn", "dc", "nc", "nd"], "title": "BootPriority"}, "Capabilities": {"properties": {"version": {"type": "string", "title": "Version", "description": "Compute version number"}, "node_types": {"items": {"$ref": "#/components/schemas/NodeType"}, "type": "array", "title": "Node Types", "description": "Node types supported by the compute"}, "platform": {"type": "string", "title": "Platform", "description": "Platform where the compute is running (Linux, Windows or macOS)"}, "cpus": {"type": "integer", "title": "Cpus", "description": "Number of CPUs on this compute"}, "memory": {"type": "integer", "title": "Memory", "description": "Amount of memory on this compute"}, "disk_size": {"type": "integer", "title": "Disk Size", "description": "Disk size on this compute"}}, "type": "object", "required": ["version", "node_types", "platform", "cpus", "memory", "disk_size"], "title": "Capabilities", "description": "Capabilities supported by a compute."}, "Category-Input": {"type": "string", "enum": ["router", "switch", "guest", "firewall"], "title": "Category", "description": "Supported categories"}, "Chassis": {"type": "string", "enum": ["1720", "1721", "1750", "1751", "1760", "2610", "2620", "2610XM", "2620XM", "2650XM", "2621", "2611XM", "2621XM", "2651XM", "3620", "3640", "3660"], "title": "Chassis"}, "Compression": {"type": "string", "enum": ["bzip2", "gzip", "lzma", "xz", "rar", "zip", "7z"], "title": "Compression"}, "Compute": {"properties": {"protocol": {"$ref": "#/components/schemas/Protocol"}, "host": {"type": "string", "title": "Host"}, "port": {"type": "integer", "maximum": 65535.0, "exclusiveMinimum": 0.0, "title": "Port"}, "user": {"type": "string", "title": "User"}, "password": {"anyOf": [{"type": "string", "format": "password", "writeOnly": true}, {"type": "null"}], "title": "Password"}, "name": {"type": "string", "title": "Name"}, "created_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Created At"}, "updated_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Updated At"}, "compute_id": {"anyOf": [{"type": "string"}, {"type": "string", "format": "uuid"}], "title": "Compute Id"}, "connected": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Connected", "description": "Whether the controller is connected to the compute or not"}, "cpu_usage_percent": {"anyOf": [{"type": "number", "maximum": 100.0, "minimum": 0.0}, {"type": "null"}], "title": "Cpu Usage Percent", "description": "CPU usage of the compute"}, "memory_usage_percent": {"anyOf": [{"type": "number", "maximum": 100.0, "minimum": 0.0}, {"type": "null"}], "title": "Memory Usage Percent", "description": "Memory usage of the compute"}, "disk_usage_percent": {"anyOf": [{"type": "number", "maximum": 100.0, "minimum": 0.0}, {"type": "null"}], "title": "Disk Usage Percent", "description": "Disk usage of the compute"}, "last_error": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Last Error", "description": "Last error found on the compute"}, "capabilities": {"anyOf": [{"$ref": "#/components/schemas/Capabilities"}, {"type": "null"}]}}, "type": "object", "required": ["protocol", "host", "port", "name", "compute_id"], "title": "Compute", "description": "Data returned for a compute."}, "ComputeCreate": {"properties": {"protocol": {"$ref": "#/components/schemas/Protocol"}, "host": {"type": "string", "title": "Host"}, "port": {"type": "integer", "maximum": 65535.0, "exclusiveMinimum": 0.0, "title": "Port"}, "user": {"type": "string", "title": "User"}, "password": {"anyOf": [{"type": "string", "format": "password", "writeOnly": true}, {"type": "null"}], "title": "Password"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}, "compute_id": {"anyOf": [{"type": "string"}, {"type": "string", "format": "uuid"}], "title": "Compute Id"}}, "type": "object", "required": ["protocol", "host", "port"], "title": "ComputeCreate", "description": "Data to create a compute.", "example": {"host": "127.0.0.1", "name": "My compute", "password": "password", "port": 3080, "user": "user"}}, "ComputeDockerImage": {"properties": {"image": {"type": "string", "title": "Image", "description": "Docker image name"}}, "type": "object", "required": ["image"], "title": "ComputeDockerImage", "description": "Docker image from compute."}, "ComputeUpdate": {"properties": {"protocol": {"anyOf": [{"$ref": "#/components/schemas/Protocol"}, {"type": "null"}]}, "host": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Host"}, "port": {"anyOf": [{"type": "integer", "maximum": 65535.0, "exclusiveMinimum": 0.0}, {"type": "null"}], "title": "Port"}, "user": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "User"}, "password": {"anyOf": [{"type": "string", "format": "password", "writeOnly": true}, {"type": "null"}], "title": "Password"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}}, "type": "object", "title": "ComputeUpdate", "description": "Data to update a compute.", "example": {"host": "10.0.0.1", "port": 8080}}, "ComputeVMwareVM": {"properties": {"vmname": {"type": "string", "title": "Vmname", "description": "VMware VM name"}, "vmx_path": {"type": "string", "title": "Vmx Path", "description": "Path to the vmx file"}}, "type": "object", "required": ["vmname", "vmx_path"], "title": "ComputeVMwareVM", "description": "VMware VM from compute."}, "ComputeVirtualBoxVM": {"properties": {"vmname": {"type": "string", "title": "Vmname", "description": "VirtualBox VM name"}, "ram": {"type": "integer", "title": "Ram", "description": "VirtualBox VM memory"}}, "type": "object", "required": ["vmname", "ram"], "title": "ComputeVirtualBoxVM", "description": "VirtualBox VM from compute."}, "ConsoleType-Input": {"type": "string", "enum": ["vnc", "telnet", "http", "https", "spice", "spice+agent", "none"], "title": "ConsoleType", "description": "Supported console types."}, "ConsoleType1": {"type": "string", "enum": ["telnet", "vnc", "spice", "spice+agent", "none"], "title": "ConsoleType1"}, "Credentials": {"properties": {"username": {"type": "string", "title": "Username"}, "password": {"type": "string", "title": "Password"}}, "type": "object", "required": ["username", "password"], "title": "Credentials"}, "CustomAdapter": {"properties": {"adapter_number": {"type": "integer", "title": "Adapter Number"}, "port_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Port Name"}, "adapter_type": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Adapter Type"}, "mac_address": {"anyOf": [{"type": "string", "pattern": "^([0-9a-fA-F]{2}[:]){5}([0-9a-fA-F]{2})$"}, {"type": "null"}], "title": "Mac Address"}}, "type": "object", "required": ["adapter_number"], "title": "CustomAdapter", "description": "Custom adapter data."}, "DiskInterface": {"type": "string", "enum": ["ide", "sata", "nvme", "scsi", "sd", "mtd", "floppy", "pflash", "virtio", "none"], "title": "DiskInterface"}, "Docker": {"properties": {"adapters": {"type": "integer", "title": "Number of ethernet adapters"}, "image": {"type": "string", "title": "Docker image in the Docker Hub"}, "start_command": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Command executed when the container start. Empty will use the default"}, "environment": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "One KEY=VAR environment by line"}, "console_type": {"anyOf": [{"$ref": "#/components/schemas/gns3server__schemas__controller__appliances__ConsoleType"}, {"type": "null"}], "title": "Type of console connection for the administration of the appliance"}, "console_http_port": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Console Http Port", "description": "Internal port in the container of the HTTP server"}, "console_http_path": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Console Http Path", "description": "Path of the web interface"}, "extra_hosts": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Extra Hosts", "description": "Hosts which will be written to /etc/hosts into container"}, "extra_volumes": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "title": "Extra Volumes", "description": "Additional directories to make persistent that are not included in the images VOLUME directive"}}, "type": "object", "required": ["adapters", "image"], "title": "Docker"}, "Drawing": {"properties": {"drawing_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Drawing Id"}, "project_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Project Id"}, "x": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "X"}, "y": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Y"}, "z": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Z"}, "locked": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Locked"}, "rotation": {"anyOf": [{"type": "integer", "maximum": 360.0, "minimum": -359.0}, {"type": "null"}], "title": "Rotation"}, "svg": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Svg"}}, "type": "object", "title": "Drawing", "description": "Drawing data."}, "Dynamips": {"properties": {"chassis": {"anyOf": [{"$ref": "#/components/schemas/Chassis"}, {"type": "null"}], "title": "Chassis type"}, "platform": {"allOf": [{"$ref": "#/components/schemas/Platform"}], "title": "Platform type"}, "ram": {"type": "integer", "minimum": 1.0, "title": "Amount of ram"}, "nvram": {"type": "integer", "minimum": 1.0, "title": "Amount of nvram"}, "startup_config": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Config loaded at startup"}, "wic0": {"anyOf": [{"$ref": "#/components/schemas/DynamipsWic"}, {"type": "null"}]}, "wic1": {"anyOf": [{"$ref": "#/components/schemas/DynamipsWic"}, {"type": "null"}]}, "wic2": {"anyOf": [{"$ref": "#/components/schemas/DynamipsWic"}, {"type": "null"}]}, "slot0": {"anyOf": [{"$ref": "#/components/schemas/DynamipsSlot"}, {"type": "null"}]}, "slot1": {"anyOf": [{"$ref": "#/components/schemas/DynamipsSlot"}, {"type": "null"}]}, "slot2": {"anyOf": [{"$ref": "#/components/schemas/DynamipsSlot"}, {"type": "null"}]}, "slot3": {"anyOf": [{"$ref": "#/components/schemas/DynamipsSlot"}, {"type": "null"}]}, "slot4": {"anyOf": [{"$ref": "#/components/schemas/DynamipsSlot"}, {"type": "null"}]}, "slot5": {"anyOf": [{"$ref": "#/components/schemas/DynamipsSlot"}, {"type": "null"}]}, "slot6": {"anyOf": [{"$ref": "#/components/schemas/DynamipsSlot"}, {"type": "null"}]}, "midplane": {"anyOf": [{"$ref": "#/components/schemas/Midplane"}, {"type": "null"}]}, "npe": {"anyOf": [{"$ref": "#/components/schemas/Npe"}, {"type": "null"}]}}, "type": "object", "required": ["platform", "ram", "nvram"], "title": "Dynamips"}, "DynamipsSlot": {"type": "string", "enum": ["C7200-IO-2FE", "C7200-IO-FE", "C7200-IO-GE-E", "NM-16ESW", "NM-1E", "NM-1FE-TX", "NM-4E", "NM-4T", "PA-2FE-TX", "PA-4E", "PA-4T+", "PA-8E", "PA-8T", "PA-A1", "PA-FE-TX", "PA-GE", "PA-POS-OC3", "C2600-MB-2FE", "C2600-MB-1E", "C1700-MB-1FE", "C2600-MB-2E", "C2600-MB-1FE", "C1700-MB-WIC1", "GT96100-FE", "Leopard-2FE", ""], "title": "DynamipsSlot"}, "DynamipsWic": {"type": "string", "enum": ["WIC-1ENET", "WIC-1T", "WIC-2T"], "title": "DynamipsWic"}, "Engine": {"type": "string", "enum": ["vmware", "virtualbox", "hyper-v", "none"], "title": "Engine", "description": "\"The engine to use for the GNS3 VM."}, "ErrorMessage": {"properties": {"message": {"type": "string", "title": "Message"}}, "type": "object", "required": ["message"], "title": "ErrorMessage", "description": "Error message."}, "GNS3VM": {"properties": {"enable": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Enable", "description": "Enable/disable the GNS3 VM"}, "vmname": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Vmname", "description": "GNS3 VM name"}, "when_exit": {"anyOf": [{"$ref": "#/components/schemas/WhenExit"}, {"type": "null"}], "description": "Action when the GNS3 VM exits"}, "headless": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Headless", "description": "Start the GNS3 VM GUI or not"}, "engine": {"anyOf": [{"$ref": "#/components/schemas/Engine"}, {"type": "null"}], "description": "The engine to use for the GNS3 VM"}, "allocate_vcpus_ram": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Allocate Vcpus Ram", "description": "Allocate vCPUS and RAM settings"}, "vcpus": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Vcpus", "description": "Number of CPUs to allocate for the GNS3 VM"}, "ram": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Ram", "description": "Amount of memory to allocate for the GNS3 VM"}, "port": {"anyOf": [{"type": "integer", "maximum": 65535.0, "exclusiveMinimum": 0.0}, {"type": "null"}], "title": "Port"}}, "type": "object", "title": "GNS3VM", "description": "GNS3 VM data."}, "HTTPValidationError": {"properties": {"detail": {"items": {"$ref": "#/components/schemas/ValidationError"}, "type": "array", "title": "Detail"}}, "type": "object", "title": "HTTPValidationError"}, "IOULicense": {"properties": {"iourc_content": {"type": "string", "title": "Iourc Content", "description": "Content of iourc file"}, "license_check": {"type": "boolean", "title": "License Check", "description": "Whether the license must be checked or not"}}, "type": "object", "required": ["iourc_content", "license_check"], "title": "IOULicense"}, "Image": {"properties": {"filename": {"type": "string", "title": "Filename", "description": "Image filename"}, "path": {"type": "string", "title": "Path", "description": "Image path"}, "image_type": {"allOf": [{"$ref": "#/components/schemas/ImageType"}], "description": "Image type"}, "image_size": {"type": "integer", "title": "Image Size", "description": "Image size in bytes"}, "checksum": {"type": "string", "title": "Checksum", "description": "Checksum value"}, "checksum_algorithm": {"type": "string", "title": "Checksum Algorithm", "description": "Checksum algorithm"}, "created_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Created At"}, "updated_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Updated At"}}, "type": "object", "required": ["filename", "path", "image_type", "image_size", "checksum", "checksum_algorithm"], "title": "Image"}, "ImageType": {"type": "string", "enum": ["qemu", "ios", "iou"], "title": "ImageType"}, "Iou": {"properties": {"ethernet_adapters": {"type": "integer", "title": "Number of ethernet adapters"}, "serial_adapters": {"type": "integer", "title": "Number of serial adapters"}, "nvram": {"type": "integer", "title": "Host NVRAM"}, "ram": {"type": "integer", "title": "Host RAM"}, "startup_config": {"type": "string", "title": "Config loaded at startup"}}, "type": "object", "required": ["ethernet_adapters", "serial_adapters", "nvram", "ram", "startup_config"], "title": "Iou"}, "Kvm": {"type": "string", "enum": ["require", "allow", "disable"], "title": "Kvm"}, "Label": {"properties": {"text": {"type": "string", "title": "Text"}, "style": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Style", "description": "SVG style attribute. Apply default style if null"}, "x": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "X", "description": "Relative X position of the label. Center it if null"}, "y": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Y", "description": "Relative Y position of the label"}, "rotation": {"anyOf": [{"type": "integer", "maximum": 360.0, "minimum": -359.0}, {"type": "null"}], "title": "Rotation", "description": "Rotation of the label"}}, "type": "object", "required": ["text"], "title": "Label", "description": "Label data."}, "Link": {"properties": {"nodes": {"anyOf": [{"items": {"$ref": "#/components/schemas/LinkNode"}, "type": "array", "maxItems": 2, "minItems": 0}, {"type": "null"}], "title": "Nodes"}, "suspend": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Suspend"}, "link_style": {"anyOf": [{"$ref": "#/components/schemas/LinkStyle"}, {"type": "null"}]}, "filters": {"anyOf": [{"type": "object"}, {"type": "null"}], "title": "Filters"}, "link_id": {"type": "string", "format": "uuid", "title": "Link Id"}, "project_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Project Id"}, "link_type": {"anyOf": [{"$ref": "#/components/schemas/gns3server__schemas__controller__links__LinkType"}, {"type": "null"}]}, "capturing": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Capturing", "description": "Read only property. True if a capture running on the link"}, "capture_file_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Capture File Name", "description": "Read only property. The name of the capture file if a capture is running"}, "capture_file_path": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Capture File Path", "description": "Read only property. The full path of the capture file if a capture is running"}, "capture_compute_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Capture Compute Id", "description": "Read only property. The compute identifier where a capture is running"}}, "type": "object", "required": ["link_id"], "title": "Link"}, "LinkCreate": {"properties": {"nodes": {"items": {"$ref": "#/components/schemas/LinkNode"}, "type": "array", "maxItems": 2, "minItems": 2, "title": "Nodes"}, "suspend": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Suspend"}, "link_style": {"anyOf": [{"$ref": "#/components/schemas/LinkStyle"}, {"type": "null"}]}, "filters": {"anyOf": [{"type": "object"}, {"type": "null"}], "title": "Filters"}, "link_id": {"type": "string", "format": "uuid", "title": "Link Id"}}, "type": "object", "required": ["nodes"], "title": "LinkCreate"}, "LinkNode": {"properties": {"node_id": {"type": "string", "format": "uuid", "title": "Node Id"}, "adapter_number": {"type": "integer", "title": "Adapter Number"}, "port_number": {"type": "integer", "title": "Port Number"}, "label": {"anyOf": [{"$ref": "#/components/schemas/Label"}, {"type": "null"}]}}, "type": "object", "required": ["node_id", "adapter_number", "port_number"], "title": "LinkNode", "description": "Link node data."}, "LinkStyle": {"properties": {"color": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Color"}, "width": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Width"}, "type": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Type"}}, "type": "object", "title": "LinkStyle"}, "LinkUpdate": {"properties": {"nodes": {"anyOf": [{"items": {"$ref": "#/components/schemas/LinkNode"}, "type": "array", "maxItems": 2, "minItems": 0}, {"type": "null"}], "title": "Nodes"}, "suspend": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Suspend"}, "link_style": {"anyOf": [{"$ref": "#/components/schemas/LinkStyle"}, {"type": "null"}]}, "filters": {"anyOf": [{"type": "object"}, {"type": "null"}], "title": "Filters"}}, "type": "object", "title": "LinkUpdate"}, "LoggedInUserUpdate": {"properties": {"password": {"anyOf": [{"type": "string", "maxLength": 100, "minLength": 6, "format": "password", "writeOnly": true}, {"type": "null"}], "title": "Password"}, "email": {"anyOf": [{"type": "string", "format": "email"}, {"type": "null"}], "title": "Email"}, "full_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Full Name"}}, "type": "object", "title": "LoggedInUserUpdate", "description": "Properties to update a logged-in user."}, "Midplane": {"type": "string", "enum": ["std", "vxr"], "title": "Midplane"}, "Node": {"properties": {"compute_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "string"}], "title": "Compute Id"}, "name": {"type": "string", "title": "Name"}, "node_type": {"$ref": "#/components/schemas/NodeType"}, "node_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Node Id"}, "console": {"anyOf": [{"type": "integer", "maximum": 65535.0, "exclusiveMinimum": 0.0}, {"type": "null"}], "title": "Console", "description": "Console TCP port"}, "console_type": {"anyOf": [{"$ref": "#/components/schemas/gns3server__schemas__common__ConsoleType"}, {"type": "null"}]}, "console_auto_start": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Console Auto Start", "description": "Automatically start the console when the node has started", "default": false}, "aux": {"anyOf": [{"type": "integer", "maximum": 65535.0, "exclusiveMinimum": 0.0}, {"type": "null"}], "title": "Aux", "description": "Auxiliary console TCP port"}, "aux_type": {"anyOf": [{"$ref": "#/components/schemas/gns3server__schemas__common__ConsoleType"}, {"type": "null"}]}, "properties": {"anyOf": [{"type": "object"}, {"type": "null"}], "title": "Properties", "description": "Properties specific to an emulator"}, "label": {"anyOf": [{"$ref": "#/components/schemas/Label"}, {"type": "null"}]}, "symbol": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Symbol"}, "x": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "X", "default": 0}, "y": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Y", "default": 0}, "z": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Z", "default": 1}, "locked": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Locked", "description": "Whether the element locked or not", "default": false}, "port_name_format": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Port Name Format", "descript_port_name_formation": "Formatting for port name {0} will be replace by port number"}, "port_segment_size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Port Segment Size", "description": "Size of the port segment"}, "first_port_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "First Port Name", "description": "Name of the first port"}, "custom_adapters": {"anyOf": [{"items": {"$ref": "#/components/schemas/CustomAdapter"}, "type": "array"}, {"type": "null"}], "title": "Custom Adapters"}, "template_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Template Id", "description": "Template UUID from which the node has been created. Read only"}, "project_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Project Id"}, "node_directory": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Node Directory", "description": "Working directory of the node. Read only"}, "status": {"anyOf": [{"$ref": "#/components/schemas/NodeStatus"}, {"type": "null"}], "description": "Node status. Read only"}, "command_line": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Command Line", "description": "Command line use to start the node. Read only"}, "width": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Width", "description": "Width of the node. Read only"}, "height": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Height", "description": "Height of the node. Read only"}, "ports": {"anyOf": [{"items": {"$ref": "#/components/schemas/NodePort"}, "type": "array"}, {"type": "null"}], "title": "Ports", "description": "List of node ports. Read only"}, "console_host": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Console Host", "description": "Console host. Warning if the host is 0.0.0.0 or :: (listen on all interfaces) you need to use the same address you use to connect to the controller"}}, "type": "object", "required": ["compute_id", "name", "node_type"], "title": "Node"}, "NodeCreate": {"properties": {"compute_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "string"}], "title": "Compute Id"}, "name": {"type": "string", "title": "Name"}, "node_type": {"$ref": "#/components/schemas/NodeType"}, "node_id": {"type": "string", "format": "uuid", "title": "Node Id"}, "console": {"anyOf": [{"type": "integer", "maximum": 65535.0, "exclusiveMinimum": 0.0}, {"type": "null"}], "title": "Console", "description": "Console TCP port"}, "console_type": {"anyOf": [{"$ref": "#/components/schemas/ConsoleType-Input"}, {"type": "null"}]}, "console_auto_start": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Console Auto Start", "description": "Automatically start the console when the node has started", "default": false}, "aux": {"anyOf": [{"type": "integer", "maximum": 65535.0, "exclusiveMinimum": 0.0}, {"type": "null"}], "title": "Aux", "description": "Auxiliary console TCP port"}, "aux_type": {"anyOf": [{"$ref": "#/components/schemas/ConsoleType-Input"}, {"type": "null"}]}, "properties": {"anyOf": [{"type": "object"}, {"type": "null"}], "title": "Properties", "description": "Properties specific to an emulator"}, "label": {"anyOf": [{"$ref": "#/components/schemas/Label"}, {"type": "null"}]}, "symbol": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Symbol"}, "x": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "X", "default": 0}, "y": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Y", "default": 0}, "z": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Z", "default": 1}, "locked": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Locked", "description": "Whether the element locked or not", "default": false}, "port_name_format": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Port Name Format", "descript_port_name_formation": "Formatting for port name {0} will be replace by port number"}, "port_segment_size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Port Segment Size", "description": "Size of the port segment"}, "first_port_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "First Port Name", "description": "Name of the first port"}, "custom_adapters": {"anyOf": [{"items": {"$ref": "#/components/schemas/CustomAdapter"}, "type": "array"}, {"type": "null"}], "title": "Custom Adapters"}}, "type": "object", "required": ["compute_id", "name", "node_type"], "title": "NodeCreate"}, "NodeDuplicate": {"properties": {"x": {"type": "integer", "title": "X"}, "y": {"type": "integer", "title": "Y"}, "z": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Z", "default": 0}}, "type": "object", "required": ["x", "y"], "title": "NodeDuplicate", "description": "Data to duplicate a node."}, "NodePort": {"properties": {"name": {"type": "string", "title": "Name", "description": "Port name"}, "short_name": {"type": "string", "title": "Short Name", "description": "Port name"}, "adapter_number": {"type": "integer", "title": "Adapter Number", "description": "Adapter slot"}, "adapter_type": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Adapter Type", "description": "Adapter type"}, "port_number": {"type": "integer", "title": "Port Number", "description": "Port slot"}, "link_type": {"allOf": [{"$ref": "#/components/schemas/gns3server__schemas__controller__nodes__LinkType"}], "description": "Type of link"}, "data_link_types": {"type": "object", "title": "Data Link Types", "description": "Available PCAP types for capture"}, "mac_address": {"anyOf": [{"type": "string", "pattern": "^([0-9a-fA-F]{2}[:]){5}([0-9a-fA-F]{2})$"}, {"type": "null"}], "title": "Mac Address"}}, "type": "object", "required": ["name", "short_name", "adapter_number", "port_number", "link_type", "data_link_types"], "title": "NodePort", "description": "Node port data."}, "NodeStatus": {"type": "string", "enum": ["stopped", "started", "suspended"], "title": "NodeStatus", "description": "Supported node statuses."}, "NodeType": {"type": "string", "enum": ["cloud", "nat", "ethernet_hub", "ethernet_switch", "frame_relay_switch", "atm_switch", "docker", "dynamips", "vpcs", "virtualbox", "vmware", "iou", "qemu"], "title": "NodeType", "description": "Supported node types."}, "NodeUpdate": {"properties": {"compute_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "string"}, {"type": "null"}], "title": "Compute Id"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}, "node_type": {"anyOf": [{"$ref": "#/components/schemas/NodeType"}, {"type": "null"}]}, "node_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Node Id"}, "console": {"anyOf": [{"type": "integer", "maximum": 65535.0, "exclusiveMinimum": 0.0}, {"type": "null"}], "title": "Console", "description": "Console TCP port"}, "console_type": {"anyOf": [{"$ref": "#/components/schemas/ConsoleType-Input"}, {"type": "null"}]}, "console_auto_start": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Console Auto Start", "description": "Automatically start the console when the node has started", "default": false}, "aux": {"anyOf": [{"type": "integer", "maximum": 65535.0, "exclusiveMinimum": 0.0}, {"type": "null"}], "title": "Aux", "description": "Auxiliary console TCP port"}, "aux_type": {"anyOf": [{"$ref": "#/components/schemas/ConsoleType-Input"}, {"type": "null"}]}, "properties": {"anyOf": [{"type": "object"}, {"type": "null"}], "title": "Properties", "description": "Properties specific to an emulator"}, "label": {"anyOf": [{"$ref": "#/components/schemas/Label"}, {"type": "null"}]}, "symbol": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Symbol"}, "x": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "X", "default": 0}, "y": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Y", "default": 0}, "z": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Z", "default": 1}, "locked": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Locked", "description": "Whether the element locked or not", "default": false}, "port_name_format": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Port Name Format", "descript_port_name_formation": "Formatting for port name {0} will be replace by port number"}, "port_segment_size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Port Segment Size", "description": "Size of the port segment"}, "first_port_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "First Port Name", "description": "Name of the first port"}, "custom_adapters": {"anyOf": [{"items": {"$ref": "#/components/schemas/CustomAdapter"}, "type": "array"}, {"type": "null"}], "title": "Custom Adapters"}}, "type": "object", "title": "NodeUpdate", "description": "Data to update a node."}, "Npe": {"type": "string", "enum": ["npe-100", "npe-150", "npe-175", "npe-200", "npe-225", "npe-300", "npe-400", "npe-g2"], "title": "Npe"}, "Platform": {"type": "string", "enum": ["c1700", "c2600", "c2691", "c3725", "c3745", "c3600", "c7200"], "title": "Platform"}, "Privilege": {"properties": {"name": {"type": "string", "title": "Name"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Description"}, "created_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Created At"}, "updated_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Updated At"}, "privilege_id": {"type": "string", "format": "uuid", "title": "Privilege Id"}}, "type": "object", "required": ["name", "privilege_id"], "title": "Privilege"}, "ProcessPriority": {"type": "string", "enum": ["realtime", "very high", "high", "normal", "low", "very low", "null"], "title": "ProcessPriority"}, "Project": {"properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}, "project_id": {"type": "string", "format": "uuid", "title": "Project Id"}, "path": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Path", "description": "Project directory"}, "auto_close": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Auto Close", "description": "Close project when last client leaves"}, "auto_open": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Auto Open", "description": "Project opens when GNS3 starts"}, "auto_start": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Auto Start", "description": "Project starts when opened"}, "scene_height": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Scene Height", "description": "Height of the drawing area"}, "scene_width": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Scene Width", "description": "Width of the drawing area"}, "zoom": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Zoom", "description": "Zoom of the drawing area"}, "show_layers": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Layers", "description": "Show layers on the drawing area"}, "snap_to_grid": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Snap To Grid", "description": "Snap to grid on the drawing area"}, "show_grid": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Grid", "description": "Show the grid on the drawing area"}, "grid_size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Grid Size", "description": "Grid size for the drawing area for nodes"}, "drawing_grid_size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Drawing Grid Size", "description": "Grid size for the drawing area for drawings"}, "show_interface_labels": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Interface Labels", "description": "Show interface labels on the drawing area"}, "supplier": {"anyOf": [{"$ref": "#/components/schemas/Supplier"}, {"type": "null"}], "description": "Supplier of the project"}, "variables": {"anyOf": [{"items": {"$ref": "#/components/schemas/Variable"}, "type": "array"}, {"type": "null"}], "title": "Variables", "description": "Variables required to run the project"}, "status": {"anyOf": [{"$ref": "#/components/schemas/ProjectStatus"}, {"type": "null"}]}, "filename": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Filename"}}, "type": "object", "required": ["project_id"], "title": "Project"}, "ProjectCompression": {"type": "string", "enum": ["none", "zip", "bzip2", "lzma", "zstd"], "title": "ProjectCompression", "description": "Supported project compression."}, "ProjectCreate": {"properties": {"name": {"type": "string", "title": "Name"}, "project_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Project Id"}, "path": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Path", "description": "Project directory"}, "auto_close": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Auto Close", "description": "Close project when last client leaves"}, "auto_open": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Auto Open", "description": "Project opens when GNS3 starts"}, "auto_start": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Auto Start", "description": "Project starts when opened"}, "scene_height": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Scene Height", "description": "Height of the drawing area"}, "scene_width": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Scene Width", "description": "Width of the drawing area"}, "zoom": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Zoom", "description": "Zoom of the drawing area"}, "show_layers": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Layers", "description": "Show layers on the drawing area"}, "snap_to_grid": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Snap To Grid", "description": "Snap to grid on the drawing area"}, "show_grid": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Grid", "description": "Show the grid on the drawing area"}, "grid_size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Grid Size", "description": "Grid size for the drawing area for nodes"}, "drawing_grid_size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Drawing Grid Size", "description": "Grid size for the drawing area for drawings"}, "show_interface_labels": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Interface Labels", "description": "Show interface labels on the drawing area"}, "supplier": {"anyOf": [{"$ref": "#/components/schemas/Supplier"}, {"type": "null"}], "description": "Supplier of the project"}, "variables": {"anyOf": [{"items": {"$ref": "#/components/schemas/Variable"}, "type": "array"}, {"type": "null"}], "title": "Variables", "description": "Variables required to run the project"}}, "type": "object", "required": ["name"], "title": "ProjectCreate", "description": "Properties for project creation."}, "ProjectDuplicate": {"properties": {"name": {"type": "string", "title": "Name"}, "project_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Project Id"}, "path": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Path", "description": "Project directory"}, "auto_close": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Auto Close", "description": "Close project when last client leaves"}, "auto_open": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Auto Open", "description": "Project opens when GNS3 starts"}, "auto_start": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Auto Start", "description": "Project starts when opened"}, "scene_height": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Scene Height", "description": "Height of the drawing area"}, "scene_width": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Scene Width", "description": "Width of the drawing area"}, "zoom": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Zoom", "description": "Zoom of the drawing area"}, "show_layers": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Layers", "description": "Show layers on the drawing area"}, "snap_to_grid": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Snap To Grid", "description": "Snap to grid on the drawing area"}, "show_grid": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Grid", "description": "Show the grid on the drawing area"}, "grid_size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Grid Size", "description": "Grid size for the drawing area for nodes"}, "drawing_grid_size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Drawing Grid Size", "description": "Grid size for the drawing area for drawings"}, "show_interface_labels": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Interface Labels", "description": "Show interface labels on the drawing area"}, "supplier": {"anyOf": [{"$ref": "#/components/schemas/Supplier"}, {"type": "null"}], "description": "Supplier of the project"}, "variables": {"anyOf": [{"items": {"$ref": "#/components/schemas/Variable"}, "type": "array"}, {"type": "null"}], "title": "Variables", "description": "Variables required to run the project"}, "reset_mac_addresses": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Reset Mac Addresses", "description": "Reset MAC addresses for this project", "default": false}}, "type": "object", "required": ["name"], "title": "ProjectDuplicate", "description": "Properties for project duplication."}, "ProjectStatus": {"type": "string", "enum": ["opened", "closed"], "title": "ProjectStatus", "description": "Supported project statuses."}, "ProjectUpdate": {"properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}, "project_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Project Id"}, "path": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Path", "description": "Project directory"}, "auto_close": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Auto Close", "description": "Close project when last client leaves"}, "auto_open": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Auto Open", "description": "Project opens when GNS3 starts"}, "auto_start": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Auto Start", "description": "Project starts when opened"}, "scene_height": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Scene Height", "description": "Height of the drawing area"}, "scene_width": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Scene Width", "description": "Width of the drawing area"}, "zoom": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Zoom", "description": "Zoom of the drawing area"}, "show_layers": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Layers", "description": "Show layers on the drawing area"}, "snap_to_grid": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Snap To Grid", "description": "Snap to grid on the drawing area"}, "show_grid": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Grid", "description": "Show the grid on the drawing area"}, "grid_size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Grid Size", "description": "Grid size for the drawing area for nodes"}, "drawing_grid_size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Drawing Grid Size", "description": "Grid size for the drawing area for drawings"}, "show_interface_labels": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Show Interface Labels", "description": "Show interface labels on the drawing area"}, "supplier": {"anyOf": [{"$ref": "#/components/schemas/Supplier"}, {"type": "null"}], "description": "Supplier of the project"}, "variables": {"anyOf": [{"items": {"$ref": "#/components/schemas/Variable"}, "type": "array"}, {"type": "null"}], "title": "Variables", "description": "Variables required to run the project"}}, "type": "object", "title": "ProjectUpdate", "description": "Properties for project update."}, "Protocol": {"type": "string", "enum": ["http", "https"], "title": "Protocol", "description": "Protocol supported to communicate with a compute."}, "Qemu": {"properties": {"adapter_type": {"allOf": [{"$ref": "#/components/schemas/AdapterType"}], "title": "Type of network adapter"}, "adapters": {"type": "integer", "title": "Number of adapters"}, "ram": {"type": "integer", "title": "Ram allocated to the appliance (MB)"}, "cpus": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Number of Virtual CPU"}, "hda_disk_interface": {"anyOf": [{"$ref": "#/components/schemas/DiskInterface"}, {"type": "null"}], "title": "Disk interface for the installed hda_disk_image"}, "hdb_disk_interface": {"anyOf": [{"$ref": "#/components/schemas/DiskInterface"}, {"type": "null"}], "title": "Disk interface for the installed hdb_disk_image"}, "hdc_disk_interface": {"anyOf": [{"$ref": "#/components/schemas/DiskInterface"}, {"type": "null"}], "title": "Disk interface for the installed hdc_disk_image"}, "hdd_disk_interface": {"anyOf": [{"$ref": "#/components/schemas/DiskInterface"}, {"type": "null"}], "title": "Disk interface for the installed hdd_disk_image"}, "arch": {"allOf": [{"$ref": "#/components/schemas/Arch"}], "title": "Architecture emulated"}, "console_type": {"allOf": [{"$ref": "#/components/schemas/ConsoleType1"}], "title": "Type of console connection for the administration of the appliance"}, "boot_priority": {"anyOf": [{"$ref": "#/components/schemas/BootPriority"}, {"type": "null"}], "title": "Disk boot priority. Refer to -boot option in qemu manual for more details."}, "kernel_command_line": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Command line parameters send to the kernel"}, "kvm": {"allOf": [{"$ref": "#/components/schemas/Kvm"}], "title": "KVM requirements"}, "options": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Optional additional qemu command line options"}, "cpu_throttling": {"anyOf": [{"type": "number", "maximum": 100.0, "minimum": 0.0}, {"type": "null"}], "title": "Throttle the CPU"}, "process_priority": {"anyOf": [{"$ref": "#/components/schemas/ProcessPriority"}, {"type": "null"}], "title": "Process priority for QEMU"}}, "type": "object", "required": ["adapter_type", "adapters", "ram", "arch", "console_type", "kvm"], "title": "Qemu"}, "QemuDiskImageAdapterType": {"type": "string", "enum": ["ide", "lsilogic", "buslogic", "legacyESX"], "title": "QemuDiskImageAdapterType", "description": "Supported Qemu disk image on/off options."}, "QemuDiskImageCreate": {"properties": {"format": {"allOf": [{"$ref": "#/components/schemas/QemuDiskImageFormat"}], "description": "Image format type"}, "size": {"type": "integer", "title": "Size", "description": "Image size in Megabytes"}, "preallocation": {"anyOf": [{"$ref": "#/components/schemas/QemuDiskImagePreallocation"}, {"type": "null"}]}, "cluster_size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Cluster Size"}, "refcount_bits": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Refcount Bits"}, "lazy_refcounts": {"anyOf": [{"$ref": "#/components/schemas/QemuDiskImageOnOff"}, {"type": "null"}]}, "subformat": {"anyOf": [{"$ref": "#/components/schemas/QemuDiskImageSubformat"}, {"type": "null"}]}, "static": {"anyOf": [{"$ref": "#/components/schemas/QemuDiskImageOnOff"}, {"type": "null"}]}, "zeroed_grain": {"anyOf": [{"$ref": "#/components/schemas/QemuDiskImageOnOff"}, {"type": "null"}]}, "adapter_type": {"anyOf": [{"$ref": "#/components/schemas/QemuDiskImageAdapterType"}, {"type": "null"}]}}, "type": "object", "required": ["format", "size"], "title": "QemuDiskImageCreate"}, "QemuDiskImageFormat": {"type": "string", "enum": ["qcow2", "qcow", "vpc", "vdi", "vdmk", "raw"], "title": "QemuDiskImageFormat", "description": "Supported Qemu disk image formats."}, "QemuDiskImageOnOff": {"type": "string", "enum": ["on", "off"], "title": "QemuDiskImageOnOff", "description": "Supported Qemu image on/off options."}, "QemuDiskImagePreallocation": {"type": "string", "enum": ["off", "metadata", "falloc", "full"], "title": "QemuDiskImagePreallocation", "description": "Supported Qemu disk image pre-allocation options."}, "QemuDiskImageSubformat": {"type": "string", "enum": ["dynamic", "fixed", "streamOptimized", "twoGbMaxExtentSparse", "twoGbMaxExtentFlat", "monolithicSparse", "monolithicFlat"], "title": "QemuDiskImageSubformat", "description": "Supported Qemu disk image sub-format options."}, "QemuDiskImageUpdate": {"properties": {"format": {"anyOf": [{"$ref": "#/components/schemas/QemuDiskImageFormat"}, {"type": "null"}], "description": "Image format type"}, "size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Size", "description": "Image size in Megabytes"}, "preallocation": {"anyOf": [{"$ref": "#/components/schemas/QemuDiskImagePreallocation"}, {"type": "null"}]}, "cluster_size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Cluster Size"}, "refcount_bits": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Refcount Bits"}, "lazy_refcounts": {"anyOf": [{"$ref": "#/components/schemas/QemuDiskImageOnOff"}, {"type": "null"}]}, "subformat": {"anyOf": [{"$ref": "#/components/schemas/QemuDiskImageSubformat"}, {"type": "null"}]}, "static": {"anyOf": [{"$ref": "#/components/schemas/QemuDiskImageOnOff"}, {"type": "null"}]}, "zeroed_grain": {"anyOf": [{"$ref": "#/components/schemas/QemuDiskImageOnOff"}, {"type": "null"}]}, "adapter_type": {"anyOf": [{"$ref": "#/components/schemas/QemuDiskImageAdapterType"}, {"type": "null"}]}, "extend": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Extend", "description": "Number of Megabytes to extend the image"}}, "type": "object", "title": "QemuDiskImageUpdate"}, "RegistryVersion": {"type": "integer", "enum": [1, 2, 3, 4, 5, 6], "title": "RegistryVersion"}, "Resource": {"properties": {"resource_id": {"type": "string", "format": "uuid", "title": "Resource Id"}, "resource_type": {"allOf": [{"$ref": "#/components/schemas/ResourceType"}], "description": "Type of the resource"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}, "created_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Created At"}, "updated_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Updated At"}}, "type": "object", "required": ["resource_id", "resource_type"], "title": "Resource"}, "ResourcePool": {"properties": {"name": {"type": "string", "title": "Name"}, "created_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Created At"}, "updated_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Updated At"}, "resource_pool_id": {"type": "string", "format": "uuid", "title": "Resource Pool Id"}}, "type": "object", "required": ["name", "resource_pool_id"], "title": "ResourcePool"}, "ResourcePoolCreate": {"properties": {"name": {"type": "string", "title": "Name"}}, "type": "object", "required": ["name"], "title": "ResourcePoolCreate", "description": "Properties to create a resource pool."}, "ResourcePoolUpdate": {"properties": {"name": {"type": "string", "title": "Name"}}, "type": "object", "required": ["name"], "title": "ResourcePoolUpdate", "description": "Properties to update a resource pool."}, "ResourceType": {"type": "string", "const": "project", "title": "ResourceType"}, "Role": {"properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Description"}, "created_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Created At"}, "updated_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Updated At"}, "role_id": {"type": "string", "format": "uuid", "title": "Role Id"}, "is_builtin": {"type": "boolean", "title": "Is Builtin"}, "privileges": {"items": {"$ref": "#/components/schemas/Privilege"}, "type": "array", "title": "Privileges"}}, "type": "object", "required": ["role_id", "is_builtin", "privileges"], "title": "Role"}, "RoleCreate": {"properties": {"name": {"type": "string", "title": "Name"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Description"}}, "type": "object", "required": ["name"], "title": "RoleCreate", "description": "Properties to create a role."}, "RoleUpdate": {"properties": {"name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Description"}}, "type": "object", "title": "RoleUpdate", "description": "Properties to update a role."}, "Snapshot": {"properties": {"name": {"type": "string", "title": "Name"}, "snapshot_id": {"type": "string", "format": "uuid", "title": "Snapshot Id"}, "project_id": {"type": "string", "format": "uuid", "title": "Project Id"}, "created_at": {"type": "integer", "title": "Created At", "description": "Date of the snapshot (UTC timestamp)"}}, "type": "object", "required": ["name", "snapshot_id", "project_id", "created_at"], "title": "Snapshot"}, "SnapshotCreate": {"properties": {"name": {"type": "string", "title": "Name"}}, "type": "object", "required": ["name"], "title": "SnapshotCreate", "description": "Properties for snapshot creation."}, "Status": {"type": "string", "enum": ["stable", "experimental", "broken"], "title": "Status"}, "Supplier": {"properties": {"logo": {"type": "string", "title": "Logo", "description": "Path to the project supplier logo"}, "url": {"anyOf": [{"type": "string", "maxLength": 2083, "minLength": 1, "format": "uri"}, {"type": "null"}], "title": "Url", "description": "URL to the project supplier site"}}, "type": "object", "required": ["logo"], "title": "Supplier"}, "Template": {"properties": {"template_id": {"type": "string", "format": "uuid", "title": "Template Id"}, "name": {"type": "string", "title": "Name"}, "version": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Version"}, "category": {"$ref": "#/components/schemas/gns3server__schemas__controller__templates__Category"}, "default_name_format": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Default Name Format"}, "symbol": {"type": "string", "title": "Symbol"}, "builtin": {"type": "boolean", "title": "Builtin"}, "template_type": {"$ref": "#/components/schemas/NodeType"}, "compute_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Compute Id"}, "usage": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Usage", "default": ""}, "created_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Created At"}, "updated_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Updated At"}}, "additionalProperties": true, "type": "object", "required": ["template_id", "name", "category", "symbol", "builtin", "template_type"], "title": "Template"}, "TemplateCreate": {"properties": {"template_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Template Id"}, "name": {"type": "string", "title": "Name"}, "version": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Version"}, "category": {"anyOf": [{"$ref": "#/components/schemas/Category-Input"}, {"type": "null"}]}, "default_name_format": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Default Name Format"}, "symbol": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Symbol"}, "builtin": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Builtin"}, "template_type": {"$ref": "#/components/schemas/NodeType"}, "compute_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Compute Id"}, "usage": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Usage", "default": ""}}, "additionalProperties": true, "type": "object", "required": ["name", "template_type"], "title": "TemplateCreate", "description": "Properties to create a template."}, "TemplateUpdate": {"properties": {"template_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Template Id"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}, "version": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Version"}, "category": {"anyOf": [{"$ref": "#/components/schemas/Category-Input"}, {"type": "null"}]}, "default_name_format": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Default Name Format"}, "symbol": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Symbol"}, "builtin": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Builtin"}, "template_type": {"anyOf": [{"$ref": "#/components/schemas/NodeType"}, {"type": "null"}]}, "compute_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Compute Id"}, "usage": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Usage", "default": ""}}, "additionalProperties": true, "type": "object", "title": "TemplateUpdate"}, "TemplateUsage": {"properties": {"x": {"type": "integer", "title": "X"}, "y": {"type": "integer", "title": "Y"}, "name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name", "description": "Use this name to create a new node"}, "compute_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Compute Id", "description": "Used if the template doesn't have a default compute"}}, "type": "object", "required": ["x", "y"], "title": "TemplateUsage"}, "Token": {"properties": {"access_token": {"type": "string", "title": "Access Token"}, "token_type": {"type": "string", "title": "Token Type"}}, "type": "object", "required": ["access_token", "token_type"], "title": "Token"}, "User": {"properties": {"username": {"anyOf": [{"type": "string", "minLength": 3, "pattern": "[a-zA-Z0-9_-]+$"}, {"type": "null"}], "title": "Username"}, "is_active": {"type": "boolean", "title": "Is Active", "default": true}, "email": {"anyOf": [{"type": "string", "format": "email"}, {"type": "null"}], "title": "Email"}, "full_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Full Name"}, "created_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Created At"}, "updated_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Updated At"}, "user_id": {"type": "string", "format": "uuid", "title": "User Id"}, "last_login": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Last Login"}, "is_superadmin": {"type": "boolean", "title": "Is Superadmin", "default": false}}, "type": "object", "required": ["user_id"], "title": "User"}, "UserCreate": {"properties": {"username": {"type": "string", "minLength": 3, "pattern": "[a-zA-Z0-9_-]+$", "title": "Username"}, "is_active": {"type": "boolean", "title": "Is Active", "default": true}, "email": {"anyOf": [{"type": "string", "format": "email"}, {"type": "null"}], "title": "Email"}, "full_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Full Name"}, "password": {"type": "string", "maxLength": 100, "minLength": 6, "format": "password", "title": "Password", "writeOnly": true}}, "type": "object", "required": ["username", "password"], "title": "UserCreate", "description": "Properties to create a user."}, "UserGroup": {"properties": {"name": {"anyOf": [{"type": "string", "minLength": 3, "pattern": "[a-zA-Z0-9_-]+$"}, {"type": "null"}], "title": "Name"}, "created_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Created At"}, "updated_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Updated At"}, "user_group_id": {"type": "string", "format": "uuid", "title": "User Group Id"}, "is_builtin": {"type": "boolean", "title": "Is Builtin"}}, "type": "object", "required": ["user_group_id", "is_builtin"], "title": "UserGroup"}, "UserGroupCreate": {"properties": {"name": {"anyOf": [{"type": "string", "minLength": 3, "pattern": "[a-zA-Z0-9_-]+$"}, {"type": "null"}], "title": "Name"}}, "type": "object", "required": ["name"], "title": "UserGroupCreate", "description": "Properties to create a user group."}, "UserGroupUpdate": {"properties": {"name": {"anyOf": [{"type": "string", "minLength": 3, "pattern": "[a-zA-Z0-9_-]+$"}, {"type": "null"}], "title": "Name"}}, "type": "object", "title": "UserGroupUpdate", "description": "Properties to update a user group."}, "UserUpdate": {"properties": {"username": {"anyOf": [{"type": "string", "minLength": 3, "pattern": "[a-zA-Z0-9_-]+$"}, {"type": "null"}], "title": "Username"}, "is_active": {"type": "boolean", "title": "Is Active", "default": true}, "email": {"anyOf": [{"type": "string", "format": "email"}, {"type": "null"}], "title": "Email"}, "full_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Full Name"}, "password": {"anyOf": [{"type": "string", "maxLength": 100, "minLength": 6, "format": "password", "writeOnly": true}, {"type": "null"}], "title": "Password"}}, "type": "object", "title": "UserUpdate", "description": "Properties to update a user."}, "ValidationError": {"properties": {"loc": {"items": {"anyOf": [{"type": "string"}, {"type": "integer"}]}, "type": "array", "title": "Location"}, "msg": {"type": "string", "title": "Message"}, "type": {"type": "string", "title": "Error Type"}}, "type": "object", "required": ["loc", "msg", "type"], "title": "ValidationError"}, "Variable": {"properties": {"name": {"type": "string", "title": "Name", "description": "Variable name"}, "value": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Value", "description": "Variable value"}}, "type": "object", "required": ["name"], "title": "Variable"}, "Version": {"properties": {"controller_host": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Controller Host", "description": "Controller hostname or IP address"}, "version": {"type": "string", "title": "Version", "description": "Version number"}, "local": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Local", "description": "Whether this is a local server or not"}}, "type": "object", "required": ["version"], "title": "Version"}, "WhenExit": {"type": "string", "enum": ["stop", "suspend", "keep"], "title": "WhenExit", "description": "What to do with the VM when GNS3 VM exits."}, "gns3server__schemas__common__ConsoleType": {"type": "string", "enum": ["vnc", "telnet", "http", "https", "spice", "spice+agent", "none"], "title": "ConsoleType", "description": "Supported console types."}, "gns3server__schemas__controller__appliances__Category": {"type": "string", "enum": ["router", "multilayer_switch", "switch", "firewall", "guest"], "title": "Category"}, "gns3server__schemas__controller__appliances__ConsoleType": {"type": "string", "enum": ["telnet", "vnc", "http", "https", "none"], "title": "ConsoleType"}, "gns3server__schemas__controller__links__LinkType": {"type": "string", "enum": ["ethernet", "serial"], "title": "LinkType", "description": "Link type."}, "gns3server__schemas__controller__nodes__LinkType": {"type": "string", "enum": ["ethernet", "serial"], "title": "LinkType", "description": "Supported link types."}, "gns3server__schemas__controller__templates__Category": {"type": "string", "enum": ["router", "switch", "guest", "firewall"], "title": "Category", "description": "Supported categories"}}, "securitySchemes": {"OAuth2PasswordBearer": {"type": "oauth2", "flows": {"password": {"scopes": {}, "tokenUrl": "/v3/access/users/login"}}}}}} \ No newline at end of file