mirror of
https://github.com/GNS3/gns3-server.git
synced 2025-04-20 17:10:55 +00:00
Compare commits
32 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
483719568f | ||
|
018598a300 | ||
|
e262a46cfd | ||
|
00bf1c028b | ||
|
21ebb934f4 | ||
|
2ecd2cfe3b | ||
|
ce4b3091dd | ||
|
f722816849 | ||
|
4cb38b23eb | ||
|
f3e46227d8 | ||
|
185cd01e19 | ||
|
369fcaa512 | ||
|
7b7d3d676f | ||
|
d1186b2acc | ||
|
bd58196817 | ||
|
ccc8974d92 | ||
|
0090ff3722 | ||
|
2c727c6bd2 | ||
|
13b0caef4f | ||
|
8ed1fa6ad5 | ||
|
a689a55937 | ||
|
1c0b0ae423 | ||
|
ad7813d04b | ||
|
685bf88005 | ||
|
a1090a3da8 | ||
|
c8e5b41f39 | ||
|
94b5d3e636 | ||
|
e94b55e3bf | ||
|
1a6a729736 | ||
|
77c356c82c | ||
|
b4819b5500 | ||
|
11a9451098 |
12
.github/workflows/testing.yml
vendored
12
.github/workflows/testing.yml
vendored
@ -4,11 +4,11 @@ on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- 3.0
|
||||
- 2.2
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
- 3.0
|
||||
- 2.2
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@ -18,7 +18,7 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
os: ["ubuntu-latest"]
|
||||
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
|
||||
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
|
||||
#include:
|
||||
# only test with Python 3.10 on Windows
|
||||
# - os: windows-latest
|
||||
@ -30,12 +30,10 @@ jobs:
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
- name: Display Python version
|
||||
run: python -c "import sys; print(sys.version)"
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
python -m pip install .[dev]
|
||||
python -m pip install -r dev-requirements.txt
|
||||
|
||||
- name: Install Windows specific dependencies
|
||||
if: runner.os == 'Windows'
|
||||
@ -52,4 +50,4 @@ jobs:
|
||||
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
|
||||
- name: Test with pytest
|
||||
run: |
|
||||
python -m pytest -vv
|
||||
pytest -vv
|
||||
|
7
.gitignore
vendored
7
.gitignore
vendored
@ -5,12 +5,6 @@ __pycache__
|
||||
#py.test
|
||||
.cache
|
||||
|
||||
# environment file
|
||||
.env
|
||||
|
||||
# hypothesis files
|
||||
.hypothesis
|
||||
|
||||
# C extensions
|
||||
*.so
|
||||
|
||||
@ -65,5 +59,4 @@ startup.vpcs
|
||||
# Virtualenv
|
||||
env
|
||||
venv
|
||||
*venv
|
||||
.ropeproject
|
||||
|
333
CHANGELOG
333
CHANGELOG
@ -1,46 +1,24 @@
|
||||
# Change Log
|
||||
|
||||
## 3.0.1 27/12/2024
|
||||
## 2.2.53 21/01/2025
|
||||
|
||||
* Bundle web-ui v3.0.1
|
||||
* Allow for upgrading built-in disks
|
||||
* Fix config parsing when configuring server protocol. Fixes https://github.com/GNS3/gns3-gui/issues/3681
|
||||
* Update empty Qemu disks with correct MD5 checksums
|
||||
* Increase timeout to run compute HTTP queries. Fixes #3453
|
||||
* Bundle web-ui v2.2.53
|
||||
* Add more information when patching .vbox file. Ref https://github.com/GNS3/gns3-gui/issues/3542
|
||||
* Increase timeout to run compute HTTP queries. Fixes #2461
|
||||
* Use 'allow_methods="*"' in aiohttp_cors.ResourceOptions(). Fixes #2459
|
||||
* Upgrade dependencies
|
||||
* Update remote-install.sh to support a custom repository and the deb822 source format
|
||||
* Fix: do not use the iourc file if IOU licence check is not enabled
|
||||
|
||||
## 3.0.0 20/12/2024
|
||||
|
||||
* Bundle web-ui v3.0.0
|
||||
* Use static favicon for API docs. Ref #3674
|
||||
* Configure self-hosting JavaScript and CSS for docs
|
||||
* Fix project auto open feature. Fixes #2455
|
||||
* Store IOU licence in the secrets directory and disable the check by default
|
||||
* Require "Project.Audit" permission to duplicate a project and check if "Project.Allocate" permission for the destination.
|
||||
|
||||
## 2.2.52 02/12/2024
|
||||
|
||||
* Bundle web-ui v2.2.52
|
||||
* Sync appliances
|
||||
* Remove restrictions based on file extension when listing images and fix ELF header checks
|
||||
* Fix use project name instead of ID for fast duplication when running local server. Fixes #2446
|
||||
* Overwrite user resources when the originals have changed.
|
||||
* Relax setuptools requirement to allow for easier Debian packaging on Ubuntu Focal & Jammy
|
||||
|
||||
## 3.0.0rc2 20/11/2024
|
||||
|
||||
* Bundle web-ui v3.0.0rc2
|
||||
* Fix error 500 on PUT for cloud, nat, vmware and vpcs nodes. Fixes #2426
|
||||
* Add a duplicated project in the same resource pools as the original project if it is in any
|
||||
* Upgrade FastAPI to v0.115.5
|
||||
* Overwrite user resources when the originals have changed.
|
||||
* Relax setuptools requirement to allow for easier Debian packaging on Ubuntu Focal & Jammy
|
||||
* Increase SQLite timeout. Ref #2422
|
||||
* Fix test user with wrong creds
|
||||
* Upgrade dependencies and fix Pydantic warnings
|
||||
* Upgrade aiohttp to v3.10.10. Fixes #2411
|
||||
* Replace aiohttp.web.HTTPConflict()
|
||||
* Python 3.13 support
|
||||
|
||||
## 2.2.51 07/11/2024
|
||||
|
||||
* Catch error when cannot resize Docker container TTY.
|
||||
@ -65,12 +43,6 @@
|
||||
* Support for configuring MAC address in Docker containers
|
||||
* Upgrade aiohttp to v3.10.3
|
||||
|
||||
## 3.0.0rc1 11/08/2024
|
||||
|
||||
* Bundle web-ui v3.0.0rc1
|
||||
* Convert topologies < 3.0 to have valid node hostnames
|
||||
* Fix to access resources_path and install_builtin_appliances settings
|
||||
|
||||
## 2.2.49 06/08/2024
|
||||
|
||||
* Bundle web-ui v2.2.49
|
||||
@ -92,17 +64,6 @@
|
||||
* Upgrade sentry-sdk, psutil and aiofiles packages
|
||||
* Fix check for IPv6 enabled on host
|
||||
|
||||
## 3.0.0b3 19/05/2024
|
||||
|
||||
* Bundle web-ui v3.0.0b3
|
||||
* Fix to allow duplicating IOS routers
|
||||
* Fix to allow changing the auxiliary console for IOS router nodes.
|
||||
* Replace deprecated method datetime.utcnow()
|
||||
* Upgrade FastAPI to v0.111.0
|
||||
* Fix reset console for non running IOU devices
|
||||
* Do not allow to create a builtin template using the API.
|
||||
* Use cryptography backend for python-jose. Ref #2372
|
||||
|
||||
## 2.2.47 15/05/2024
|
||||
|
||||
* Fix update-bundled-web-ui.sh script
|
||||
@ -125,19 +86,6 @@
|
||||
* Fix cannot stop Docker VM while console connection is still active.
|
||||
* Upgrade sentry-sdk to version 1.40.6
|
||||
|
||||
## 3.0.0b2 07/04/2024
|
||||
|
||||
* Bundle web-ui v3.0.0b2
|
||||
* Fix cannot stop Docker VM while console connection is still active.
|
||||
* Support for custom Qemu path in templates and nodes
|
||||
* Fix CPU fractional values for Docker VMs.
|
||||
* Use bcrypt directly instead of passlib
|
||||
* Update CORS policy
|
||||
* Do not stop searching for Qemu binaries if one binary cannot be executed. Ref #2306
|
||||
* Fix Ethernet switch and Ethernet hub port validations. Fixes #2334
|
||||
* Update CORS policy
|
||||
|
||||
|
||||
## 2.2.46 26/02/2024
|
||||
|
||||
* Bundle web-ui v2.2.46
|
||||
@ -162,29 +110,6 @@
|
||||
* Add custom executable paths on Windows
|
||||
* Upgrade sentry-sdk and aiohttp
|
||||
|
||||
## 3.0.0b1 27/11/2023
|
||||
|
||||
* Bundle web-ui v3.0.0b1
|
||||
* Upgrade sentry-sdk to v1.37.1
|
||||
* Upgrade aiohttp to v3.9.1
|
||||
* Fix bug when listing endpoints for opened project
|
||||
* Make images executable after importing a project
|
||||
* Disable IOS hostname check for Dynamips ghost instances
|
||||
|
||||
## 3.0.0a6 15/11/2023
|
||||
|
||||
* Bundle web-ui v3.0.0a6
|
||||
* Upgrade to aiohttp v3.9.0rc0
|
||||
* Install Docker resources in writable location
|
||||
* Default compute username is "gns3"
|
||||
* Non-blocking checksums computation when server starts. Fixes #2228
|
||||
* Fix timeout issue when creating Qemu disk image. Fixes https://github.com/GNS3/gns3-server/issues/2313
|
||||
* Fix broken link to Web UI in 3.0 branch. Fixes #2312
|
||||
* Fix sample config: VMware section declared twice. Fixes #2311
|
||||
* Fix ws console and packet capture over SSL
|
||||
* Support for web socket console over HTTPS
|
||||
* Allow disabling hardware virtualization check
|
||||
|
||||
## 2.2.44.1 07/11/2023
|
||||
|
||||
* Catch exceptions when computing image checksums. Ref https://github.com/GNS3/gns3-server/issues/2228
|
||||
@ -204,78 +129,6 @@
|
||||
* Add Python 3.12 support.
|
||||
* Fix issue with importlib.resources.files() and Python 3.9
|
||||
|
||||
## 3.0.0a5 27/10/2023
|
||||
|
||||
* Bundle web-ui v3.0.0a5
|
||||
* Fix L2IOU "failed code signing checks" when IOU base file name is >= 63 characters
|
||||
* Python 3.12 support
|
||||
* Add igb Qemu adapter
|
||||
* Change "ip cef" to "no ip cef" in IOU default configs. Fixes #2298
|
||||
* Drop support for Python 3.7 and upgrade dependencies
|
||||
* Fix compute authentication for websocket endpoints
|
||||
* Add Qemu IGB network device
|
||||
|
||||
## 3.0.0a4 18/10/2023
|
||||
|
||||
* Bundle web-ui v3.0.0a4
|
||||
* Do not enforce Compute.Audit and Template.Audit privileges due to current web-ui limitations
|
||||
* Support to create empty disk images on the controller
|
||||
* Fix issue with importlib.resources.files() and Python 3.9
|
||||
* New RBAC system with resource pools support.
|
||||
* Use controller vars file to store version and appliance etag
|
||||
* Pydantic v2 migration
|
||||
* Allow connection to ws console over IPv6
|
||||
* Allow computes to be dynamically or manually allocated
|
||||
* Add UEFI boot mode option for Qemu VMs
|
||||
* Mark VMware and VirtualBox support as deprecated
|
||||
* Make port name for custom adapters optional. Fixes https://github.com/GNS3/gns3-web-ui/issues/1430
|
||||
* Support for database schema migrations using alembic
|
||||
* Add config option to change the server name. Ref #2149
|
||||
* Option to disable image discovery and do not scan parent directory
|
||||
* Allow raw images by default. Fixes https://github.com/GNS3/gns3-server/issues/2097
|
||||
* Fix bug when creating Dynamips router with chassis setting
|
||||
* Stricter checks to create/update an Ethernet switch and add tests
|
||||
* Fix schema for removing WICs from Cisco routers. Fixes #3392
|
||||
* Fix some issues with HTTP notification streams
|
||||
* API endpoint to get the locked status of a project
|
||||
* Global project lock and unlock
|
||||
* Require name for custom adapters. Fixes #2098
|
||||
* Allow empty adapter slots for Dynamips templates. Ref https://github.com/GNS3/gns3-gui/issues/3373
|
||||
* Custom adapters should not be in node (compute) properties returned to clients. Fixes https://github.com/GNS3/gns3-gui/issues/3366
|
||||
* Optionally allow Qemu raw images
|
||||
* Ignore image detection for IOU user libraries in image directory
|
||||
* Checks for valid hostname on server side for Dynamips, IOU, Qemu and Docker nodes
|
||||
* Only check files (not directories) when looking for new images on file system.
|
||||
* Support user defined loader/libraries to run IOU
|
||||
* Remove explicit Response for VPCS endpoints returning HTTP 204 status code
|
||||
* Remove explicit Response for endpoints returning HTTP 204 status code
|
||||
* Make 'vendor_url' and 'maintainer_email' optional for template validation.
|
||||
* Allow auth token to be passed as a URL param
|
||||
* Add controller endpoints to get VirtualBox VMs, VMware VMs and Docker images
|
||||
* Detect new images added to the default image directory. * Images can be present before the server starts or while it is running * Images are recorded in the database
|
||||
* Support delete Qemu disk image from API Return the real disk image name in the 'hdx_disk_image_backed' property for Qemu VMs
|
||||
* Fix ComputeConflictError import
|
||||
* Handle creating Qemu disk images and resizing
|
||||
* Finish to clean up local setting usage. Ref #1460
|
||||
* "Local" command line parameter is only for stopping a server that has been started by the desktop GUI
|
||||
* Fix AsyncSession handling after breaking changes in FastAPI 0.74.0 See https://github.com/tiangolo/fastapi/releases/tag/0.74.0 for details.
|
||||
* Detect image type instead of requesting it from user
|
||||
* Add connect endpoint for computes Param to connect to compute after creation Report compute unauthorized HTTP errors to client
|
||||
* Replace CORS origins by origin regex
|
||||
* Allow empty compute_id. Ref #1657
|
||||
* Secure controller to compute communication using HTTP basic authentication
|
||||
* Secure websocket endpoints
|
||||
* Allocate compute when compute_id is unset
|
||||
* Return the current controller hostname/IP from any compute
|
||||
* Remove Qemu legacy networking support
|
||||
* Appliance management refactoring: * Install an appliance based on selected version * Each template have unique name and version * Allow to download an appliance file
|
||||
* Add isolate and unisolate endpoints. Ref https://github.com/GNS3/gns3-gui/issues/3190
|
||||
* Allow images to be stored in subdirs and used by templates.
|
||||
* Use uuid5 to create new compute_id. Fixes #1641 #1887
|
||||
* Migrate PCAP streaming code to work with FastAPI.
|
||||
* Refactor WebSocket console code to work with FastAPI. Fix endpoint routes.
|
||||
|
||||
|
||||
## 2.2.43 19/09/2023
|
||||
|
||||
* Force English output for VBoxManage. Fixes #2266
|
||||
@ -358,28 +211,6 @@
|
||||
* Only use importlib_resources for Python <= 3.9. Fixes #2147
|
||||
* Support when the user field defined in Docker container is an ID. Fixes #2134
|
||||
|
||||
## 3.0.0a3 27/12/2022
|
||||
|
||||
* Add web-ui v3.0.0a3
|
||||
* Add config option to change the server name. Ref #2149
|
||||
* Option to disable image discovery and do not scan parent directory
|
||||
* Allow raw images by default. Fixes https://github.com/GNS3/gns3-server/issues/2097
|
||||
* Fix bug when creating Dynamips router with chassis setting
|
||||
* Stricter checks to create/update an Ethernet switch and add tests
|
||||
* Fix schema for removing WICs from Cisco routers. Fixes #3392
|
||||
* Fix issues with VMnet interface on macOS >= 11.0. Ref #3381
|
||||
* Use importlib_resources instead of pkg_resources and install built-in appliances in config dir.
|
||||
* Fix console vnc don't use configured ports in some case. Fixes #2111
|
||||
* Add missing VMware settings in gns3_server.conf
|
||||
* Make version PEP 440 compliant
|
||||
* Support for Python 3.11
|
||||
* Allow for more dependency versions at patch level
|
||||
* Replace deprecated distro.linux_distribution() call
|
||||
* Update gns3.service.systemd
|
||||
* Fix some issues with HTTP notification streams
|
||||
* gns3.service.openrc: make openrc script posix compliant
|
||||
* fix: use exact match to find interface in windows to avoid get wrong interface
|
||||
|
||||
## 2.2.35.1 10/11/2022
|
||||
|
||||
* Re-release Web-Ui v2.2.35
|
||||
@ -399,154 +230,6 @@
|
||||
* gns3.service.openrc: make openrc script posix compliant
|
||||
* fix: use exact match to find interface in windows to avoid get wrong interface
|
||||
|
||||
## 3.0.0a2 06/09/2022
|
||||
|
||||
* Add web-ui v3.0.0a2
|
||||
* Upgrade FastAPI to v0.82.0
|
||||
* API endpoint to get the locked status of a project
|
||||
* Global project lock and unlock
|
||||
* Update appliance files
|
||||
* Require name for custom adapters. Fixes #2098
|
||||
* Allow empty adapter slots for Dynamips templates. Ref https://github.com/GNS3/gns3-gui/issues/3373
|
||||
* Use original $PATH in init.sh for Docker containers. Ref #2069
|
||||
|
||||
## 3.0.0a1 04/08/2022
|
||||
|
||||
* Bundle gns3-web-ui v3.0.0a1
|
||||
* Use default symbol theme if none is provided when loading appliances
|
||||
* Allow default symbol theme to be configured in config file
|
||||
* Optionally allow Qemu raw images
|
||||
* Ignore image detection for IOU user libraries in image directory
|
||||
* Don't show optional token param in API docs
|
||||
* Fix check for 32-bit in ELF header
|
||||
* Checks for valid hostname on server side for Dynamips, IOU, Qemu and Docker nodes
|
||||
* Only check files (not directories) when looking for new images on file system.
|
||||
* Support user defined loader/libraries to run IOU
|
||||
* Make 'vendor_url' and 'maintainer_email' optional for template validation.
|
||||
* Allow auth token to be passed as a URL param
|
||||
* HTTP middleware create issues when streaming project archive
|
||||
* Add zstandard compression support for project export
|
||||
* Make sure that the temporary image file is removed after uploading an image
|
||||
* Do not cache to md5sum file in some situations
|
||||
* Detect new images added to the default image directory. * Images can be present before the server starts or while it is running * Images are recorded in the database
|
||||
* Support delete Qemu disk image from API Return the real disk image name in the 'hdx_disk_image_backed' property for Qemu VMs
|
||||
* Handle creating Qemu disk images and resizing
|
||||
* Finish to clean up local setting usage. Ref #1460
|
||||
* "Local" command line parameter is only for stopping a server that has been started by the desktop GUI
|
||||
* Fix AsyncSession handling after breaking changes in FastAPI 0.74.0 See https://github.com/tiangolo/fastapi/releases/tag/0.74.0 for details.
|
||||
* Detect image type instead of requesting it from user
|
||||
* Drop Python 3.6 support and require Python >= 3.7
|
||||
* Drop Windows support
|
||||
* Add connect endpoint for computes Param to connect to compute after creation Report compute unauthorized HTTP errors to client
|
||||
* Replace CORS origins by origin regex
|
||||
* Change default config settings
|
||||
* Update Docker image for tests
|
||||
* Fix calls to static methods in server.py
|
||||
* Do not require the local server param to open a .gns3 file. Fixes https://github.com/GNS3/gns3-gui/issues/2421 Ref #1460
|
||||
* Do not automatically install appliance after uploading image
|
||||
* Ignore OSError when closing websocket
|
||||
* Allow empty compute_id. Ref #1657
|
||||
* Secure controller to compute communication using HTTP basic authentication
|
||||
* Secure websocket endpoints
|
||||
* Fix issue when updating a template
|
||||
* Allocate compute when compute_id is unset
|
||||
* Return the current controller hostname/IP from any compute
|
||||
* Remove Qemu legacy networking support
|
||||
* Add a custom version to an appliance
|
||||
* Appliance management refactoring: * Install an appliance based on selected version * Each template have unique name and version * Allow to download an appliance file
|
||||
* Finalize image management refactoring and auto install appliance if possible
|
||||
* Sqlite doesn't allow BigInteger to be used as an primary key with autoincrement
|
||||
* Add isolate and unisolate endpoints. Ref https://github.com/GNS3/gns3-gui/issues/3190
|
||||
* Small db tables adjustments
|
||||
* Add index for "name" field in role table
|
||||
* Allow images to be stored in subdirs and used by templates.
|
||||
* Option to prune images when deleting template.
|
||||
* Associate images when creating or updating a template.
|
||||
* Add prune images endpoint. Use many-to-many relationship between images and templates.
|
||||
* Check if user has the right to add a permission
|
||||
* Only use the necessary HTTP methods for default permissions
|
||||
* Add /permissions/prune to delete orphaned permissions
|
||||
* Check a permission matches an existing route before it is allowed to be created.
|
||||
* Remove busybox and copy system busybox in setup.py
|
||||
* Save image size + start to automatic template creation based on image checksum.
|
||||
* Upgrade dependencies
|
||||
* Fix "-machine accel=tcg" check
|
||||
* Allow logged in user to change some of its data. Administrators can lock users using the `is_active` field.
|
||||
* Symbols endpoints (except upload) don't require authentication.
|
||||
* Update to the udhcpc wrapper script. Ref #1890
|
||||
* Fix link style merge
|
||||
* Start refactoring for images management
|
||||
* Allow controller to be reloaded using the API. Fixes #1743
|
||||
* Use a stock BusyBox for the Docker Integration
|
||||
* Move "/{project_id}/templates/{template_id}" endpoint.
|
||||
* Add last login info for users.
|
||||
* Change RBAC field names from builtin to is_builtin
|
||||
* Add user permissions + RBAC tests.
|
||||
* Add description for user permission.
|
||||
* Save/restore appliances Etag.
|
||||
* Allow to set the initial super admin username / password in server config file. Ref #1857
|
||||
* Require authentication for get_user_memberships endpoint.
|
||||
* Change method to prevent forbidden directory traversal. Ref #1894
|
||||
* Add user groups support.
|
||||
* Add delete cascade on foreign keys for appliance table
|
||||
* Enable SQL foreign key support for SQLite
|
||||
* Add missing CORS origins.
|
||||
* Show topology path when check topology schema fails.
|
||||
* Protect controller notification endpoints. Ref #1888 (WebSocket endpoint is not secured, it takes an optional token).
|
||||
* Use uuid5 to create new compute_id. Fixes #1641 #1887
|
||||
* Protect the API and add alternative authentication endpoint.
|
||||
* Secure users API and handle manual password recovery.
|
||||
* Add default super admin account in controller db.
|
||||
* Complete type annotations for API endpoints.
|
||||
* Detect the app is exiting and avoid reconnecting to computes.
|
||||
* Move schemas between compute and controller subpackages
|
||||
* Remove traceng code.
|
||||
* Move error responses to API routers.
|
||||
* Wait for local compute to be started. Don't reconnect to local compute when server is being stopped.
|
||||
* Rename ssl and auth configuration file settings. Add enable SSL config validator. Strict configuration file validation: any error will prevent the server to start. Core server logic moved to a Server class.
|
||||
* Generate new config for each test. Fixes tests.
|
||||
* Use Pydantic to validate the server config file.
|
||||
* Add symbol dimensions endpoint and SSL support for packet capture with remote HTTPS server.
|
||||
* Save computes to database
|
||||
* Generate a new list in template schema defaults.
|
||||
* Generate JWT secret key if none is configured in the config file. Change location of the database.
|
||||
* User authentication with tests.
|
||||
* Refactor tests and start work on database integration.
|
||||
* Move endpoints to routes & preparations to use a database.
|
||||
* Providing the path to create a project is now deprecated.
|
||||
* Add back script to create a self-signed SSL certificate.
|
||||
* Make sure all HTTP exceptions return JSON with a "message" field instead of "detail"
|
||||
* Make Swagger Ui the default for API documentation
|
||||
* Move to version 3 of the REST API. Rename packet capture endpoints.
|
||||
* Use pydantic for data validation (instead of jsonschema) Fix/improve various pydantic schema models.
|
||||
* Automate API documentation publishing.
|
||||
* Publish API documentation generated by FastAPI.
|
||||
* Overwrite uvicorn loggers.
|
||||
* Do not automatically connect to local compute.
|
||||
* Add HTTP client to reuse the aiohttp session where needed. Remove unnecessary aiohttp exceptions.
|
||||
* Warn not to use the private compute API. Fixes #1593.
|
||||
* Migrate PCAP streaming code to work with FastAPI.
|
||||
* Refactor WebSocket console code to work with FastAPI. Fix endpoint routes.
|
||||
* Use dependencies and group common HTTP responses in endpoints.
|
||||
* Migration to FastAPI
|
||||
* Prioritize the config disk over HD-D for Qemu VMs. Fixes https://github.com/GNS3/gns3-gui/issues/3036
|
||||
* Create config disk property false by default for Qemu templates
|
||||
* Set default disk interface type to "none". Fail-safe: use "ide" if an image is set but no interface type is configured. Use the HDA disk interface type if none has been configured for HDD.
|
||||
* Add explicit option to automatically create or not the config disk. Off by default.
|
||||
* Auxiliary console support for Qemu. Ref #2873 Improvements for auxiliary console support for Docker and Dynamips.
|
||||
* Fix AUX console not allocated for Dynamips IOS routers.
|
||||
* Disallow to rename a running node. Fixes https://github.com/GNS3/gns3-gui/issues/2499
|
||||
* Support to reset all console connections. Ref https://github.com/GNS3/gns3-server/issues/1619
|
||||
* Support to reset links. Fixes https://github.com/GNS3/gns3-server/issues/1620
|
||||
* Add maxcpus property for Qemu VMs. Ref #1674
|
||||
* QEMU config disk support
|
||||
* Read folder structure correctly for custom symbols. Fixes https://github.com/GNS3/gns3-gui/issues/2856
|
||||
* Add total RAM, CPUs and disk size to servers summary as well as disk usage in percent. Fixes https://github.com/GNS3/gns3-server/issues/1532
|
||||
* Resource constraints for Docker VMs.
|
||||
* Update IOUtools. Ref #1627
|
||||
* Use parent directory as working directory for project duplication and snapshots. Fixes https://github.com/GNS3/gns3-gui/issues/2909
|
||||
* Support for "usage" for "Cloud" nodes. Fixes https://github.com/GNS3/gns3-gui/issues/2887 Allow "usage" for all builtin nodes (not exposed in Ui).
|
||||
|
||||
## 2.2.34 28/08/2022
|
||||
|
||||
* Use original $PATH in init.sh for Docker containers. Ref #2069
|
||||
|
55
Dockerfile
55
Dockerfile
@ -1,37 +1,38 @@
|
||||
FROM ubuntu:focal
|
||||
# Dockerfile for GNS3 server development
|
||||
|
||||
WORKDIR /gns3server
|
||||
FROM ubuntu:24.04
|
||||
|
||||
RUN apt update && DEBIAN_FRONTEND=noninteractive apt install -y \
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# Set the locale
|
||||
ENV LANG=en_US.UTF-8
|
||||
ENV LANGUAGE=en_US:en
|
||||
ENV LC_ALL=en_US.UTF-8
|
||||
|
||||
# this environment is externally managed
|
||||
ENV PIP_BREAK_SYSTEM_PACKAGES=1
|
||||
|
||||
RUN apt-get update && apt-get install -y software-properties-common
|
||||
RUN add-apt-repository ppa:gns3/ppa
|
||||
RUN apt-get update && apt-get install -y \
|
||||
locales \
|
||||
locales-all
|
||||
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LANGUAGE en_US:en
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
|
||||
COPY ./requirements.txt /gns3server/requirements.txt
|
||||
|
||||
RUN DEBIAN_FRONTEND=noninteractive apt install -y \
|
||||
locales \
|
||||
software-properties-common \
|
||||
python3-pip \
|
||||
python3-all \
|
||||
python3-setuptools \
|
||||
python3-dev \
|
||||
busybox-static \
|
||||
gcc \
|
||||
qemu-system-x86 \
|
||||
qemu-kvm \
|
||||
libvirt-daemon-system
|
||||
libvirt-daemon-system libvirt-clients \
|
||||
x11vnc
|
||||
|
||||
RUN add-apt-repository ppa:gns3/ppa && apt update && DEBIAN_FRONTEND=noninteractive apt install -y \
|
||||
vpcs \
|
||||
ubridge \
|
||||
dynamips
|
||||
RUN locale-gen en_US.UTF-8
|
||||
|
||||
COPY . /gns3server
|
||||
# Install uninstall to install dependencies
|
||||
RUN apt-get install -y vpcs ubridge
|
||||
|
||||
RUN mkdir -p ~/.config/GNS3/3.0/
|
||||
RUN cp scripts/gns3_server.conf ~/.config/GNS3/3.0/
|
||||
ADD . /server
|
||||
WORKDIR /server
|
||||
|
||||
RUN python3 -m pip install .
|
||||
RUN pip3 install --no-cache-dir -r /server/requirements.txt
|
||||
|
||||
EXPOSE 3080
|
||||
|
||||
CMD [ "python3", "-m", "gns3server", "--port", "3080" ]
|
||||
|
@ -1,7 +1,11 @@
|
||||
include README.md
|
||||
include AUTHORS
|
||||
include LICENSE
|
||||
include CHANGELOG
|
||||
recursive-include gns3server *
|
||||
include MANIFEST.in
|
||||
include requirements.txt
|
||||
include conf/*.conf
|
||||
recursive-include tests *
|
||||
recursive-exclude docs *
|
||||
recursive-include gns3server *
|
||||
recursive-exclude * __pycache__
|
||||
recursive-exclude * *.py[co]
|
||||
|
331
README.md
331
README.md
@ -1,134 +1,263 @@
|
||||
# GNS3 server repository
|
||||
GNS3-server
|
||||
===========
|
||||
|
||||
[](https://github.com/psf/black)
|
||||
[](https://github.com/GNS3/gns3-server/actions?query=workflow%3Atesting+branch%3A3.0)
|
||||
[](https://pypi.python.org/pypi/gns3-server)
|
||||
[](https://snyk.io/test/github/GNS3/gns3-server)
|
||||
[](https://github.com/GNS3/gns3-server/actions?query=workflow%3Atesting)
|
||||
|
||||
The GNS3 server manages emulators and other virtualization software such as Dynamips, Qemu/KVM, Docker, VPCS, VirtualBox and VMware Workstation.
|
||||
Clients like the [GNS3 GUI](https://github.com/GNS3/gns3-gui/) and the [GNS3 Web UI](https://github.com/GNS3/gns3-web-ui/) control the server using a HTTP REST API.
|
||||
[](https://pypi.python.org/pypi/gns3-server)
|
||||
|
||||
## Installation
|
||||
[](https://snyk.io/test/github/GNS3/gns3-server)
|
||||
|
||||
These instructions are for using GNS3, please see below for development.
|
||||
This is the GNS3 server repository.
|
||||
|
||||
### Windows & macOS
|
||||
The GNS3 server manages emulators such as Dynamips, VirtualBox or
|
||||
Qemu/KVM. Clients like the [GNS3 GUI](https://github.com/GNS3/gns3-gui/)
|
||||
and the [GNS3 Web UI](https://github.com/GNS3/gns3-web-ui) control the
|
||||
server using an HTTP REST API.
|
||||
|
||||
Please use our [Windows installer or DMG package](https://gns3.com/software/download) to install the stable build along with the GNS3 VM.
|
||||
Note that as of GNS3 version above 3.0, you must run the server using the GNS3 VM or on a Linux system (remote, cloud or virtual machine).
|
||||
Software dependencies
|
||||
---------------------
|
||||
|
||||
### Linux
|
||||
In addition of Python dependencies listed in a section below, other
|
||||
software may be required, recommended or optional.
|
||||
|
||||
#### Ubuntu based distributions
|
||||
- [uBridge](https://github.com/GNS3/ubridge/) is required, it
|
||||
interconnects the nodes.
|
||||
- [Dynamips](https://github.com/GNS3/dynamips/) is required for
|
||||
running IOS routers (using real IOS images) as well as the internal
|
||||
switches and hubs.
|
||||
- [VPCS](https://github.com/GNS3/vpcs/) is recommended, it is a
|
||||
builtin node simulating a very simple computer to perform
|
||||
connectitivy tests using ping, traceroute etc.
|
||||
- Qemu is strongly recommended on Linux, as most node types are based
|
||||
on Qemu, for example Cisco IOSv and Arista vEOS.
|
||||
- libvirt is recommended (Linux only), as it\'s needed for the NAT
|
||||
cloud.
|
||||
- Docker is optional (Linux only), some nodes are based on Docker.
|
||||
- mtools is recommended to support data transfer to/from QEMU VMs
|
||||
using virtual disks.
|
||||
- i386-libraries of libc and libcrypto are optional (Linux only), they
|
||||
are only needed to run IOU based nodes.
|
||||
|
||||
We build and test packages for actively supported Ubuntu versions.
|
||||
Other distros based on Ubuntu, like Mint, should also be supported.
|
||||
### Docker support
|
||||
|
||||
Packages can be installed from our Personal Package Archives (PPA) repository:
|
||||
Docker support needs the script program (bsdutils or
|
||||
util-linux package), when running a docker VM and a static
|
||||
busybox during installation (python3 setup.py install / pip3 install /
|
||||
package creation).
|
||||
|
||||
```shell
|
||||
sudo apt update
|
||||
sudo apt install software-properties-common
|
||||
sudo add-apt-repository ppa:gns3/ppa
|
||||
sudo apt update
|
||||
sudo apt install gns3-gui gns3-server
|
||||
Branches
|
||||
--------
|
||||
|
||||
### master
|
||||
|
||||
master is the next stable release, you can test it in your day to day
|
||||
activities. Bug fixes or small improvements pull requests go here.
|
||||
|
||||
### 2.x (2.3 for example)
|
||||
|
||||
Next major release
|
||||
|
||||
*Never* use this branch for production. Pull requests for major new
|
||||
features go here.
|
||||
|
||||
Linux
|
||||
-----
|
||||
|
||||
GNS3 is perhaps packaged for your distribution:
|
||||
|
||||
- Gentoo: <https://packages.gentoo.org/package/net-misc/gns3-server>
|
||||
- Alpine:
|
||||
<https://pkgs.alpinelinux.org/package/v3.10/community/x86_64/gns3-server>
|
||||
- NixOS:
|
||||
<https://search.nixos.org/packages?channel=unstable&from=0&size=50&sort=relevance&type=packages&query=gns3-server>
|
||||
|
||||
Linux (Debian based)
|
||||
--------------------
|
||||
|
||||
The following instructions have been tested with Ubuntu and Mint. You
|
||||
must be connected to the Internet in order to install the dependencies.
|
||||
|
||||
Dependencies:
|
||||
|
||||
- Python >= 3.8, setuptools and the ones listed
|
||||
[here](https://github.com/GNS3/gns3-server/blob/master/requirements.txt)
|
||||
|
||||
The following commands will install some of these dependencies:
|
||||
|
||||
``` {.bash}
|
||||
sudo apt-get install python3-setuptools python3-pip
|
||||
```
|
||||
|
||||
#### Other Linux distributions
|
||||
Finally, these commands will install the server as well as the rest of
|
||||
the dependencies:
|
||||
|
||||
GNS3 is often packaged for other distributions by third-parties:
|
||||
|
||||
* [Gentoo](https://packages.gentoo.org/package/net-misc/gns3-server)
|
||||
* [Alpine](https://pkgs.alpinelinux.org/package/v3.10/community/x86_64/gns3-server)
|
||||
* [NixOS](https://search.nixos.org/packages?channel=21.11&from=0&size=50&sort=relevance&type=packages&query=gns3-server)
|
||||
|
||||
#### PyPi
|
||||
|
||||
You may use PyPi in case no package is provided, or you would like to do a manual installation:
|
||||
|
||||
* https://pypi.org/project/gns3-server/
|
||||
* https://pypi.org/project/gns3-gui/
|
||||
|
||||
```shell
|
||||
python3 -m pip install gns3-gui
|
||||
python3 -m pip install gns3-server
|
||||
```
|
||||
|
||||
The downside of this method is you will have to manually install all dependencies (see below).
|
||||
|
||||
Please see our [documentation](https://docs.gns3.com/docs/getting-started/installation/linux) for more details.
|
||||
|
||||
### Software dependencies
|
||||
|
||||
In addition to Python dependencies, other software may be required, recommended or optional.
|
||||
|
||||
* [uBridge](https://github.com/GNS3/ubridge/) is required, it interconnects the nodes.
|
||||
* [Dynamips](https://github.com/GNS3/dynamips/) is required for running IOS routers (using real IOS images) as well as the internal switches and hubs.
|
||||
* [VPCS](https://github.com/GNS3/vpcs/) is recommended, it is a builtin node simulating a very simple computer to perform connectivity tests using ping, traceroute etc.
|
||||
* Qemu is strongly recommended as most node types are based on Qemu, for example Cisco IOSv and Arista vEOS.
|
||||
* libvirt is recommended as it's needed for the NAT cloud.
|
||||
* Docker is optional, some nodes are based on Docker.
|
||||
* mtools is recommended to support data transfer to/from QEMU VMs using virtual disks.
|
||||
* i386-libraries of libc and libcrypto are optional, they are only needed to run IOU based nodes.
|
||||
|
||||
Note that Docker needs the script program (`bsdutils` or `util-linux` package), when running a Docker VM and a static busybox during installation (python3 setup.py install / pip3 install / package creation).
|
||||
|
||||
## Development
|
||||
|
||||
### Setting up
|
||||
|
||||
These commands will install the server as well as all Python dependencies:
|
||||
|
||||
```shell
|
||||
git clone https://github.com/GNS3/gns3-server
|
||||
cd gns3-server
|
||||
git checkout 3.0
|
||||
python3 -m venv venv-gns3server
|
||||
source venv-gns3server/bin/activate
|
||||
``` {.bash}
|
||||
cd gns3-server-master
|
||||
python3 -m pip install -r requirements.txt
|
||||
python3 -m pip install .
|
||||
python3 -m gns3server
|
||||
gns3server
|
||||
```
|
||||
|
||||
You will have to manually install other software dependencies (see above), for Dynamips, VPCS and uBridge the easiest is to install from our PPA.
|
||||
To run tests use:
|
||||
|
||||
``` {.bash}
|
||||
python3 -m pytest tests
|
||||
```
|
||||
|
||||
### Docker container
|
||||
|
||||
Alternatively, you can run the GNS3 server in a container
|
||||
For development, you can run the GNS3 server in a container
|
||||
|
||||
```shell
|
||||
``` {.bash}
|
||||
bash scripts/docker_dev_server.sh
|
||||
```
|
||||
|
||||
#### use Docker Compose
|
||||
|
||||
``` {.bash}
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
### Run as daemon (Unix only)
|
||||
|
||||
You will find init sample scripts for various systems inside the init
|
||||
directory.
|
||||
|
||||
Useful options:
|
||||
|
||||
- `--daemon`: start process as a daemon
|
||||
- `--log logfile`: store output in a logfile
|
||||
- `--pid pidfile`: store the pid of the running process in a file and
|
||||
prevent double execution
|
||||
|
||||
All init scripts require the creation of a GNS3 user. You can change it
|
||||
to another user.
|
||||
|
||||
``` {.bash}
|
||||
sudo adduser gns3
|
||||
```
|
||||
|
||||
upstart
|
||||
-------
|
||||
|
||||
For ubuntu < 15.04
|
||||
|
||||
You need to copy init/gns3.conf.upstart to /etc/init/gns3.conf
|
||||
|
||||
``` {.bash}
|
||||
sudo chown root /etc/init/gns3.conf
|
||||
sudo service gns3 start
|
||||
```
|
||||
|
||||
systemd
|
||||
-------
|
||||
|
||||
You need to copy init/gns3.service.systemd to
|
||||
/lib/systemd/system/gns3.service
|
||||
|
||||
``` {.bash}
|
||||
sudo chown root /lib/systemd/system/gns3.service
|
||||
sudo systemctl start gns3
|
||||
```
|
||||
|
||||
Windows
|
||||
-------
|
||||
|
||||
Please use our [all-in-one
|
||||
installer](https://community.gns3.com/software/download) to install the
|
||||
stable build.
|
||||
|
||||
If you install via source you need to first install:
|
||||
|
||||
- Python (3.3 or above) - <https://www.python.org/downloads/windows/>
|
||||
- Pywin32 - <https://sourceforge.net/projects/pywin32/>
|
||||
|
||||
Then you can call
|
||||
|
||||
``` {.bash}
|
||||
python setup.py install
|
||||
```
|
||||
|
||||
to install the remaining dependencies.
|
||||
|
||||
To run the tests, you also need to call
|
||||
|
||||
``` {.bash}
|
||||
pip install pytest pytest-capturelog
|
||||
```
|
||||
|
||||
before actually running the tests with
|
||||
|
||||
``` {.bash}
|
||||
python setup.py test
|
||||
```
|
||||
|
||||
or with
|
||||
|
||||
``` {.bash}
|
||||
py.test -v
|
||||
```
|
||||
|
||||
Mac OS X
|
||||
--------
|
||||
|
||||
Please use our DMG package for a simple installation.
|
||||
|
||||
If you want to test the current git version or contribute to the
|
||||
project, you can follow these instructions with virtualenvwrapper:
|
||||
<http://virtualenvwrapper.readthedocs.org/> and homebrew:
|
||||
<http://brew.sh/>.
|
||||
|
||||
``` {.bash}
|
||||
brew install python3
|
||||
mkvirtualenv gns3-server --python=/usr/local/bin/python3.5
|
||||
python3 setup.py install
|
||||
gns3server
|
||||
```
|
||||
|
||||
SSL
|
||||
---
|
||||
|
||||
If you want enable SSL support on GNS3 you can generate a self signed
|
||||
certificate:
|
||||
|
||||
``` {.bash}
|
||||
bash gns3server/cert_utils/create_cert.sh
|
||||
```
|
||||
|
||||
This command will put the files in \~/.config/GNS3/ssl
|
||||
|
||||
After you can start the server in SSL mode with:
|
||||
|
||||
``` {.bash}
|
||||
python gns3server/main.py --certfile ~/.config/GNS3/ssl/server.cert --certkey ~/.config/GNS3/ssl/server.key --ssl
|
||||
```
|
||||
|
||||
Or in your gns3\_server.conf by adding in the Server section:
|
||||
|
||||
``` {.ini}
|
||||
[Server]
|
||||
certfile=/Users/noplay/.config/GNS3/ssl/server.cert
|
||||
certkey=/Users/noplay/.config/GNS3/ssl/server.key
|
||||
ssl=True
|
||||
```
|
||||
|
||||
### Running tests
|
||||
|
||||
First, install the development dependencies:
|
||||
Just run:
|
||||
|
||||
```shell
|
||||
python3 -m pip install -r dev-requirements.txt
|
||||
``` {.bash}
|
||||
py.test -vv
|
||||
```
|
||||
|
||||
Then run the tests using pytest:
|
||||
If you want test coverage:
|
||||
|
||||
```shell
|
||||
python3 -m pytest -vv tests/
|
||||
``` {.bash}
|
||||
py.test --cov-report term-missing --cov=gns3server
|
||||
```
|
||||
|
||||
### API documentation
|
||||
Security issues
|
||||
---------------
|
||||
|
||||
The API documentation can be accessed when running the server locally:
|
||||
|
||||
* On `http://IP:PORT/docs` to see with Swagger UI (i.e. `http://localhost:3080/docs`)
|
||||
* On `http://IP:PORT/redoc` to see with ReDoc (i.e. `http://localhost:3080/redoc`)
|
||||
|
||||
The documentation can also be viewed [online](http://apiv3.gns3.net) however it may not be the most up-to-date version since it needs manually synchronization with the current code. Also, you cannot use this to interact with a GNS3 server.
|
||||
|
||||
### Branches
|
||||
|
||||
#### master
|
||||
|
||||
master is the next stable release, you can test it in your day-to -day activities.
|
||||
Bug fixes or small improvements pull requests go here.
|
||||
|
||||
3.x development brand for the next major release.
|
||||
|
||||
**Never** use this branch for production. Pull requests for major new features go here.
|
||||
Please contact us using contact form available here:
|
||||
<http://docs.gns3.com/1ON9JBXSeR7Nt2-Qum2o3ZX0GU86BZwlmNSUgvmqNWGY/index.html>
|
||||
|
7
compose.yaml
Normal file
7
compose.yaml
Normal file
@ -0,0 +1,7 @@
|
||||
services:
|
||||
gen3-server:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
ports:
|
||||
- "8001:3080"
|
@ -1,45 +1,17 @@
|
||||
[Controller]
|
||||
|
||||
; Options for JWT tokens (user authentication)
|
||||
jwt_secret_key = efd08eccec3bd0a1be2e086670e5efa90969c68d07e072d7354a76cea5e33d4e
|
||||
jwt_algorithm = HS256
|
||||
jwt_access_token_expire_minutes = 1440
|
||||
|
||||
; Initial default super admin username
|
||||
; It cannot be changed once the controller has started once
|
||||
default_admin_username = admin
|
||||
|
||||
; Initial default super admin password
|
||||
; It cannot be changed once the controller has started once
|
||||
default_admin_password = admin
|
||||
|
||||
[Server]
|
||||
|
||||
; Server name, default is what is returned by socket.gethostname()
|
||||
name = GNS3_Server
|
||||
|
||||
; What protocol the server uses (http or https)
|
||||
protocol = http
|
||||
|
||||
; IP where the server listen for connections
|
||||
host = 0.0.0.0
|
||||
; HTTP port for controlling the servers
|
||||
port = 3080
|
||||
|
||||
; Secrets directory
|
||||
secrets_dir = /home/gns3/.config/GNS3/secrets
|
||||
|
||||
; Options to enable SSL encryption
|
||||
enable_ssl = False
|
||||
certfile = /home/gns3/.config/GNS3/ssl/server.cert
|
||||
certkey = /home/gns3/.config/GNS3/ssl/server.key
|
||||
; Option to enable SSL encryption
|
||||
ssl = False
|
||||
certfile=/home/gns3/.config/GNS3/ssl/server.cert
|
||||
certkey=/home/gns3/.config/GNS3/ssl/server.key
|
||||
|
||||
; Path where binary images are stored
|
||||
images_path = /home/gns3/GNS3/images
|
||||
|
||||
; Additional paths to look for images
|
||||
additional_images_paths = /opt/images;/mnt/disk1/images
|
||||
|
||||
; Path where user projects are stored
|
||||
projects_path = /home/gns3/GNS3/projects
|
||||
|
||||
@ -49,25 +21,11 @@ appliances_path = /home/gns3/GNS3/appliances
|
||||
; Path where custom user symbols are stored
|
||||
symbols_path = /home/gns3/GNS3/symbols
|
||||
|
||||
; Path where custom configs are stored
|
||||
configs_path = /home/gns3/GNS3/configs
|
||||
|
||||
; Path where files like built-in appliances and Docker resources are stored
|
||||
; The default path is the local user data directory
|
||||
; (Linux: "~/.local/share/GNS3", macOS: "~/Library/Application Support/GNS3", Windows: "%APPDATA%\GNS3")
|
||||
; resources_path = /home/gns3/GNS3/resources
|
||||
|
||||
; Default symbol theme
|
||||
; Currently available themes are "Classic", Affinity-square-blue", "Affinity-square-red"
|
||||
; "Affinity-square-gray", "Affinity-circle-blue", "Affinity-circle-red" and "Affinity-circle-gray"
|
||||
default_symbol_theme = Affinity-square-blue
|
||||
|
||||
; Option to enable or disable raw images to be uploaded to the server
|
||||
allow_raw_images = True
|
||||
|
||||
; Option to automatically discover images in the images directory
|
||||
auto_discover_images = True
|
||||
|
||||
; Option to automatically send crash reports to the GNS3 team
|
||||
report_errors = True
|
||||
|
||||
@ -91,10 +49,12 @@ udp_end_port_range = 30000
|
||||
; uBridge executable location, default: search in PATH
|
||||
;ubridge_path = ubridge
|
||||
|
||||
; Username for compute HTTP authentication, "gns3" is the default if not specified
|
||||
compute_username = gns3
|
||||
; Password for compute HTTP authentication, a randomly generated password is used if not specified
|
||||
compute_password = gns3
|
||||
; Option to enable HTTP authentication.
|
||||
auth = False
|
||||
; Username for HTTP authentication.
|
||||
user = gns3
|
||||
; Password for HTTP authentication.
|
||||
password = gns3
|
||||
|
||||
; Only allow these interfaces to be used by GNS3, for the Cloud node for example (Linux/OSX only)
|
||||
; Do not forget to allow virbr0 in order for the NAT node to work
|
||||
@ -132,29 +92,20 @@ iourc_path = /home/gns3/.iourc
|
||||
; Validate if the iourc license file is correct. If you turn this off and your licence is invalid IOU will not start and no errors will be shown.
|
||||
license_check = True
|
||||
|
||||
[VirtualBox]
|
||||
; Path to the VBoxManage binary used to manage VirtualBox
|
||||
vboxmanage_path = vboxmanage
|
||||
[Qemu]
|
||||
; !! Remember to add the gns3 user to the KVM group, otherwise you will not have read / write permissions to /dev/kvm !! (Linux only, has priority over enable_hardware_acceleration)
|
||||
enable_kvm = True
|
||||
; Require KVM to be installed in order to start VMs (Linux only, has priority over require_hardware_acceleration)
|
||||
require_kvm = True
|
||||
; Enable hardware acceleration (all platforms)
|
||||
enable_hardware_acceleration = True
|
||||
; Require hardware acceleration in order to start VMs (all platforms)
|
||||
require_hardware_acceleration = False
|
||||
; Allow unsafe additional command line options
|
||||
allow_unsafe_options = False
|
||||
|
||||
[VMware]
|
||||
; Path to vmrun binary used to manage VMware
|
||||
vmrun_path = vmrun
|
||||
; First vmnet interface of the range that can be managed by the GNS3 server
|
||||
vmnet_start_range = 2
|
||||
; Last vmnet interface of the range that can be managed by the GNS3 server. It must be maximum 19 on Windows.
|
||||
vmnet_end_range = 255
|
||||
; block network traffic originating from the host OS
|
||||
block_host_traffic = False
|
||||
|
||||
[Qemu]
|
||||
; Use Qemu monitor feature to communicate with Qemu VMs
|
||||
enable_monitor = True
|
||||
; IP used to listen for the monitor
|
||||
monitor_host = 127.0.0.1
|
||||
; !! Remember to add the gns3 user to the KVM group, otherwise you will not have read / write permissions to /dev/kvm !!
|
||||
; Enable hardware acceleration (all platforms)
|
||||
enable_hardware_acceleration = True
|
||||
; Require hardware acceleration in order to start VMs
|
||||
require_hardware_acceleration = False
|
||||
; Allow unsafe additional command line options
|
||||
allow_unsafe_options = False
|
@ -1,7 +1,6 @@
|
||||
-rrequirements.txt
|
||||
|
||||
pytest==8.3.3
|
||||
flake8==7.1.1
|
||||
flake8==7.1.0
|
||||
pytest-timeout==2.3.1
|
||||
pytest-asyncio==0.21.2
|
||||
requests==2.32.3
|
||||
httpx==0.27.2 # version 0.24.1 is required by httpx_ws
|
||||
httpx_ws==0.6.2
|
||||
pytest-aiohttp==1.0.5
|
||||
|
@ -1,15 +0,0 @@
|
||||
version: '3.7'
|
||||
|
||||
services:
|
||||
gns3server:
|
||||
privileged: true
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
volumes:
|
||||
- ./gns3server:/server/
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
command: python3 -m gns3server --local --port 3080
|
||||
ports:
|
||||
- 3080:3080
|
||||
- 5000-5100:5000-5100
|
@ -1 +0,0 @@
|
||||
apiv3.gns3.net
|
177
docs/Makefile
Normal file
177
docs/Makefile
Normal file
@ -0,0 +1,177 @@
|
||||
# Makefile for Sphinx documentation
|
||||
#
|
||||
|
||||
# You can set these variables from the command line.
|
||||
SPHINXOPTS =
|
||||
SPHINXBUILD = sphinx-build
|
||||
PAPER =
|
||||
BUILDDIR = _build
|
||||
|
||||
# User-friendly check for sphinx-build
|
||||
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
|
||||
$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
|
||||
endif
|
||||
|
||||
# Internal variables.
|
||||
PAPEROPT_a4 = -D latex_paper_size=a4
|
||||
PAPEROPT_letter = -D latex_paper_size=letter
|
||||
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
|
||||
# the i18n builder cannot share the environment and doctrees with the others
|
||||
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
|
||||
|
||||
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
|
||||
|
||||
help:
|
||||
@echo "Please use \`make <target>' where <target> is one of"
|
||||
@echo " html to make standalone HTML files"
|
||||
@echo " dirhtml to make HTML files named index.html in directories"
|
||||
@echo " singlehtml to make a single large HTML file"
|
||||
@echo " pickle to make pickle files"
|
||||
@echo " json to make JSON files"
|
||||
@echo " htmlhelp to make HTML files and a HTML help project"
|
||||
@echo " qthelp to make HTML files and a qthelp project"
|
||||
@echo " devhelp to make HTML files and a Devhelp project"
|
||||
@echo " epub to make an epub"
|
||||
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
|
||||
@echo " latexpdf to make LaTeX files and run them through pdflatex"
|
||||
@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
|
||||
@echo " text to make text files"
|
||||
@echo " man to make manual pages"
|
||||
@echo " texinfo to make Texinfo files"
|
||||
@echo " info to make Texinfo files and run them through makeinfo"
|
||||
@echo " gettext to make PO message catalogs"
|
||||
@echo " changes to make an overview of all changed/added/deprecated items"
|
||||
@echo " xml to make Docutils-native XML files"
|
||||
@echo " pseudoxml to make pseudoxml-XML files for display purposes"
|
||||
@echo " linkcheck to check all external links for integrity"
|
||||
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILDDIR)/*
|
||||
|
||||
html:
|
||||
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
|
||||
@echo
|
||||
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
|
||||
|
||||
dirhtml:
|
||||
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
|
||||
@echo
|
||||
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
|
||||
|
||||
singlehtml:
|
||||
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
|
||||
@echo
|
||||
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
|
||||
|
||||
pickle:
|
||||
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
|
||||
@echo
|
||||
@echo "Build finished; now you can process the pickle files."
|
||||
|
||||
json:
|
||||
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
|
||||
@echo
|
||||
@echo "Build finished; now you can process the JSON files."
|
||||
|
||||
htmlhelp:
|
||||
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
|
||||
@echo
|
||||
@echo "Build finished; now you can run HTML Help Workshop with the" \
|
||||
".hhp project file in $(BUILDDIR)/htmlhelp."
|
||||
|
||||
qthelp:
|
||||
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
|
||||
@echo
|
||||
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
|
||||
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
|
||||
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/GNS3.qhcp"
|
||||
@echo "To view the help file:"
|
||||
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/GNS3.qhc"
|
||||
|
||||
devhelp:
|
||||
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
|
||||
@echo
|
||||
@echo "Build finished."
|
||||
@echo "To view the help file:"
|
||||
@echo "# mkdir -p $$HOME/.local/share/devhelp/GNS3"
|
||||
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/GNS3"
|
||||
@echo "# devhelp"
|
||||
|
||||
epub:
|
||||
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
|
||||
@echo
|
||||
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
|
||||
|
||||
latex:
|
||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||
@echo
|
||||
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
|
||||
@echo "Run \`make' in that directory to run these through (pdf)latex" \
|
||||
"(use \`make latexpdf' here to do that automatically)."
|
||||
|
||||
latexpdf:
|
||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||
@echo "Running LaTeX files through pdflatex..."
|
||||
$(MAKE) -C $(BUILDDIR)/latex all-pdf
|
||||
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
|
||||
|
||||
latexpdfja:
|
||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||
@echo "Running LaTeX files through platex and dvipdfmx..."
|
||||
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
|
||||
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
|
||||
|
||||
text:
|
||||
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
|
||||
@echo
|
||||
@echo "Build finished. The text files are in $(BUILDDIR)/text."
|
||||
|
||||
man:
|
||||
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
|
||||
@echo
|
||||
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
|
||||
|
||||
texinfo:
|
||||
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
||||
@echo
|
||||
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
|
||||
@echo "Run \`make' in that directory to run these through makeinfo" \
|
||||
"(use \`make info' here to do that automatically)."
|
||||
|
||||
info:
|
||||
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
||||
@echo "Running Texinfo files through makeinfo..."
|
||||
make -C $(BUILDDIR)/texinfo info
|
||||
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
|
||||
|
||||
gettext:
|
||||
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
|
||||
@echo
|
||||
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
|
||||
|
||||
changes:
|
||||
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
|
||||
@echo
|
||||
@echo "The overview file is in $(BUILDDIR)/changes."
|
||||
|
||||
linkcheck:
|
||||
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
|
||||
@echo
|
||||
@echo "Link check complete; look for any errors in the above output " \
|
||||
"or in $(BUILDDIR)/linkcheck/output.txt."
|
||||
|
||||
doctest:
|
||||
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
|
||||
@echo "Testing of doctests in the sources finished, look at the " \
|
||||
"results in $(BUILDDIR)/doctest/output.txt."
|
||||
|
||||
xml:
|
||||
$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
|
||||
@echo
|
||||
@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
|
||||
|
||||
pseudoxml:
|
||||
$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
|
||||
@echo
|
||||
@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
|
14
docs/api/examples/compute_delete_projectsprojectid.txt
Normal file
14
docs/api/examples/compute_delete_projectsprojectid.txt
Normal file
@ -0,0 +1,14 @@
|
||||
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80'
|
||||
|
||||
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80 HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:26:17 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}
|
||||
|
@ -0,0 +1,14 @@
|
||||
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/a022e62a-a40b-42a5-8efd-3d8141806276'
|
||||
|
||||
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/a022e62a-a40b-42a5-8efd-3d8141806276 HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:25:49 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/cloud/nodes/{node_id}
|
||||
|
@ -0,0 +1,14 @@
|
||||
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/8a5e5e38-6a8a-408a-9d8c-31315e11d6f2/adapters/0/ports/0/nio'
|
||||
|
||||
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/8a5e5e38-6a8a-408a-9d8c-31315e11d6f2/adapters/0/ports/0/nio HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:25:43 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/cloud/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
|
||||
|
@ -0,0 +1,14 @@
|
||||
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/c5e6e56f-2698-4bae-9365-0a9f9efd3418/adapters/0/ports/0/nio'
|
||||
|
||||
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/c5e6e56f-2698-4bae-9365-0a9f9efd3418/adapters/0/ports/0/nio HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:25:50 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/docker/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
|
||||
|
@ -0,0 +1,14 @@
|
||||
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/81f7488a-6a28-46f0-8b26-331906bdcf2e'
|
||||
|
||||
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/81f7488a-6a28-46f0-8b26-331906bdcf2e HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:25:57 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}
|
||||
|
@ -0,0 +1,14 @@
|
||||
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/04e77370-e8a1-4c6c-9c2a-d7d9076a6f63/adapters/1/ports/0/nio'
|
||||
|
||||
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/04e77370-e8a1-4c6c-9c2a-d7d9076a6f63/adapters/1/ports/0/nio HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:25:59 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
|
||||
|
@ -0,0 +1,14 @@
|
||||
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/b77c05e8-dd60-4772-aedf-066339baee14'
|
||||
|
||||
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/b77c05e8-dd60-4772-aedf-066339baee14 HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:26:16 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/nat/nodes/{node_id}
|
||||
|
@ -0,0 +1,14 @@
|
||||
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/bd5f949e-b288-4e5f-97c7-f6a053898140/adapters/0/ports/0/nio'
|
||||
|
||||
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/bd5f949e-b288-4e5f-97c7-f6a053898140/adapters/0/ports/0/nio HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:26:10 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/nat/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
|
||||
|
@ -0,0 +1,14 @@
|
||||
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/55307537-62a4-48ab-ac1c-ebd998794120'
|
||||
|
||||
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/55307537-62a4-48ab-ac1c-ebd998794120 HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:26:40 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}
|
||||
|
@ -0,0 +1,14 @@
|
||||
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/ab332598-68ef-4ef6-bb29-d2f31a961273/adapters/1/ports/0/nio'
|
||||
|
||||
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/ab332598-68ef-4ef6-bb29-d2f31a961273/adapters/1/ports/0/nio HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:26:50 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
|
||||
|
@ -0,0 +1,14 @@
|
||||
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/36979ca4-4892-4b3e-9202-2143e261d128'
|
||||
|
||||
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/36979ca4-4892-4b3e-9202-2143e261d128 HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:27:26 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/traceng/nodes/{node_id}
|
||||
|
@ -0,0 +1,14 @@
|
||||
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/09736166-0e3a-4fe5-b914-72151a6362e2/adapters/0/ports/0/nio'
|
||||
|
||||
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/09736166-0e3a-4fe5-b914-72151a6362e2/adapters/0/ports/0/nio HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:27:26 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
|
||||
|
@ -0,0 +1,14 @@
|
||||
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/a0d3abeb-9538-4660-a6e5-677822f8f943/adapters/0/ports/0/nio'
|
||||
|
||||
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/a0d3abeb-9538-4660-a6e5-677822f8f943/adapters/0/ports/0/nio HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:27:28 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
|
||||
|
@ -0,0 +1,14 @@
|
||||
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/90f57222-bdca-4d92-867c-de3f945f83f5/adapters/0/ports/0/nio'
|
||||
|
||||
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/90f57222-bdca-4d92-867c-de3f945f83f5/adapters/0/ports/0/nio HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:27:42 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
|
||||
|
@ -0,0 +1,14 @@
|
||||
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/f84fd457-cc5c-4eb9-88b8-3ac691d1fe52'
|
||||
|
||||
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/f84fd457-cc5c-4eb9-88b8-3ac691d1fe52 HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:27:48 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}
|
||||
|
@ -0,0 +1,14 @@
|
||||
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/358e43b9-c971-4a31-a42a-b62d18342bc6/adapters/0/ports/0/nio'
|
||||
|
||||
DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/358e43b9-c971-4a31-a42a-b62d18342bc6/adapters/0/ports/0/nio HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:27:48 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
|
||||
|
34
docs/api/examples/compute_get_capabilities.txt
Normal file
34
docs/api/examples/compute_get_capabilities.txt
Normal file
@ -0,0 +1,34 @@
|
||||
curl -i -X GET 'http://localhost:3080/v2/compute/capabilities'
|
||||
|
||||
GET /v2/compute/capabilities HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
Connection: close
|
||||
Content-Length: 366
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:25:43 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/capabilities
|
||||
|
||||
{
|
||||
"node_types": [
|
||||
"cloud",
|
||||
"ethernet_hub",
|
||||
"ethernet_switch",
|
||||
"nat",
|
||||
"vpcs",
|
||||
"virtualbox",
|
||||
"dynamips",
|
||||
"frame_relay_switch",
|
||||
"atm_switch",
|
||||
"qemu",
|
||||
"vmware",
|
||||
"traceng",
|
||||
"docker",
|
||||
"iou"
|
||||
],
|
||||
"platform": "linuxdebian",
|
||||
"version": "2.2.4dev1"
|
||||
}
|
22
docs/api/examples/compute_get_iouimages.txt
Normal file
22
docs/api/examples/compute_get_iouimages.txt
Normal file
@ -0,0 +1,22 @@
|
||||
curl -i -X GET 'http://localhost:3080/v2/compute/iou/images'
|
||||
|
||||
GET /v2/compute/iou/images HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
Connection: close
|
||||
Content-Length: 149
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:25:59 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/iou/images
|
||||
|
||||
[
|
||||
{
|
||||
"filename": "iou.bin",
|
||||
"filesize": 7,
|
||||
"md5sum": "e573e8f5c93c6c00783f20c7a170aa6c",
|
||||
"path": "iou.bin"
|
||||
}
|
||||
]
|
79
docs/api/examples/compute_get_networkinterfaces.txt
Normal file
79
docs/api/examples/compute_get_networkinterfaces.txt
Normal file
@ -0,0 +1,79 @@
|
||||
curl -i -X GET 'http://localhost:3080/v2/compute/network/interfaces'
|
||||
|
||||
GET /v2/compute/network/interfaces HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
Connection: close
|
||||
Content-Length: 1601
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:26:16 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/network/interfaces
|
||||
|
||||
[
|
||||
{
|
||||
"id": "docker0",
|
||||
"ip_address": "172.17.0.1",
|
||||
"mac_address": "02:42:0f:c7:42:69",
|
||||
"name": "docker0",
|
||||
"netmask": "255.255.0.0",
|
||||
"special": true,
|
||||
"type": "ethernet"
|
||||
},
|
||||
{
|
||||
"id": "lo",
|
||||
"ip_address": "127.0.0.1",
|
||||
"mac_address": "00:00:00:00:00:00",
|
||||
"name": "lo",
|
||||
"netmask": "255.0.0.0",
|
||||
"special": true,
|
||||
"type": "ethernet"
|
||||
},
|
||||
{
|
||||
"id": "virbr0",
|
||||
"ip_address": "192.168.122.1",
|
||||
"mac_address": "52:54:00:d4:71:01",
|
||||
"name": "virbr0",
|
||||
"netmask": "255.255.255.0",
|
||||
"special": true,
|
||||
"type": "ethernet"
|
||||
},
|
||||
{
|
||||
"id": "virbr0-nic",
|
||||
"ip_address": "",
|
||||
"mac_address": "52:54:00:d4:71:01",
|
||||
"name": "virbr0-nic",
|
||||
"netmask": "",
|
||||
"special": true,
|
||||
"type": "ethernet"
|
||||
},
|
||||
{
|
||||
"id": "vmnet1",
|
||||
"ip_address": "172.16.9.1",
|
||||
"mac_address": "00:50:56:c0:00:01",
|
||||
"name": "vmnet1",
|
||||
"netmask": "255.255.255.0",
|
||||
"special": true,
|
||||
"type": "ethernet"
|
||||
},
|
||||
{
|
||||
"id": "vmnet8",
|
||||
"ip_address": "192.168.193.1",
|
||||
"mac_address": "00:50:56:c0:00:08",
|
||||
"name": "vmnet8",
|
||||
"netmask": "255.255.255.0",
|
||||
"special": true,
|
||||
"type": "ethernet"
|
||||
},
|
||||
{
|
||||
"id": "wlp2s0",
|
||||
"ip_address": "192.168.1.175",
|
||||
"mac_address": "9c:b6:d0:99:3c:07",
|
||||
"name": "wlp2s0",
|
||||
"netmask": "255.255.255.0",
|
||||
"special": false,
|
||||
"type": "ethernet"
|
||||
}
|
||||
]
|
26
docs/api/examples/compute_get_projects.txt
Normal file
26
docs/api/examples/compute_get_projects.txt
Normal file
@ -0,0 +1,26 @@
|
||||
curl -i -X GET 'http://localhost:3080/v2/compute/projects'
|
||||
|
||||
GET /v2/compute/projects HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
Connection: close
|
||||
Content-Length: 252
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:26:17 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects
|
||||
|
||||
[
|
||||
{
|
||||
"name": "test",
|
||||
"project_id": "51010203-0405-0607-0809-0a0b0c0d0e0f",
|
||||
"variables": null
|
||||
},
|
||||
{
|
||||
"name": "test",
|
||||
"project_id": "52010203-0405-0607-0809-0a0b0c0d0e0b",
|
||||
"variables": null
|
||||
}
|
||||
]
|
19
docs/api/examples/compute_get_projectsprojectid.txt
Normal file
19
docs/api/examples/compute_get_projectsprojectid.txt
Normal file
@ -0,0 +1,19 @@
|
||||
curl -i -X GET 'http://localhost:3080/v2/compute/projects/40010203-0405-0607-0809-0a0b0c0d0e02'
|
||||
|
||||
GET /v2/compute/projects/40010203-0405-0607-0809-0a0b0c0d0e02 HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
Connection: close
|
||||
Content-Length: 103
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:26:17 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}
|
||||
|
||||
{
|
||||
"name": "test",
|
||||
"project_id": "40010203-0405-0607-0809-0a0b0c0d0e02",
|
||||
"variables": null
|
||||
}
|
@ -0,0 +1,70 @@
|
||||
curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/75228bef-1806-41fc-8b73-1c5752870ac6'
|
||||
|
||||
GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/75228bef-1806-41fc-8b73-1c5752870ac6 HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
Connection: close
|
||||
Content-Length: 1406
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:25:43 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/cloud/nodes/{node_id}
|
||||
|
||||
{
|
||||
"interfaces": [
|
||||
{
|
||||
"name": "docker0",
|
||||
"special": true,
|
||||
"type": "ethernet"
|
||||
},
|
||||
{
|
||||
"name": "lo",
|
||||
"special": true,
|
||||
"type": "ethernet"
|
||||
},
|
||||
{
|
||||
"name": "virbr0",
|
||||
"special": true,
|
||||
"type": "ethernet"
|
||||
},
|
||||
{
|
||||
"name": "virbr0-nic",
|
||||
"special": true,
|
||||
"type": "ethernet"
|
||||
},
|
||||
{
|
||||
"name": "vmnet1",
|
||||
"special": true,
|
||||
"type": "ethernet"
|
||||
},
|
||||
{
|
||||
"name": "vmnet8",
|
||||
"special": true,
|
||||
"type": "ethernet"
|
||||
},
|
||||
{
|
||||
"name": "wlp2s0",
|
||||
"special": false,
|
||||
"type": "ethernet"
|
||||
}
|
||||
],
|
||||
"name": "Cloud 1",
|
||||
"node_directory": "/tmp/pytest-of-grossmj/pytest-41/test_json4/project-files/builtin/75228bef-1806-41fc-8b73-1c5752870ac6",
|
||||
"node_id": "75228bef-1806-41fc-8b73-1c5752870ac6",
|
||||
"ports_mapping": [
|
||||
{
|
||||
"interface": "wlp2s0",
|
||||
"name": "wlp2s0",
|
||||
"port_number": 0,
|
||||
"type": "ethernet"
|
||||
}
|
||||
],
|
||||
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
|
||||
"remote_console_host": "",
|
||||
"remote_console_http_path": "/",
|
||||
"remote_console_port": 23,
|
||||
"remote_console_type": "none",
|
||||
"status": "started"
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/a4155e63-9b40-4c8e-bbbc-d93aad187b07'
|
||||
|
||||
GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/a4155e63-9b40-4c8e-bbbc-d93aad187b07 HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
Connection: close
|
||||
Content-Length: 631
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:25:57 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}
|
||||
|
||||
{
|
||||
"application_id": 1,
|
||||
"command_line": "",
|
||||
"console": 5004,
|
||||
"console_type": "telnet",
|
||||
"ethernet_adapters": 2,
|
||||
"l1_keepalives": false,
|
||||
"md5sum": "e573e8f5c93c6c00783f20c7a170aa6c",
|
||||
"name": "PC TEST 1",
|
||||
"node_directory": "/tmp/pytest-of-grossmj/pytest-41/test_json4/project-files/iou/a4155e63-9b40-4c8e-bbbc-d93aad187b07",
|
||||
"node_id": "a4155e63-9b40-4c8e-bbbc-d93aad187b07",
|
||||
"nvram": 128,
|
||||
"path": "iou.bin",
|
||||
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
|
||||
"ram": 256,
|
||||
"serial_adapters": 2,
|
||||
"status": "stopped",
|
||||
"usage": "",
|
||||
"use_default_iou_values": true
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/f76e8c5c-0a0c-451d-a4ba-f01286d06a16'
|
||||
|
||||
GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/f76e8c5c-0a0c-451d-a4ba-f01286d06a16 HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
Connection: close
|
||||
Content-Length: 335
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:26:09 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/nat/nodes/{node_id}
|
||||
|
||||
{
|
||||
"name": "Nat 1",
|
||||
"node_id": "f76e8c5c-0a0c-451d-a4ba-f01286d06a16",
|
||||
"ports_mapping": [
|
||||
{
|
||||
"interface": "virbr0",
|
||||
"name": "nat0",
|
||||
"port_number": 0,
|
||||
"type": "ethernet"
|
||||
}
|
||||
],
|
||||
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
|
||||
"status": "started"
|
||||
}
|
@ -0,0 +1,59 @@
|
||||
curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/c54889dc-8163-4fa4-8e7c-14eca8dd6474'
|
||||
|
||||
GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/c54889dc-8163-4fa4-8e7c-14eca8dd6474 HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
Connection: close
|
||||
Content-Length: 1381
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:26:29 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}
|
||||
|
||||
{
|
||||
"adapter_type": "e1000",
|
||||
"adapters": 1,
|
||||
"bios_image": "",
|
||||
"bios_image_md5sum": null,
|
||||
"boot_priority": "c",
|
||||
"cdrom_image": "",
|
||||
"cdrom_image_md5sum": null,
|
||||
"command_line": "",
|
||||
"console": 5004,
|
||||
"console_type": "telnet",
|
||||
"cpu_throttling": 0,
|
||||
"cpus": 1,
|
||||
"hda_disk_image": "",
|
||||
"hda_disk_image_md5sum": null,
|
||||
"hda_disk_interface": "ide",
|
||||
"hdb_disk_image": "",
|
||||
"hdb_disk_image_md5sum": null,
|
||||
"hdb_disk_interface": "ide",
|
||||
"hdc_disk_image": "",
|
||||
"hdc_disk_image_md5sum": null,
|
||||
"hdc_disk_interface": "ide",
|
||||
"hdd_disk_image": "",
|
||||
"hdd_disk_image_md5sum": null,
|
||||
"hdd_disk_interface": "ide",
|
||||
"initrd": "",
|
||||
"initrd_md5sum": null,
|
||||
"kernel_command_line": "",
|
||||
"kernel_image": "",
|
||||
"kernel_image_md5sum": null,
|
||||
"legacy_networking": false,
|
||||
"mac_address": "0c:dd:80:64:74:00",
|
||||
"name": "PC TEST 1",
|
||||
"node_directory": "/tmp/tmp3gc2avyo/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/qemu/c54889dc-8163-4fa4-8e7c-14eca8dd6474",
|
||||
"node_id": "c54889dc-8163-4fa4-8e7c-14eca8dd6474",
|
||||
"on_close": "power_off",
|
||||
"options": "",
|
||||
"platform": "x86_64",
|
||||
"process_priority": "low",
|
||||
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
|
||||
"qemu_path": "/tmp/tmphb4tqqk2/qemu-system-x86_64",
|
||||
"ram": 256,
|
||||
"status": "stopped",
|
||||
"usage": ""
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/c03cc894-a5e9-4359-b85a-1fd917184de4'
|
||||
|
||||
GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/c03cc894-a5e9-4359-b85a-1fd917184de4 HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
Connection: close
|
||||
Content-Length: 443
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:27:26 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/traceng/nodes/{node_id}
|
||||
|
||||
{
|
||||
"command_line": "",
|
||||
"console": null,
|
||||
"console_type": "none",
|
||||
"default_destination": "",
|
||||
"ip_address": "",
|
||||
"name": "TraceNG TEST 1",
|
||||
"node_directory": "/tmp/tmp3gc2avyo/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/traceng/c03cc894-a5e9-4359-b85a-1fd917184de4",
|
||||
"node_id": "c03cc894-a5e9-4359-b85a-1fd917184de4",
|
||||
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
|
||||
"status": "stopped"
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/bcd3206f-3edd-4b44-b5c8-e40f4a5c8909'
|
||||
|
||||
GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/bcd3206f-3edd-4b44-b5c8-e40f4a5c8909 HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
Connection: close
|
||||
Content-Length: 483
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:27:27 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}
|
||||
|
||||
{
|
||||
"adapter_type": "Intel PRO/1000 MT Desktop (82540EM)",
|
||||
"adapters": 0,
|
||||
"console": 5004,
|
||||
"console_type": "telnet",
|
||||
"headless": false,
|
||||
"linked_clone": false,
|
||||
"name": "VMTEST",
|
||||
"node_directory": null,
|
||||
"node_id": "bcd3206f-3edd-4b44-b5c8-e40f4a5c8909",
|
||||
"on_close": "power_off",
|
||||
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
|
||||
"ram": 0,
|
||||
"status": "stopped",
|
||||
"usage": "",
|
||||
"use_any_adapter": false,
|
||||
"vmname": "VMTEST"
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/716f8727-4421-4ba9-9e24-031505533c36'
|
||||
|
||||
GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/716f8727-4421-4ba9-9e24-031505533c36 HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
Connection: close
|
||||
Content-Length: 611
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:27:29 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/vmware/nodes/{node_id}
|
||||
|
||||
{
|
||||
"adapter_type": "e1000",
|
||||
"adapters": 0,
|
||||
"console": 5004,
|
||||
"console_type": "telnet",
|
||||
"headless": false,
|
||||
"linked_clone": false,
|
||||
"name": "VMTEST",
|
||||
"node_directory": "/tmp/tmp3gc2avyo/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/vmware/716f8727-4421-4ba9-9e24-031505533c36",
|
||||
"node_id": "716f8727-4421-4ba9-9e24-031505533c36",
|
||||
"on_close": "power_off",
|
||||
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
|
||||
"status": "stopped",
|
||||
"usage": "",
|
||||
"use_any_adapter": false,
|
||||
"vmx_path": "/tmp/pytest-of-grossmj/pytest-41/test_vmware_get0/test.vmx"
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/aa44ff6f-52fa-4bf9-9b93-2e73c9eb8071'
|
||||
|
||||
GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/aa44ff6f-52fa-4bf9-9b93-2e73c9eb8071 HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
Connection: close
|
||||
Content-Length: 384
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:27:47 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}
|
||||
|
||||
{
|
||||
"command_line": "",
|
||||
"console": 5004,
|
||||
"console_type": "telnet",
|
||||
"name": "PC TEST 1",
|
||||
"node_directory": "/tmp/tmp3gc2avyo/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/vpcs/aa44ff6f-52fa-4bf9-9b93-2e73c9eb8071",
|
||||
"node_id": "aa44ff6f-52fa-4bf9-9b93-2e73c9eb8071",
|
||||
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
|
||||
"status": "stopped"
|
||||
}
|
32
docs/api/examples/compute_get_qemubinaries.txt
Normal file
32
docs/api/examples/compute_get_qemubinaries.txt
Normal file
@ -0,0 +1,32 @@
|
||||
curl -i -X GET 'http://localhost:3080/v2/compute/qemu/binaries' -d '{"archs": ["i386"]}'
|
||||
|
||||
GET /v2/compute/qemu/binaries HTTP/1.1
|
||||
{
|
||||
"archs": [
|
||||
"i386"
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
Connection: close
|
||||
Content-Length: 212
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:26:55 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/qemu/binaries
|
||||
|
||||
[
|
||||
{
|
||||
"path": "/tmp/x86_64",
|
||||
"version": "2.2.0"
|
||||
},
|
||||
{
|
||||
"path": "/tmp/alpha",
|
||||
"version": "2.1.0"
|
||||
},
|
||||
{
|
||||
"path": "/tmp/i386",
|
||||
"version": "2.1.0"
|
||||
}
|
||||
]
|
19
docs/api/examples/compute_get_qemucapabilities.txt
Normal file
19
docs/api/examples/compute_get_qemucapabilities.txt
Normal file
@ -0,0 +1,19 @@
|
||||
curl -i -X GET 'http://localhost:3080/v2/compute/qemu/capabilities'
|
||||
|
||||
GET /v2/compute/qemu/capabilities HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
Connection: close
|
||||
Content-Length: 39
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:27:19 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/qemu/capabilities
|
||||
|
||||
{
|
||||
"kvm": [
|
||||
"x86_64"
|
||||
]
|
||||
}
|
18
docs/api/examples/compute_get_version.txt
Normal file
18
docs/api/examples/compute_get_version.txt
Normal file
@ -0,0 +1,18 @@
|
||||
curl -i -X GET 'http://localhost:3080/v2/compute/version'
|
||||
|
||||
GET /v2/compute/version HTTP/1.1
|
||||
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
Connection: close
|
||||
Content-Length: 49
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:27:25 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/version
|
||||
|
||||
{
|
||||
"local": true,
|
||||
"version": "2.2.4dev1"
|
||||
}
|
22
docs/api/examples/compute_post_projects.txt
Normal file
22
docs/api/examples/compute_post_projects.txt
Normal file
@ -0,0 +1,22 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects' -d '{"name": "test", "project_id": "10010203-0405-0607-0809-0a0b0c0d0e0f"}'
|
||||
|
||||
POST /v2/compute/projects HTTP/1.1
|
||||
{
|
||||
"name": "test",
|
||||
"project_id": "10010203-0405-0607-0809-0a0b0c0d0e0f"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
Connection: close
|
||||
Content-Length: 103
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:26:17 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects
|
||||
|
||||
{
|
||||
"name": "test",
|
||||
"project_id": "10010203-0405-0607-0809-0a0b0c0d0e0f",
|
||||
"variables": null
|
||||
}
|
14
docs/api/examples/compute_post_projectsprojectidclose.txt
Normal file
14
docs/api/examples/compute_post_projectsprojectidclose.txt
Normal file
@ -0,0 +1,14 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/close' -d '{}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/close HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:26:17 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/close
|
||||
|
@ -0,0 +1,72 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes' -d '{"name": "Cloud 1"}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes HTTP/1.1
|
||||
{
|
||||
"name": "Cloud 1"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
Connection: close
|
||||
Content-Length: 1406
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:25:43 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/cloud/nodes
|
||||
|
||||
{
|
||||
"interfaces": [
|
||||
{
|
||||
"name": "docker0",
|
||||
"special": true,
|
||||
"type": "ethernet"
|
||||
},
|
||||
{
|
||||
"name": "lo",
|
||||
"special": true,
|
||||
"type": "ethernet"
|
||||
},
|
||||
{
|
||||
"name": "virbr0",
|
||||
"special": true,
|
||||
"type": "ethernet"
|
||||
},
|
||||
{
|
||||
"name": "virbr0-nic",
|
||||
"special": true,
|
||||
"type": "ethernet"
|
||||
},
|
||||
{
|
||||
"name": "vmnet1",
|
||||
"special": true,
|
||||
"type": "ethernet"
|
||||
},
|
||||
{
|
||||
"name": "vmnet8",
|
||||
"special": true,
|
||||
"type": "ethernet"
|
||||
},
|
||||
{
|
||||
"name": "wlp2s0",
|
||||
"special": false,
|
||||
"type": "ethernet"
|
||||
}
|
||||
],
|
||||
"name": "Cloud 1",
|
||||
"node_directory": "/tmp/pytest-of-grossmj/pytest-41/test_json4/project-files/builtin/3cba86a4-73d7-4989-9c83-f0bb480ff950",
|
||||
"node_id": "3cba86a4-73d7-4989-9c83-f0bb480ff950",
|
||||
"ports_mapping": [
|
||||
{
|
||||
"interface": "wlp2s0",
|
||||
"name": "wlp2s0",
|
||||
"port_number": 0,
|
||||
"type": "ethernet"
|
||||
}
|
||||
],
|
||||
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
|
||||
"remote_console_host": "",
|
||||
"remote_console_http_path": "/",
|
||||
"remote_console_port": 23,
|
||||
"remote_console_type": "none",
|
||||
"status": "started"
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/5a669280-f313-421f-8d05-5cd30731964f/adapters/0/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/5a669280-f313-421f-8d05-5cd30731964f/adapters/0/ports/0/nio HTTP/1.1
|
||||
{
|
||||
"lport": 4242,
|
||||
"rhost": "127.0.0.1",
|
||||
"rport": 4343,
|
||||
"type": "nio_udp"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
Connection: close
|
||||
Content-Length: 89
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:25:43 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/cloud/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
|
||||
|
||||
{
|
||||
"lport": 4242,
|
||||
"rhost": "127.0.0.1",
|
||||
"rport": 4343,
|
||||
"type": "nio_udp"
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/3c524997-ecb4-43c8-b0eb-4978446be73d/adapters/0/ports/0/start_capture' -d '{"capture_file_name": "test.pcap", "data_link_type": "DLT_EN10MB"}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/3c524997-ecb4-43c8-b0eb-4978446be73d/adapters/0/ports/0/start_capture HTTP/1.1
|
||||
{
|
||||
"capture_file_name": "test.pcap",
|
||||
"data_link_type": "DLT_EN10MB"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
Connection: close
|
||||
Content-Length: 104
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:25:49 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/cloud/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/start_capture
|
||||
|
||||
{
|
||||
"pcap_file_path": "/tmp/pytest-of-grossmj/pytest-41/test_json4/project-files/captures/test.pcap"
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/5def67e9-a974-4da2-9cd3-17866ede1898/adapters/0/ports/0/stop_capture' -d '{}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/5def67e9-a974-4da2-9cd3-17866ede1898/adapters/0/ports/0/stop_capture HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:25:49 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/cloud/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture
|
||||
|
@ -0,0 +1,25 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/bfba66b2-35db-441e-8015-3041cf886105/adapters/0/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/bfba66b2-35db-441e-8015-3041cf886105/adapters/0/ports/0/nio HTTP/1.1
|
||||
{
|
||||
"lport": 4242,
|
||||
"rhost": "127.0.0.1",
|
||||
"rport": 4343,
|
||||
"type": "nio_udp"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
Connection: close
|
||||
Content-Length: 89
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:25:50 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/docker/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
|
||||
|
||||
{
|
||||
"lport": 4242,
|
||||
"rhost": "127.0.0.1",
|
||||
"rport": 4343,
|
||||
"type": "nio_udp"
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/937a4da0-7334-4fee-a351-5433acaaa298/adapters/0/ports/0/start_capture' -d '{"capture_file_name": "test.pcap", "data_link_type": "DLT_EN10MB"}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/937a4da0-7334-4fee-a351-5433acaaa298/adapters/0/ports/0/start_capture HTTP/1.1
|
||||
{
|
||||
"capture_file_name": "test.pcap",
|
||||
"data_link_type": "DLT_EN10MB"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
Connection: close
|
||||
Content-Length: 104
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:25:51 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/docker/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/start_capture
|
||||
|
||||
{
|
||||
"pcap_file_path": "/tmp/pytest-of-grossmj/pytest-41/test_json4/project-files/captures/test.pcap"
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/e44e037c-3b3e-4172-aff7-b9bb510646c6/adapters/0/ports/0/stop_capture' -d '{}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/e44e037c-3b3e-4172-aff7-b9bb510646c6/adapters/0/ports/0/stop_capture HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:25:51 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/docker/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture
|
||||
|
@ -0,0 +1,17 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/c5f0877d-6201-4fe8-8c0b-aaeb84222bee/duplicate' -d '{"destination_node_id": "72462999-933a-4be7-9ef5-0528f04c3870"}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/c5f0877d-6201-4fe8-8c0b-aaeb84222bee/duplicate HTTP/1.1
|
||||
{
|
||||
"destination_node_id": "72462999-933a-4be7-9ef5-0528f04c3870"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
Connection: close
|
||||
Content-Length: 4
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:25:51 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/docker/nodes/{node_id}/duplicate
|
||||
|
||||
true
|
39
docs/api/examples/compute_post_projectsprojectidiounodes.txt
Normal file
39
docs/api/examples/compute_post_projectsprojectidiounodes.txt
Normal file
@ -0,0 +1,39 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes' -d '{"name": "PC TEST 1", "node_id": "0de29446-fa90-4e91-89f3-5ea84860f212", "path": "iou.bin", "startup_config_content": "hostname test"}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes HTTP/1.1
|
||||
{
|
||||
"name": "PC TEST 1",
|
||||
"node_id": "0de29446-fa90-4e91-89f3-5ea84860f212",
|
||||
"path": "iou.bin",
|
||||
"startup_config_content": "hostname test"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
Connection: close
|
||||
Content-Length: 631
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:25:56 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/iou/nodes
|
||||
|
||||
{
|
||||
"application_id": 1,
|
||||
"command_line": "",
|
||||
"console": 5004,
|
||||
"console_type": "telnet",
|
||||
"ethernet_adapters": 2,
|
||||
"l1_keepalives": false,
|
||||
"md5sum": "e573e8f5c93c6c00783f20c7a170aa6c",
|
||||
"name": "PC TEST 1",
|
||||
"node_directory": "/tmp/pytest-of-grossmj/pytest-41/test_json4/project-files/iou/0de29446-fa90-4e91-89f3-5ea84860f212",
|
||||
"node_id": "0de29446-fa90-4e91-89f3-5ea84860f212",
|
||||
"nvram": 128,
|
||||
"path": "iou.bin",
|
||||
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
|
||||
"ram": 256,
|
||||
"serial_adapters": 2,
|
||||
"status": "stopped",
|
||||
"usage": "",
|
||||
"use_default_iou_values": true
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/fadca255-3eb8-44fa-9a14-31c52604d094/adapters/1/ports/0/nio' -d '{"ethernet_device": "docker0", "type": "nio_ethernet"}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/fadca255-3eb8-44fa-9a14-31c52604d094/adapters/1/ports/0/nio HTTP/1.1
|
||||
{
|
||||
"ethernet_device": "docker0",
|
||||
"type": "nio_ethernet"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
Connection: close
|
||||
Content-Length: 64
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:25:58 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
|
||||
|
||||
{
|
||||
"ethernet_device": "docker0",
|
||||
"type": "nio_ethernet"
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/b63d611d-066b-4673-ad6c-c0e8a93cedbb/adapters/0/ports/0/start_capture' -d '{"capture_file_name": "test.pcap", "data_link_type": "DLT_EN10MB"}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/b63d611d-066b-4673-ad6c-c0e8a93cedbb/adapters/0/ports/0/start_capture HTTP/1.1
|
||||
{
|
||||
"capture_file_name": "test.pcap",
|
||||
"data_link_type": "DLT_EN10MB"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
Connection: close
|
||||
Content-Length: 104
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:25:59 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/start_capture
|
||||
|
||||
{
|
||||
"pcap_file_path": "/tmp/pytest-of-grossmj/pytest-41/test_json4/project-files/captures/test.pcap"
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/73ab14a4-9338-4428-89a7-bce3d8daf1eb/adapters/0/ports/0/stop_capture' -d '{}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/73ab14a4-9338-4428-89a7-bce3d8daf1eb/adapters/0/ports/0/stop_capture HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:25:59 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture
|
||||
|
@ -0,0 +1,17 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/12cd096f-f0c1-45f9-ac57-360f1d379c48/duplicate' -d '{"destination_node_id": "3949cfaa-2574-4064-a088-5f48ae784e9b"}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/12cd096f-f0c1-45f9-ac57-360f1d379c48/duplicate HTTP/1.1
|
||||
{
|
||||
"destination_node_id": "3949cfaa-2574-4064-a088-5f48ae784e9b"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
Connection: close
|
||||
Content-Length: 4
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:26:09 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/duplicate
|
||||
|
||||
true
|
@ -0,0 +1,14 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/c9e6143c-cf69-416d-8935-8af81fb8ff1d/reload' -d '{}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/c9e6143c-cf69-416d-8935-8af81fb8ff1d/reload HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:25:57 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/reload
|
||||
|
@ -0,0 +1,36 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/03423f2a-311d-4436-8c9a-8b34945f6cd2/start' -d '{"iourc_content": "test"}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/03423f2a-311d-4436-8c9a-8b34945f6cd2/start HTTP/1.1
|
||||
{
|
||||
"iourc_content": "test"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
Connection: close
|
||||
Content-Length: 631
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:25:57 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/start
|
||||
|
||||
{
|
||||
"application_id": 1,
|
||||
"command_line": "",
|
||||
"console": 5004,
|
||||
"console_type": "telnet",
|
||||
"ethernet_adapters": 2,
|
||||
"l1_keepalives": false,
|
||||
"md5sum": "e573e8f5c93c6c00783f20c7a170aa6c",
|
||||
"name": "PC TEST 1",
|
||||
"node_directory": "/tmp/pytest-of-grossmj/pytest-41/test_json4/project-files/iou/03423f2a-311d-4436-8c9a-8b34945f6cd2",
|
||||
"node_id": "03423f2a-311d-4436-8c9a-8b34945f6cd2",
|
||||
"nvram": 128,
|
||||
"path": "iou.bin",
|
||||
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
|
||||
"ram": 256,
|
||||
"serial_adapters": 2,
|
||||
"status": "stopped",
|
||||
"usage": "",
|
||||
"use_default_iou_values": true
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/5fcb7418-3e0c-4a47-8cff-c5e0b3e68000/stop' -d '{}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/5fcb7418-3e0c-4a47-8cff-c5e0b3e68000/stop HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:25:57 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/stop
|
||||
|
30
docs/api/examples/compute_post_projectsprojectidnatnodes.txt
Normal file
30
docs/api/examples/compute_post_projectsprojectidnatnodes.txt
Normal file
@ -0,0 +1,30 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes' -d '{"name": "Nat 1"}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes HTTP/1.1
|
||||
{
|
||||
"name": "Nat 1"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
Connection: close
|
||||
Content-Length: 335
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:26:09 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/nat/nodes
|
||||
|
||||
{
|
||||
"name": "Nat 1",
|
||||
"node_id": "4b2c0443-0726-4507-a30b-7ac535b1bbaf",
|
||||
"ports_mapping": [
|
||||
{
|
||||
"interface": "virbr0",
|
||||
"name": "nat0",
|
||||
"port_number": 0,
|
||||
"type": "ethernet"
|
||||
}
|
||||
],
|
||||
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
|
||||
"status": "started"
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/d8f89cb0-b60f-404a-8431-af581957e29c/adapters/0/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/d8f89cb0-b60f-404a-8431-af581957e29c/adapters/0/ports/0/nio HTTP/1.1
|
||||
{
|
||||
"lport": 4242,
|
||||
"rhost": "127.0.0.1",
|
||||
"rport": 4343,
|
||||
"type": "nio_udp"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
Connection: close
|
||||
Content-Length: 89
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:26:09 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/nat/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
|
||||
|
||||
{
|
||||
"lport": 4242,
|
||||
"rhost": "127.0.0.1",
|
||||
"rport": 4343,
|
||||
"type": "nio_udp"
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/bc78e678-408d-4d03-9670-c29da452f6c7/adapters/0/ports/0/start_capture' -d '{"capture_file_name": "test.pcap", "data_link_type": "DLT_EN10MB"}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/bc78e678-408d-4d03-9670-c29da452f6c7/adapters/0/ports/0/start_capture HTTP/1.1
|
||||
{
|
||||
"capture_file_name": "test.pcap",
|
||||
"data_link_type": "DLT_EN10MB"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
Connection: close
|
||||
Content-Length: 104
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:26:16 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/nat/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/start_capture
|
||||
|
||||
{
|
||||
"pcap_file_path": "/tmp/pytest-of-grossmj/pytest-41/test_json4/project-files/captures/test.pcap"
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/da53ab8a-106c-48a9-ba35-48167fb1b6d1/adapters/0/ports/0/stop_capture' -d '{}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/da53ab8a-106c-48a9-ba35-48167fb1b6d1/adapters/0/ports/0/stop_capture HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:26:16 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/nat/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture
|
||||
|
17
docs/api/examples/compute_post_projectsprojectidportsudp.txt
Normal file
17
docs/api/examples/compute_post_projectsprojectidportsudp.txt
Normal file
@ -0,0 +1,17 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/ports/udp' -d '{}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/ports/udp HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
Connection: close
|
||||
Content-Length: 25
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:26:16 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/ports/udp
|
||||
|
||||
{
|
||||
"udp_port": 20000
|
||||
}
|
@ -0,0 +1,63 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes' -d '{"hda_disk_image": "hello.img", "name": "PC TEST 1", "qemu_path": "/tmp/tmphb4tqqk2/qemu-system-x86_64"}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes HTTP/1.1
|
||||
{
|
||||
"hda_disk_image": "hello.img",
|
||||
"name": "PC TEST 1",
|
||||
"qemu_path": "/tmp/tmphb4tqqk2/qemu-system-x86_64"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
Connection: close
|
||||
Content-Length: 1420
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:26:28 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/qemu/nodes
|
||||
|
||||
{
|
||||
"adapter_type": "e1000",
|
||||
"adapters": 1,
|
||||
"bios_image": "",
|
||||
"bios_image_md5sum": null,
|
||||
"boot_priority": "c",
|
||||
"cdrom_image": "",
|
||||
"cdrom_image_md5sum": null,
|
||||
"command_line": "",
|
||||
"console": 5004,
|
||||
"console_type": "telnet",
|
||||
"cpu_throttling": 0,
|
||||
"cpus": 1,
|
||||
"hda_disk_image": "hello.img",
|
||||
"hda_disk_image_md5sum": "7d793037a0760186574b0282f2f435e7",
|
||||
"hda_disk_interface": "ide",
|
||||
"hdb_disk_image": "",
|
||||
"hdb_disk_image_md5sum": null,
|
||||
"hdb_disk_interface": "ide",
|
||||
"hdc_disk_image": "",
|
||||
"hdc_disk_image_md5sum": null,
|
||||
"hdc_disk_interface": "ide",
|
||||
"hdd_disk_image": "",
|
||||
"hdd_disk_image_md5sum": null,
|
||||
"hdd_disk_interface": "ide",
|
||||
"initrd": "",
|
||||
"initrd_md5sum": null,
|
||||
"kernel_command_line": "",
|
||||
"kernel_image": "",
|
||||
"kernel_image_md5sum": null,
|
||||
"legacy_networking": false,
|
||||
"mac_address": "0c:dd:80:dd:e2:00",
|
||||
"name": "PC TEST 1",
|
||||
"node_directory": "/tmp/tmp3gc2avyo/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/qemu/2320a0b9-ed9b-45d9-9bef-c6d13bd9dde2",
|
||||
"node_id": "2320a0b9-ed9b-45d9-9bef-c6d13bd9dde2",
|
||||
"on_close": "power_off",
|
||||
"options": "",
|
||||
"platform": "x86_64",
|
||||
"process_priority": "low",
|
||||
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
|
||||
"qemu_path": "/tmp/tmphb4tqqk2/qemu-system-x86_64",
|
||||
"ram": 256,
|
||||
"status": "stopped",
|
||||
"usage": ""
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/5048489f-46b4-4720-bee9-f4cf1ec7af49/adapters/1/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/5048489f-46b4-4720-bee9-f4cf1ec7af49/adapters/1/ports/0/nio HTTP/1.1
|
||||
{
|
||||
"lport": 4242,
|
||||
"rhost": "127.0.0.1",
|
||||
"rport": 4343,
|
||||
"type": "nio_udp"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
Connection: close
|
||||
Content-Length: 89
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:26:44 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
|
||||
|
||||
{
|
||||
"lport": 4242,
|
||||
"rhost": "127.0.0.1",
|
||||
"rport": 4343,
|
||||
"type": "nio_udp"
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/40fc7ce3-f4fe-469e-a94a-fb95906d9e22/adapters/0/ports/0/start_capture' -d '{"capture_file_name": "test.pcap", "data_link_type": "DLT_EN10MB"}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/40fc7ce3-f4fe-469e-a94a-fb95906d9e22/adapters/0/ports/0/start_capture HTTP/1.1
|
||||
{
|
||||
"capture_file_name": "test.pcap",
|
||||
"data_link_type": "DLT_EN10MB"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
Connection: close
|
||||
Content-Length: 123
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:27:24 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/start_capture
|
||||
|
||||
{
|
||||
"pcap_file_path": "/tmp/tmp3gc2avyo/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/captures/test.pcap"
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/4258adbd-3115-4b8f-b751-cb117dcff450/adapters/0/ports/0/stop_capture' -d '{}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/4258adbd-3115-4b8f-b751-cb117dcff450/adapters/0/ports/0/stop_capture HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:27:24 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture
|
||||
|
@ -0,0 +1,17 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/839fb609-bd90-4a20-b496-6e225594c697/duplicate' -d '{"destination_node_id": "eb9e761d-0029-4644-b586-dc903e7abd71"}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/839fb609-bd90-4a20-b496-6e225594c697/duplicate HTTP/1.1
|
||||
{
|
||||
"destination_node_id": "eb9e761d-0029-4644-b586-dc903e7abd71"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
Connection: close
|
||||
Content-Length: 4
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:27:21 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/duplicate
|
||||
|
||||
true
|
@ -0,0 +1,14 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/314c42be-e138-42f3-a59e-a7c3c2e6514f/reload' -d '{}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/314c42be-e138-42f3-a59e-a7c3c2e6514f/reload HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:26:33 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/reload
|
||||
|
@ -0,0 +1,14 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/ad58dbd9-6558-4750-bec5-1de4cf77ed70/resume' -d '{}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/ad58dbd9-6558-4750-bec5-1de4cf77ed70/resume HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:26:35 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/resume
|
||||
|
@ -0,0 +1,59 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/9a4b2f04-74a6-4528-a6a7-b02365417fe9/start' -d '{}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/9a4b2f04-74a6-4528-a6a7-b02365417fe9/start HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
Connection: close
|
||||
Content-Length: 1381
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:26:30 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/start
|
||||
|
||||
{
|
||||
"adapter_type": "e1000",
|
||||
"adapters": 1,
|
||||
"bios_image": "",
|
||||
"bios_image_md5sum": null,
|
||||
"boot_priority": "c",
|
||||
"cdrom_image": "",
|
||||
"cdrom_image_md5sum": null,
|
||||
"command_line": "",
|
||||
"console": 5004,
|
||||
"console_type": "telnet",
|
||||
"cpu_throttling": 0,
|
||||
"cpus": 1,
|
||||
"hda_disk_image": "",
|
||||
"hda_disk_image_md5sum": null,
|
||||
"hda_disk_interface": "ide",
|
||||
"hdb_disk_image": "",
|
||||
"hdb_disk_image_md5sum": null,
|
||||
"hdb_disk_interface": "ide",
|
||||
"hdc_disk_image": "",
|
||||
"hdc_disk_image_md5sum": null,
|
||||
"hdc_disk_interface": "ide",
|
||||
"hdd_disk_image": "",
|
||||
"hdd_disk_image_md5sum": null,
|
||||
"hdd_disk_interface": "ide",
|
||||
"initrd": "",
|
||||
"initrd_md5sum": null,
|
||||
"kernel_command_line": "",
|
||||
"kernel_image": "",
|
||||
"kernel_image_md5sum": null,
|
||||
"legacy_networking": false,
|
||||
"mac_address": "0c:dd:80:7f:e9:00",
|
||||
"name": "PC TEST 1",
|
||||
"node_directory": "/tmp/tmp3gc2avyo/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/qemu/9a4b2f04-74a6-4528-a6a7-b02365417fe9",
|
||||
"node_id": "9a4b2f04-74a6-4528-a6a7-b02365417fe9",
|
||||
"on_close": "power_off",
|
||||
"options": "",
|
||||
"platform": "x86_64",
|
||||
"process_priority": "low",
|
||||
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
|
||||
"qemu_path": "/tmp/tmphb4tqqk2/qemu-system-x86_64",
|
||||
"ram": 256,
|
||||
"status": "stopped",
|
||||
"usage": ""
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/6aacea07-76ca-4fb9-94d2-24da00e33037/stop' -d '{}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/6aacea07-76ca-4fb9-94d2-24da00e33037/stop HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:26:31 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/stop
|
||||
|
@ -0,0 +1,14 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/073074f6-83d4-40b4-8042-771b3df49f60/suspend' -d '{}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/073074f6-83d4-40b4-8042-771b3df49f60/suspend HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:26:33 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/suspend
|
||||
|
@ -0,0 +1,28 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes' -d '{"name": "TraceNG TEST 1"}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes HTTP/1.1
|
||||
{
|
||||
"name": "TraceNG TEST 1"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
Connection: close
|
||||
Content-Length: 443
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:27:26 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/traceng/nodes
|
||||
|
||||
{
|
||||
"command_line": "",
|
||||
"console": null,
|
||||
"console_type": "none",
|
||||
"default_destination": "",
|
||||
"ip_address": "",
|
||||
"name": "TraceNG TEST 1",
|
||||
"node_directory": "/tmp/tmp3gc2avyo/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/traceng/f27f5247-e419-4404-9150-b1bb9306d783",
|
||||
"node_id": "f27f5247-e419-4404-9150-b1bb9306d783",
|
||||
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
|
||||
"status": "stopped"
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/243bc8d3-6531-4e9e-99c6-23ad9a4898c8/adapters/0/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/243bc8d3-6531-4e9e-99c6-23ad9a4898c8/adapters/0/ports/0/nio HTTP/1.1
|
||||
{
|
||||
"lport": 4242,
|
||||
"rhost": "127.0.0.1",
|
||||
"rport": 4343,
|
||||
"type": "nio_udp"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
Connection: close
|
||||
Content-Length: 89
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:27:26 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
|
||||
|
||||
{
|
||||
"lport": 4242,
|
||||
"rhost": "127.0.0.1",
|
||||
"rport": 4343,
|
||||
"type": "nio_udp"
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/770d23d8-e568-4fc4-8497-216c2e129d53/adapters/0/ports/0/start_capture' -d '{"capture_file_name": "test.pcap", "data_link_type": "DLT_EN10MB"}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/770d23d8-e568-4fc4-8497-216c2e129d53/adapters/0/ports/0/start_capture HTTP/1.1
|
||||
{
|
||||
"capture_file_name": "test.pcap",
|
||||
"data_link_type": "DLT_EN10MB"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
Connection: close
|
||||
Content-Length: 123
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:27:27 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/start_capture
|
||||
|
||||
{
|
||||
"pcap_file_path": "/tmp/tmp3gc2avyo/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/captures/test.pcap"
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/2a0e5c7d-6773-45a3-886c-d19e329eaeba/adapters/0/ports/0/stop_capture' -d '{}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/2a0e5c7d-6773-45a3-886c-d19e329eaeba/adapters/0/ports/0/stop_capture HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:27:27 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture
|
||||
|
@ -0,0 +1,17 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/fe70324f-78a3-4ada-a675-bd693250d403/duplicate' -d '{"destination_node_id": "64e0db26-82e6-416a-ac11-97add4614131"}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/fe70324f-78a3-4ada-a675-bd693250d403/duplicate HTTP/1.1
|
||||
{
|
||||
"destination_node_id": "64e0db26-82e6-416a-ac11-97add4614131"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
Connection: close
|
||||
Content-Length: 4
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:27:27 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/duplicate
|
||||
|
||||
true
|
@ -0,0 +1,14 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/d12252b3-0698-441d-b7a8-cf0f5c8de536/reload' -d '{}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/d12252b3-0698-441d-b7a8-cf0f5c8de536/reload HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:27:26 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/reload
|
||||
|
@ -0,0 +1,28 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/9ba1f859-a8f5-46b7-beda-ce49116bdce7/start' -d '{"destination": "192.168.1.2"}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/9ba1f859-a8f5-46b7-beda-ce49116bdce7/start HTTP/1.1
|
||||
{
|
||||
"destination": "192.168.1.2"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
Connection: close
|
||||
Content-Length: 443
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:27:26 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/start
|
||||
|
||||
{
|
||||
"command_line": "",
|
||||
"console": null,
|
||||
"console_type": "none",
|
||||
"default_destination": "",
|
||||
"ip_address": "",
|
||||
"name": "TraceNG TEST 1",
|
||||
"node_directory": "/tmp/tmp3gc2avyo/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/traceng/9ba1f859-a8f5-46b7-beda-ce49116bdce7",
|
||||
"node_id": "9ba1f859-a8f5-46b7-beda-ce49116bdce7",
|
||||
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
|
||||
"status": "stopped"
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/797b0b03-d612-437a-91cc-f6b6a2e1341f/stop' -d '{}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/797b0b03-d612-437a-91cc-f6b6a2e1341f/stop HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:27:26 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/stop
|
||||
|
@ -0,0 +1,36 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes' -d '{"linked_clone": false, "name": "VM1", "vmname": "VM1"}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes HTTP/1.1
|
||||
{
|
||||
"linked_clone": false,
|
||||
"name": "VM1",
|
||||
"vmname": "VM1"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
Connection: close
|
||||
Content-Length: 477
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:27:27 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes
|
||||
|
||||
{
|
||||
"adapter_type": "Intel PRO/1000 MT Desktop (82540EM)",
|
||||
"adapters": 0,
|
||||
"console": 5004,
|
||||
"console_type": "telnet",
|
||||
"headless": false,
|
||||
"linked_clone": false,
|
||||
"name": "VM1",
|
||||
"node_directory": null,
|
||||
"node_id": "e7a8f831-0fb0-4946-a188-d3ac4112e097",
|
||||
"on_close": "power_off",
|
||||
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
|
||||
"ram": 0,
|
||||
"status": "stopped",
|
||||
"usage": "",
|
||||
"use_any_adapter": false,
|
||||
"vmname": "VM1"
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/85a79b7b-1c7a-49a9-bdda-b97c036420b5/adapters/0/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/85a79b7b-1c7a-49a9-bdda-b97c036420b5/adapters/0/ports/0/nio HTTP/1.1
|
||||
{
|
||||
"lport": 4242,
|
||||
"rhost": "127.0.0.1",
|
||||
"rport": 4343,
|
||||
"type": "nio_udp"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
Connection: close
|
||||
Content-Length: 89
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:27:27 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
|
||||
|
||||
{
|
||||
"lport": 4242,
|
||||
"rhost": "127.0.0.1",
|
||||
"rport": 4343,
|
||||
"type": "nio_udp"
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/e99d891a-06ed-4923-9110-4dfae366af6d/adapters/0/ports/0/start_capture' -d '{"capture_file_name": "test.pcap", "data_link_type": "DLT_EN10MB"}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/e99d891a-06ed-4923-9110-4dfae366af6d/adapters/0/ports/0/start_capture HTTP/1.1
|
||||
{
|
||||
"capture_file_name": "test.pcap",
|
||||
"data_link_type": "DLT_EN10MB"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
Connection: close
|
||||
Content-Length: 123
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:27:28 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/start_capture
|
||||
|
||||
{
|
||||
"pcap_file_path": "/tmp/tmp3gc2avyo/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/captures/test.pcap"
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/27bdd057-dedc-424e-9593-3ea522aa7d1f/adapters/0/ports/0/stop_capture' -d '{}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/27bdd057-dedc-424e-9593-3ea522aa7d1f/adapters/0/ports/0/stop_capture HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:27:28 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture
|
||||
|
@ -0,0 +1,14 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/2e55edb4-1f15-4b41-8107-bf931e81f779/reload' -d '{}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/2e55edb4-1f15-4b41-8107-bf931e81f779/reload HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:27:27 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/reload
|
||||
|
@ -0,0 +1,14 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/7e8bf660-9d03-4005-80b6-f63666aa1a1d/resume' -d '{}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/7e8bf660-9d03-4005-80b6-f63666aa1a1d/resume HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:27:27 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/resume
|
||||
|
@ -0,0 +1,14 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/311dba8a-1030-46da-94d8-76cf6430cc5e/start' -d '{}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/311dba8a-1030-46da-94d8-76cf6430cc5e/start HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:27:27 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/start
|
||||
|
@ -0,0 +1,14 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/40d1d4a5-7e95-41fc-8c51-1883dc9eb71b/stop' -d '{}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/40d1d4a5-7e95-41fc-8c51-1883dc9eb71b/stop HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:27:27 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/stop
|
||||
|
@ -0,0 +1,14 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/079cef97-d46e-4033-b1b5-96e032817a0e/suspend' -d '{}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/079cef97-d46e-4033-b1b5-96e032817a0e/suspend HTTP/1.1
|
||||
{}
|
||||
|
||||
|
||||
HTTP/1.1 204
|
||||
Connection: close
|
||||
Content-Length: 0
|
||||
Content-Type: application/octet-stream
|
||||
Date: Wed, 08 Jan 2020 02:27:27 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/suspend
|
||||
|
@ -0,0 +1,35 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes' -d '{"linked_clone": false, "name": "VM1", "vmx_path": "/tmp/pytest-of-grossmj/pytest-41/test_vmware_create0/test.vmx"}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes HTTP/1.1
|
||||
{
|
||||
"linked_clone": false,
|
||||
"name": "VM1",
|
||||
"vmx_path": "/tmp/pytest-of-grossmj/pytest-41/test_vmware_create0/test.vmx"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
Connection: close
|
||||
Content-Length: 611
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:27:28 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/vmware/nodes
|
||||
|
||||
{
|
||||
"adapter_type": "e1000",
|
||||
"adapters": 0,
|
||||
"console": 5004,
|
||||
"console_type": "telnet",
|
||||
"headless": false,
|
||||
"linked_clone": false,
|
||||
"name": "VM1",
|
||||
"node_directory": "/tmp/tmp3gc2avyo/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/vmware/1008243f-21b0-4861-8f06-0622df304234",
|
||||
"node_id": "1008243f-21b0-4861-8f06-0622df304234",
|
||||
"on_close": "power_off",
|
||||
"project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
|
||||
"status": "stopped",
|
||||
"usage": "",
|
||||
"use_any_adapter": false,
|
||||
"vmx_path": "/tmp/pytest-of-grossmj/pytest-41/test_vmware_create0/test.vmx"
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/6eee4673-dd85-41f9-b721-9a6f84902465/adapters/0/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/6eee4673-dd85-41f9-b721-9a6f84902465/adapters/0/ports/0/nio HTTP/1.1
|
||||
{
|
||||
"lport": 4242,
|
||||
"rhost": "127.0.0.1",
|
||||
"rport": 4343,
|
||||
"type": "nio_udp"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 201
|
||||
Connection: close
|
||||
Content-Length: 89
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:27:40 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
|
||||
|
||||
{
|
||||
"lport": 4242,
|
||||
"rhost": "127.0.0.1",
|
||||
"rport": 4343,
|
||||
"type": "nio_udp"
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/718eb5f5-e914-424d-b720-d95f5061c0c7/adapters/0/ports/0/start_capture' -d '{"capture_file_name": "test.pcap", "data_link_type": "DLT_EN10MB"}'
|
||||
|
||||
POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/718eb5f5-e914-424d-b720-d95f5061c0c7/adapters/0/ports/0/start_capture HTTP/1.1
|
||||
{
|
||||
"capture_file_name": "test.pcap",
|
||||
"data_link_type": "DLT_EN10MB"
|
||||
}
|
||||
|
||||
|
||||
HTTP/1.1 200
|
||||
Connection: close
|
||||
Content-Length: 123
|
||||
Content-Type: application/json
|
||||
Date: Wed, 08 Jan 2020 02:27:44 GMT
|
||||
Server: Python/3.6 GNS3/2.2.4dev1
|
||||
X-Route: /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/start_capture
|
||||
|
||||
{
|
||||
"pcap_file_path": "/tmp/tmp3gc2avyo/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/captures/test.pcap"
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user