Return command_line and node_directory via the controller

This commit is contained in:
Julien Duponchelle
2016-05-12 10:39:50 +02:00
parent 885a870ae8
commit 5280644327
167 changed files with 5280 additions and 33 deletions

View File

@ -0,0 +1,66 @@
/v2/compute/projects/{project_id}/virtualbox/nodes
------------------------------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v2/compute/projects/**{project_id}**/virtualbox/nodes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Create a new VirtualBox VM instance
Parameters
**********
- **project_id**: UUID for the project
Response status codes
**********************
- **400**: Invalid request
- **201**: Instance created
- **409**: Conflict
Input
*******
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>acpi_shutdown</td> <td> </td> <td>boolean</td> <td>ACPI shutdown</td> </tr>
<tr><td>adapter_type</td> <td> </td> <td>string</td> <td>VirtualBox adapter type</td> </tr>
<tr><td>adapters</td> <td> </td> <td>integer</td> <td>number of adapters</td> </tr>
<tr><td>console</td> <td> </td> <td>integer</td> <td>console TCP port</td> </tr>
<tr><td>enable_remote_console</td> <td> </td> <td>boolean</td> <td>enable the remote console</td> </tr>
<tr><td>headless</td> <td> </td> <td>boolean</td> <td>headless mode</td> </tr>
<tr><td>linked_clone</td> <td>&#10004;</td> <td>boolean</td> <td>either the VM is a linked clone or not</td> </tr>
<tr><td>name</td> <td>&#10004;</td> <td>string</td> <td>VirtualBox VM instance name</td> </tr>
<tr><td>node_id</td> <td> </td> <td></td> <td>VirtualBox VM instance identifier</td> </tr>
<tr><td>ram</td> <td> </td> <td>integer</td> <td>Amount of RAM</td> </tr>
<tr><td>use_any_adapter</td> <td> </td> <td>boolean</td> <td>allow GNS3 to use any VirtualBox adapter</td> </tr>
<tr><td>vmname</td> <td>&#10004;</td> <td>string</td> <td>VirtualBox VM name (in VirtualBox itself)</td> </tr>
</table>
Output
*******
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>acpi_shutdown</td> <td> </td> <td>boolean</td> <td>ACPI shutdown</td> </tr>
<tr><td>adapter_type</td> <td> </td> <td>string</td> <td>VirtualBox adapter type</td> </tr>
<tr><td>adapters</td> <td> </td> <td>integer</td> <td>number of adapters</td> </tr>
<tr><td>console</td> <td> </td> <td>integer</td> <td>console TCP port</td> </tr>
<tr><td>enable_remote_console</td> <td> </td> <td>boolean</td> <td>enable the remote console</td> </tr>
<tr><td>headless</td> <td> </td> <td>boolean</td> <td>headless mode</td> </tr>
<tr><td>name</td> <td>&#10004;</td> <td>string</td> <td>VirtualBox VM instance name</td> </tr>
<tr><td>node_id</td> <td>&#10004;</td> <td>string</td> <td>VirtualBox VM instance UUID</td> </tr>
<tr><td>project_id</td> <td>&#10004;</td> <td>string</td> <td>Project UUID</td> </tr>
<tr><td>ram</td> <td> </td> <td>integer</td> <td>Amount of RAM</td> </tr>
<tr><td>use_any_adapter</td> <td> </td> <td>boolean</td> <td>allow GNS3 to use any VirtualBox adapter</td> </tr>
<tr><td>vm_directory</td> <td>&#10004;</td> <td>['string', 'null']</td> <td></td> </tr>
<tr><td>vmname</td> <td> </td> <td>string</td> <td>VirtualBox VM name (in VirtualBox itself)</td> </tr>
</table>
Sample session
***************
.. literalinclude:: ../../../examples/compute_post_projectsprojectidvirtualboxnodes.txt

View File

@ -0,0 +1,125 @@
/v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}
------------------------------------------------------------------------------------------------------------------------------------------
.. contents::
GET /v2/compute/projects/**{project_id}**/virtualbox/nodes/**{node_id}**
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Get a VirtualBox VM instance
Parameters
**********
- **node_id**: UUID for the instance
- **project_id**: UUID for the project
Response status codes
**********************
- **200**: Success
- **400**: Invalid request
- **404**: Instance doesn't exist
Output
*******
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>acpi_shutdown</td> <td> </td> <td>boolean</td> <td>ACPI shutdown</td> </tr>
<tr><td>adapter_type</td> <td> </td> <td>string</td> <td>VirtualBox adapter type</td> </tr>
<tr><td>adapters</td> <td> </td> <td>integer</td> <td>number of adapters</td> </tr>
<tr><td>console</td> <td> </td> <td>integer</td> <td>console TCP port</td> </tr>
<tr><td>enable_remote_console</td> <td> </td> <td>boolean</td> <td>enable the remote console</td> </tr>
<tr><td>headless</td> <td> </td> <td>boolean</td> <td>headless mode</td> </tr>
<tr><td>name</td> <td>&#10004;</td> <td>string</td> <td>VirtualBox VM instance name</td> </tr>
<tr><td>node_id</td> <td>&#10004;</td> <td>string</td> <td>VirtualBox VM instance UUID</td> </tr>
<tr><td>project_id</td> <td>&#10004;</td> <td>string</td> <td>Project UUID</td> </tr>
<tr><td>ram</td> <td> </td> <td>integer</td> <td>Amount of RAM</td> </tr>
<tr><td>use_any_adapter</td> <td> </td> <td>boolean</td> <td>allow GNS3 to use any VirtualBox adapter</td> </tr>
<tr><td>vm_directory</td> <td>&#10004;</td> <td>['string', 'null']</td> <td></td> </tr>
<tr><td>vmname</td> <td> </td> <td>string</td> <td>VirtualBox VM name (in VirtualBox itself)</td> </tr>
</table>
Sample session
***************
.. literalinclude:: ../../../examples/compute_get_projectsprojectidvirtualboxnodesnodeid.txt
PUT /v2/compute/projects/**{project_id}**/virtualbox/nodes/**{node_id}**
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Update a VirtualBox VM instance
Parameters
**********
- **node_id**: UUID for the instance
- **project_id**: UUID for the project
Response status codes
**********************
- **200**: Instance updated
- **400**: Invalid request
- **404**: Instance doesn't exist
- **409**: Conflict
Input
*******
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>acpi_shutdown</td> <td> </td> <td>boolean</td> <td>ACPI shutdown</td> </tr>
<tr><td>adapter_type</td> <td> </td> <td>string</td> <td>VirtualBox adapter type</td> </tr>
<tr><td>adapters</td> <td> </td> <td>integer</td> <td>number of adapters</td> </tr>
<tr><td>console</td> <td> </td> <td>integer</td> <td>console TCP port</td> </tr>
<tr><td>enable_remote_console</td> <td> </td> <td>boolean</td> <td>enable the remote console</td> </tr>
<tr><td>headless</td> <td> </td> <td>boolean</td> <td>headless mode</td> </tr>
<tr><td>name</td> <td> </td> <td>string</td> <td>VirtualBox VM instance name</td> </tr>
<tr><td>ram</td> <td> </td> <td>integer</td> <td>Amount of RAM</td> </tr>
<tr><td>use_any_adapter</td> <td> </td> <td>boolean</td> <td>allow GNS3 to use any VirtualBox adapter</td> </tr>
<tr><td>vmname</td> <td> </td> <td>string</td> <td>VirtualBox VM name (in VirtualBox itself)</td> </tr>
</table>
Output
*******
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>acpi_shutdown</td> <td> </td> <td>boolean</td> <td>ACPI shutdown</td> </tr>
<tr><td>adapter_type</td> <td> </td> <td>string</td> <td>VirtualBox adapter type</td> </tr>
<tr><td>adapters</td> <td> </td> <td>integer</td> <td>number of adapters</td> </tr>
<tr><td>console</td> <td> </td> <td>integer</td> <td>console TCP port</td> </tr>
<tr><td>enable_remote_console</td> <td> </td> <td>boolean</td> <td>enable the remote console</td> </tr>
<tr><td>headless</td> <td> </td> <td>boolean</td> <td>headless mode</td> </tr>
<tr><td>name</td> <td>&#10004;</td> <td>string</td> <td>VirtualBox VM instance name</td> </tr>
<tr><td>node_id</td> <td>&#10004;</td> <td>string</td> <td>VirtualBox VM instance UUID</td> </tr>
<tr><td>project_id</td> <td>&#10004;</td> <td>string</td> <td>Project UUID</td> </tr>
<tr><td>ram</td> <td> </td> <td>integer</td> <td>Amount of RAM</td> </tr>
<tr><td>use_any_adapter</td> <td> </td> <td>boolean</td> <td>allow GNS3 to use any VirtualBox adapter</td> </tr>
<tr><td>vm_directory</td> <td>&#10004;</td> <td>['string', 'null']</td> <td></td> </tr>
<tr><td>vmname</td> <td> </td> <td>string</td> <td>VirtualBox VM name (in VirtualBox itself)</td> </tr>
</table>
Sample session
***************
.. literalinclude:: ../../../examples/compute_put_projectsprojectidvirtualboxnodesnodeid.txt
DELETE /v2/compute/projects/**{project_id}**/virtualbox/nodes/**{node_id}**
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Delete a VirtualBox VM instance
Parameters
**********
- **node_id**: UUID for the instance
- **project_id**: UUID for the project
Response status codes
**********************
- **400**: Invalid request
- **404**: Instance doesn't exist
- **204**: Instance deleted

View File

@ -0,0 +1,52 @@
/v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
------------------------------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v2/compute/projects/**{project_id}**/virtualbox/nodes/**{node_id}**/adapters/**{adapter_number:\d+}**/ports/**{port_number:\d+}**/nio
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Add a NIO to a VirtualBox VM instance
Parameters
**********
- **adapter_number**: Adapter where the nio should be added
- **port_number**: Port on the adapter (always 0)
- **node_id**: UUID for the instance
- **project_id**: UUID for the project
Response status codes
**********************
- **400**: Invalid request
- **201**: NIO created
- **404**: Instance doesn't exist
Sample session
***************
.. literalinclude:: ../../../examples/compute_post_projectsprojectidvirtualboxnodesnodeidadaptersadapternumberdportsportnumberdnio.txt
DELETE /v2/compute/projects/**{project_id}**/virtualbox/nodes/**{node_id}**/adapters/**{adapter_number:\d+}**/ports/**{port_number:\d+}**/nio
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Remove a NIO from a VirtualBox VM instance
Parameters
**********
- **adapter_number**: Adapter from where the nio should be removed
- **port_number**: Port on the adapter (always 0)
- **node_id**: UUID for the instance
- **project_id**: UUID for the project
Response status codes
**********************
- **400**: Invalid request
- **404**: Instance doesn't exist
- **204**: NIO deleted
Sample session
***************
.. literalinclude:: ../../../examples/compute_delete_projectsprojectidvirtualboxnodesnodeidadaptersadapternumberdportsportnumberdnio.txt

View File

@ -0,0 +1,32 @@
/v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/start_capture
------------------------------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v2/compute/projects/**{project_id}**/virtualbox/nodes/**{node_id}**/adapters/**{adapter_number:\d+}**/ports/**{port_number:\d+}**/start_capture
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Start a packet capture on a VirtualBox VM instance
Parameters
**********
- **adapter_number**: Adapter to start a packet capture
- **port_number**: Port on the adapter (always 0)
- **node_id**: UUID for the instance
- **project_id**: UUID for the project
Response status codes
**********************
- **200**: Capture started
- **400**: Invalid request
- **404**: Instance doesn't exist
Input
*******
.. raw:: html
<table>
<tr> <th>Name</th> <th>Mandatory</th> <th>Type</th> <th>Description</th> </tr>
<tr><td>capture_file_name</td> <td>&#10004;</td> <td>string</td> <td>Capture file name</td> </tr>
<tr><td>data_link_type</td> <td> </td> <td>enum</td> <td>Possible values: DLT_ATM_RFC1483, DLT_EN10MB, DLT_FRELAY, DLT_C_HDLC</td> </tr>
</table>

View File

@ -0,0 +1,22 @@
/v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture
------------------------------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v2/compute/projects/**{project_id}**/virtualbox/nodes/**{node_id}**/adapters/**{adapter_number:\d+}**/ports/**{port_number:\d+}**/stop_capture
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Stop a packet capture on a VirtualBox VM instance
Parameters
**********
- **adapter_number**: Adapter to stop a packet capture
- **port_number**: Port on the adapter (always 0)
- **node_id**: UUID for the instance
- **project_id**: UUID for the project
Response status codes
**********************
- **400**: Invalid request
- **404**: Instance doesn't exist
- **204**: Capture stopped

View File

@ -0,0 +1,26 @@
/v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/reload
------------------------------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v2/compute/projects/**{project_id}**/virtualbox/nodes/**{node_id}**/reload
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Reload a VirtualBox VM instance
Parameters
**********
- **node_id**: UUID for the instance
- **project_id**: UUID for the project
Response status codes
**********************
- **400**: Invalid request
- **404**: Instance doesn't exist
- **204**: Instance reloaded
Sample session
***************
.. literalinclude:: ../../../examples/compute_post_projectsprojectidvirtualboxnodesnodeidreload.txt

View File

@ -0,0 +1,26 @@
/v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/resume
------------------------------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v2/compute/projects/**{project_id}**/virtualbox/nodes/**{node_id}**/resume
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Resume a suspended VirtualBox VM instance
Parameters
**********
- **node_id**: UUID for the instance
- **project_id**: UUID for the project
Response status codes
**********************
- **400**: Invalid request
- **404**: Instance doesn't exist
- **204**: Instance resumed
Sample session
***************
.. literalinclude:: ../../../examples/compute_post_projectsprojectidvirtualboxnodesnodeidresume.txt

View File

@ -0,0 +1,26 @@
/v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/start
------------------------------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v2/compute/projects/**{project_id}**/virtualbox/nodes/**{node_id}**/start
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Start a VirtualBox VM instance
Parameters
**********
- **node_id**: UUID for the instance
- **project_id**: UUID for the project
Response status codes
**********************
- **400**: Invalid request
- **404**: Instance doesn't exist
- **204**: Instance started
Sample session
***************
.. literalinclude:: ../../../examples/compute_post_projectsprojectidvirtualboxnodesnodeidstart.txt

View File

@ -0,0 +1,26 @@
/v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/stop
------------------------------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v2/compute/projects/**{project_id}**/virtualbox/nodes/**{node_id}**/stop
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Stop a VirtualBox VM instance
Parameters
**********
- **node_id**: UUID for the instance
- **project_id**: UUID for the project
Response status codes
**********************
- **400**: Invalid request
- **404**: Instance doesn't exist
- **204**: Instance stopped
Sample session
***************
.. literalinclude:: ../../../examples/compute_post_projectsprojectidvirtualboxnodesnodeidstop.txt

View File

@ -0,0 +1,26 @@
/v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/suspend
------------------------------------------------------------------------------------------------------------------------------------------
.. contents::
POST /v2/compute/projects/**{project_id}**/virtualbox/nodes/**{node_id}**/suspend
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suspend a VirtualBox VM instance
Parameters
**********
- **node_id**: UUID for the instance
- **project_id**: UUID for the project
Response status codes
**********************
- **400**: Invalid request
- **404**: Instance doesn't exist
- **204**: Instance suspended
Sample session
***************
.. literalinclude:: ../../../examples/compute_post_projectsprojectidvirtualboxnodesnodeidsuspend.txt