Virtualization
|
Description |
Manages KVM and AHV (Acropolis Hypervisor) Hypervisor components:
|
|||||||||||
|
Request URL |
/neo/resources |
|||||||||||
|
API Categories |
Virtual Machines APIs |
|
||||||||||
|
Virtual Switches APIs |
|
|||||||||||
|
Virtual Interfaces APIs |
|
|||||||||||
Get a List of all Virtual Machines
|
Request URL |
GET /neo/resources/vms |
|
|
Request Content Type |
application/json |
|
|
Response (See directly below) |
Note that HTTP Response Location Header will contain URI with file name created from uploading the configuration file. |
|
Response:
[{
"status": "Up",
"systemIP": "10.212.164.1",
"healthState": 5,
"description": "",
"settingData": [{
"name": "",
"configurationDataRoot": "",
"systemType": null,
"configurationId": "12",
"creationTime": "",
"id": "10.212.164.1.virt_comp_system.82165a57-b84f-4d5f-a71b-1abcebaa1580.vm_settings.1",
"configurationFile": "/images/dev-r-vrt-165-009/dev-r-vrt-164-009.img",
"systemIdentifier": "vm_guest"
}],
"vlanEndpoints": [],
"resourceAllocations": [{
"allocationUnits": "",
"name": "",
"parent": "",
"resourceType": "Memory",
"resourceSubType": "",
"virtualQuantity": 2,
"address": "",
"virtualQuantityUnits": "GB",
"id": "10.212.164.1.virt_comp_system.82165a57-b84f-4d5f-a71b-1abcebaa1580.vm_res_setting.3"
},
{
"allocationUnits": "",
"name": "",
"parent": "",
"resourceType": "CPU",
"resourceSubType": "",
"virtualQuantity": 2,
"address": "",
"virtualQuantityUnits": "cores",
"id": "10.212.164.1.virt_comp_system.82165a57-b84f-4d5f-a71b-1abcebaa1580.vm_res_setting.2"
}],
"caption": "Virtual Machine",
"systemID": "10.212.164.1.system",
"systemName": "dev-r-vrt-164.mtr.labs.mlnx",
"virtualSystem": "hvm",
"id": "10.212.164.1.virt_comp_system.82165a57-b84f-4d5f-a71b-1abce¬baa1580",
"name": "dev-r-vrt-164-009-RH6.6x64"
},
{
"status": "Up",
"systemIP": "10.212.165.1",
"healthState": 5,
"description": "",
"settingData": [{
"name": "",
"configurationDataRoot": "",
"systemType": null,
"configurationId": "13",
"creationTime": "",
"id": "10.212.165.1.virt_comp_system.35eda7d1-f1f1-4138-adf7-3c5e24752555.vm_settings.1",
"configurationFile": "/images/dev-r-vrt-165-008/dev-r-vrt-165-008.img",
"systemIdentifier": "vm_guest"
}],
"vlanEndpoints": [],
"resourceAllocations": [{
"allocationUnits": "",
"name": "",
"parent": "",
"resourceType": "Memory",
"resourceSubType": "",
"virtualQuantity": 2,
"address": "",
"virtualQuantityUnits": "GB",
"id": "10.212.165.1.virt_comp_system.35eda7d1-f1f1-4138-adf7-3c5e24752555.vm_res_setting.3"
},
{
"allocationUnits": "",
"name": "",
"parent": "",
"resourceType": "CPU",
"resourceSubType": "",
"virtualQuantity": 2,
"address": "",
"virtualQuantityUnits": "cores",
"id": "10.212.165.1.virt_comp_system.35eda7d1-f1f1-4138-adf7-3c5e24752555.vm_res_setting.2"
}],
"caption": "Virtual Machine",
"systemID": "10.212.165.1.system",
"systemName": "dev-r-vrt-165.mtr.labs.mlnx",
"virtualSystem": "hvm",
"id": "10.212.165.1.virt_comp_system.35eda7d1-f1f1-4138-adf7-3c5e24752555",
"name": "dev-r-vrt-165-008-RH6.6x64"
}]
Get a List of all Virtual Machines of KVM and AHV Hypervisors
|
Request URL |
GET /neo/resources/vms?system_id=<KVM id> |
|
|
Response (See directly below) |
Note that HTTP Response Location Header will contain URI with file name created from uploading the configuration file. |
|
Response:
[{
"status": "Up",
"systemIP": "10.212.165.1",
"healthState": 5,
"description": "",
"settingData": [{
"name": "",
"configurationDataRoot": "",
"systemType": null,
"configurationId": "12",
"creationTime": "",
"id": "10.212.165.1.virt_comp_system.82165a57-b84f-4d5f-a71b-1abcebaa1580.vm_settings.1",
"configurationFile": "/images/dev-r-vrt-165-009/dev-r-vrt-165-009.img",
"systemIdentifier": "vm_guest"
}],
"vlanEndpoints": [],
"resourceAllocations": [{
"allocationUnits": "",
"name": "",
"parent": "",
"resourceType": "Memory",
"resourceSubType": "",
"virtualQuantity": 2,
"address": "",
"virtualQuantityUnits": "GB",
"id": "10.212.165.1.virt_comp_system.82165a57-b84f-4d5f-a71b-1abcebaa1580.vm_res_setting.3"
},
{
"allocationUnits": "",
"name": "",
"parent": "",
"resourceType": "CPU",
"resourceSubType": "",
"virtualQuantity": 2,
"address": "",
"virtualQuantityUnits": "cores",
"id": "10.212.165.1.virt_comp_system.82165a57-b84f-4d5f-a71b-1abcebaa1580.vm_res_setting.2"
}],
"caption": "Virtual Machine",
"systemID": "10.212.165.1.system",
"systemName": "dev-r-vrt-165.mtr.labs.mlnx",
"virtualSystem": "hvm",
"id": "10.212.165.1.virt_comp_system.82165a57-b84f-4d5f-a71b-1abce¬baa1580",
"name": "dev-r-vrt-165-009-RH6.6x64"
}]
Get a Specific Virtual Machine by ID
|
Request URL |
GET /neo/resources/vms/<vm-id> |
|
|
Request Content Type |
application/json |
|
|
Response (See directly below) |
Note that HTTP Response Location Header will contain URI with file name created from uploading the configuration file. |
|
Response:
{
"status": "Up",
"systemIP": "10.212.164.1",
"healthState": 5,
"description": "",
"settingData": [{
"name": "",
"configurationDataRoot": "",
"systemType": null,
"configurationId": "12",
"creationTime": "",
"id": "10.212.164.1.virt_comp_system.82165a57-b84f-4d5f-a71b-1abcebaa1580.vm_settings.1",
"configurationFile": "/images/dev-r-vrt-165-009/dev-r-vrt-164-009.img",
"systemIdentifier": "vm_guest"
}],
"vlanEndpoints": [],
"resourceAllocations": [{
"allocationUnits": "",
"name": "",
"parent": "",
"resourceType": "Memory",
"resourceSubType": "",
"virtualQuantity": 2,
"address": "",
"virtualQuantityUnits": "GB",
"id": "10.212.164.1.virt_comp_system.82165a57-b84f-4d5f-a71b-1abcebaa1580.vm_res_setting.3"
},
{
"allocationUnits": "",
"name": "",
"parent": "",
"resourceType": "CPU",
"resourceSubType": "",
"virtualQuantity": 2,
"address": "",
"virtualQuantityUnits": "cores",
"id": "10.212.164.1.virt_comp_system.82165a57-b84f-4d5f-a71b-1abcebaa1580.vm_res_setting.2"
}],
"caption": "Virtual Machine",
"systemID": "10.212.164.1.system",
"systemName": "dev-r-vrt-164.mtr.labs.mlnx",
"virtualSystem": "hvm",
"id": "10.212.164.1.virt_comp_system.82165a57-b84f-4d5f-a71b-1abce¬baa1580",
"name": "dev-r-vrt-164-009-RH6.6x64"
}
Get a List of all Bridges (Virtual Switches)
|
Request URL |
GET /neo/resources/bridges |
|
|
Request Content Type |
application/json |
|
|
Response (See directly below) |
Note that HTTP Response lists all Virtual Switches. |
|
Response:
[
{
"systemIP": "10.212.165.1",
"name": "br11",
"vlanEndpoints": [
{
"id": "10.212.165.1.caption.vlan.ep.11",
"vlanId": 11
},
{
"id": "10.212.165.1.caption.vlan.ep.12",
"vlanId": 12
}
],
"systemName": "dev-r-vrt-165.mtr.labs.mlnx",
"systemID": "10.212.165.1.system",
"id": "10.212.165.1.system.bridge.br11.8000.002590fd7509",
"physicalPort": "eno2"
},
{
"systemIP": "10.212.165.1",
"name": "br10",
"vlanEndpoints": [
{
"id": "10.212.165.1.caption.vlan.ep.10",
"vlanId": 10
}
],
"systemName": "dev-r-vrt-165.mtr.labs.mlnx",
"systemID": "10.212.165.1.system",
"id": "10.212.165.1.system.bridge.br10.8000.002590fd7509",
"physicalPort": "eno2"
},
{
"systemIP": "10.212.165.1",
"name": "br0",
"vlanEndpoints": [],
"systemName": "dev-r-vrt-165.mtr.labs.mlnx",
"systemID": "10.212.165.1.system",
"id": "10.212.165.1.system.bridge.br0.8000.002590fd7508",
"physicalPort": "eno1"
},
{
"systemIP": "10.212.165.1",
"name": "br1",
"vlanEndpoints": [
{
"id": "10.212.165.1.caption.vlan.ep.7",
"vlanId": 7
},
{
"id": "10.212.165.1.caption.vlan.ep.9",
"vlanId": 9
}
],
"systemName": "dev-r-vrt-165.mtr.labs.mlnx",
"systemID": "10.212.165.1.system",
"id": "10.212.165.1.system.bridge.br1.8000.002590fd7509",
"physicalPort": "eno2"
}
]
Get a List of all Bridges (Virtual Switches) of KVM and AHV Hypervisors
|
Request URL |
GET /neo/resources/bridges?system_id=<KVM id> |
|
|
Response (See directly below) |
Note that HTTP Response lists all Virtual Switches. |
|
Response:
[ {
"systemIP": "10.212.165.1",
"name": "br1",
"vlanEndpoints": [
{
"id": "10.212.165.1.caption.vlan.ep.7",
"vlanId": 7
},
{
"id": "10.212.165.1.caption.vlan.ep.9",
"vlanId": 9
}
],
"systemName": "dev-r-vrt-165.mtr.labs.mlnx",
"systemID": "10.212.165.1.system",
"id": "10.212.165.1.system.bridge.br1.8000.002590fd7509",
"physicalPort": "eno2"
}
]
Get a Specific Bridge by ID (Virtual Switch)
|
Request URL |
GET /neo/resources/bridge/<bridge-id> |
|
Response:
{
"systemIP": "10.212.165.1",
"name": "br1",
"vlanEndpoints": [
{
"id": "10.212.165.1.caption.vlan.ep.7",
"vlanId": 7
},
{
"id": "10.212.165.1.caption.vlan.ep.9",
"vlanId": 9
}
],
"systemName": "dev-r-vrt-165.mtr.labs.mlnx",
"systemID": "10.212.165.1.system",
"id": "10.212.165.1.system.bridge.br1.8000.002590fd7509",
"physicalPort": "eno2"
}
Get All Virtual Interfaces of a Virtual Machine
|
Description |
Retrieves a list of all Virtual Interfaces of a specific Virtual Machine |
|
|
Request URL |
GET /neo/resources/vifs?vm-id=<Virtual Machine id> |
|
Response:
[
{
"name": "vnet4",
"vmId": "10.212.165.1.virt_comp_system.35eda7d1-f1f1-4138-adf7-3c5e24752555",
"otherPortType": "Normal",
"vlanEndpoints": [
{
"id": "10.212.165.1.caption.vlan.ep.11",
"vlanId": 11
},
{
"id": "10.212.165.1.caption.vlan.ep.12",
"vlanId": 12
}
],
"physicalPortName": "eno2",
"portType": 1,
"id": "10.212.165.1.virt_comp_system.35eda7d1-f1f1-4138-adf7-3c5e24752555.vif.vnet4"
},
{
"name": "vnet6",
"vmId": "10.212.165.1.virt_comp_system.35eda7d1-f1f1-4138-adf7-3c5e24752555",
"otherPortType": "Normal",
"vlanEndpoints": [
{
"id": "10.212.165.1.caption.vlan.ep.10",
"vlanId": 10
}
],
"physicalPortName": "eno2",
"portType": 1,
"id": "10.212.165.1.virt_comp_system.35eda7d1-f1f1-4138-adf7-3c5e24752555.vif.vnet6"
}
]
Get Virtual Interface by ID
|
Description |
Retrieves Virtual Interfaces by ID |
|
|
Request URL |
GET /neo/resources/vifs/<vif-id> |
|
Response:
[
{
"name": "vnet4",
"vmId": "10.212.165.1.virt_comp_system.35eda7d1-f1f1-4138-adf7-3c5e24752555",
"otherPortType": "Normal",
"vlanEndpoints": [
{
"id": "10.212.165.1.caption.vlan.ep.11",
"vlanId": 11
},
{
"id": "10.212.165.1.caption.vlan.ep.12",
"vlanId": 12
}
],
"physicalPortName": "eno2",
"portType": 1,
"id": "10.212.165.1.virt_comp_system.35eda7d1-f1f1-4138-adf7-3c5e24752555.vif.vnet4"
},
{
"name": "vnet6",
"vmId": "10.212.165.1.virt_comp_system.35eda7d1-f1f1-4138-adf7-3c5e24752555",
"otherPortType": "Normal",
"vlanEndpoints": [
{
"id": "10.212.165.1.caption.vlan.ep.10",
"vlanId": 10
}
],
"physicalPortName": "eno2",
"portType": 1,
"id": "10.212.165.1.virt_comp_system.35eda7d1-f1f1-4138-adf7-3c5e24752555.vif.vnet4"
}
]
Configure vCenter Credentials
|
Description |
vCenter can be configured even if it is disabled for the UI |
|
Request URL |
POST /neo/app/settings/virtualization/vcenter |
|
Request |
{ "server":"<IP address>", "user_name":"<User Name>", "password":"<Password>", "port":<Port>, "vlan_provisioning": <vlan provisioning enable True/False>, "dci_enable": <DCI enable True/False, "dci_mode": "< DCI mode>", "migration_mode": "<Fast/Secured>" } |
Get vCenter Credentials
|
Description |
Get vCenter credentials |
|
|
Request URL |
GET /neo/app/settings/virtualization/vcenter |
|
|
Response (See directly below) |
Note that vCenter configuration with the UI enable attributes. |
|
Response:
{
"server": "127.0.0.1",
"password": "pass",
"user_name": "user",
"port": "443"
}
PUT vCenter Clusters
|
Description |
Update vCenter cluster list for ESXi hosts discovery |
|
|
Request URL |
PUT /neo/app/virtualization/vcenter/clusters |
|
Response:
[
{
name: <Cluster_name>
isSelected: <True/False>
},
]
Get vCenter Clusters
|
Description |
Get vCenter cluster list from repository |
|
|
Request URL |
GET /neo/app/settings/virtualization/vcenter/clusters |
|
Response:
[
{
name: <Cluster_name>
isSelected: <True/False>
},
]
Fetch Latest Clusters from vCenter
|
Description |
Fetch latest clusters from vCenter |
|
|
Request URL |
POST /neo/app/settings/virtualization/vcenter/clusters/fetch |
|
|
Response |
Job ID of the action |
|
Connection Test for vCenter
|
Description |
Validating connection for vCenter |
|
|
Request URL |
POST /neo/app/settings/virtualization/vcenter/connection_test |
|
|
Response |
{ "location": "/neo/app/jobs/job_id", "objectID": "job_id" } |
|
Connection Test for Prism Central
|
Description |
Validating connection for Prism Central |
|
|
Request URL |
GET neo/app/settings/virtualization/prism_central/connection_test |
|
|
Response |
{ "location": "/neo/app/jobs/job_id", "objectID": "job_id" } |
|
Get Prism Configuration
|
Description |
Get Prism configuration |
|
|
Request URL |
GET neo/app/settings/virtualization/prism_central |
|
|
Response |
{ "enable":true, "migration_mode":"fast", "switch_os":"Onyx", "dci_enable":false, "events_port":8080, "cluster_credentials":{ "default":{" username":"username", "password":"password"}}, "server":"1.2.3.4", "port":9440, "requests_retries":40, "session_timeout":86400, "timeout":10, "dci_mode":null, "password":"password", "user_name":"admin", "vlan_ip_order":null } |
|
Update Prism Configuration
|
Description |
Update Prism configuration |
|
|
Request URL |
PUT neo/app/settings/virtualization/prism_central |
|
|
Request |
{ "password": "password", "port": 9440, "server": "1.2.3.4", "user_name": "username", "migration_mode": "fast", "timeout": 10, "session_timeout": 86400, "requests_retries": 40, "events_port": 8080, "switch_os": "Onyx", "dci_enable": false, "cluster_credentials": { "default": { "username": "username", "password": "password" } }, "enable": true } |
|
Manage Nutanix Prism Plug-in
|
Description |
Nutanix Prism Plugin is bundled and managed by NEO. The plugin is actually a Linux service that can be started or stopped. |
|
|
Request URL |
PUT neo/app/settings/virtualization/prism_central/plugin |
|
|
Response |
{ "action": "start/stop/restart" } |
|
|
Response |
Reference to Job ID with the action result |
|
|
{ "location":"\/neo\/app\/jobs\/4","objectID":"4" } |
||