API
desktop
URI
http://<server>:<port>/imanager/cloud/web/nodes/desktop[.<format>]
Supported Methods
GET, POST
Introduction
desktop is a resource for a list of GIS desktops, which allows you to obtain a list of GIS desktops or create a GIS desktop through a POST request.
Supported methods:
- GET: Gets GIS desktop list.
- POST: Creates GIS dekstop.
Supported representation format: JSON.
HTTP Request Method
An HTTP request is performed on the following URI. Here we take JSON output format for illustration, where supermapimanager is the desktop name.
http://supermapimanager:8390/imanager/cloud/web/nodes/desktop.json
GET Request
Gets GIS desktop list.
Request Parameters
Name | Type | Definition |
---|---|---|
pageSize | String | The page size. If it is -1, there is no limit, and the default value is-1 |
Response Structure
Returns a list of GIS desktops that contain basic information about the GIS desktop, which consists of the following fields:
Field | Type | Description |
---|---|---|
list | List |
The list of GIS desktops returned for this request |
total | String | The total number of records, that is, the numer of desktops |
Where NodeInfo represents the detailed information of GIS desktop, which is composed of the fields below:
Field | Type | Description |
---|---|---|
availabelTime | long | Available time for the environment |
clusterSource | ClusterSource | Cluster source, where ClusterSource has two values: CREATED indicates it is created by the system, BUILDED indicates the cluster |
cpu | int | CPU kernel number occupied by the virtual machine |
createTime | long | Creation time |
description | String | Description |
disk | int | Disk size (GB) occupied by the virtual machine |
hireDays | int | The number of days for the rent. The default value is 0, indicating unlimited. |
hostName | String | Host of the environment |
id | int | ID of the environment |
ip | String | IP of the environment |
memory | int | Memory size occupied by the virtual machine (GB) |
nodeCount | int | Number of environments or cluster nodes |
nodeName | String | Node name. If not specified, the default value is the name of the VM. such as: sm_idesktop-123 |
nodeSource | NodeSource | Environment source, where NodeSource has two values: CREATED indicates it is created by the system, and IMPORTED indicates it is imported from the exernal |
nodeSpec | String | Node specification, corresponding to template specification name |
nodeStatus | NodeStatus | Environment status, including CREATING (being created), STARTING (being started), STOPPING (being stopped), REBOOTING (being restarted), RUNNING (running), DELETING (being deleted), STOPPED (Stopped), PAUSED (paused), CREATE_FAILED (failed to create), NOT_FOUND (not present), UNKNOWN (unknown), MOVING (moving), RESIZING (under adjustment), RESIZED (being resized) |
operatingSystem | OperatingSystem | Environment operating system types, including Windows, LINUX, UNKNOWN |
parentId | int | Parent Node ID. For Cluster worker nodes |
password | String | Environment password |
productInfos | List |
Information of the application deployed in the environment |
productPath | String | Location of the application deployed in the environment |
resourceType | String | Resource type, corresponding to the template type name |
thresholdEntity | ThresholdEntity | Environment threshold configuration information |
updateTime | long | Update time |
userName | String | Users of the environment |
uuid | String | Environment uuid, unique identification of the corresponding virtual platform |
Where ProductInfo represents the details of the application deployed in the environment, which is composed of the following fields:
Field | Type | Description |
---|---|---|
id | int | Application id |
nodeId | int | ID of the environment |
name | String | Application name |
address | String | Application address |
productStatus | ProductStatus | Application status, including CREATING (being created), STARTING (being started), STOPPING (being stopped), REBOOTING (being restarted), RUNNING (running), DELETING (being deleted), STOPPED (Stopped), CREATE_FAILED (failed to create), NOT_FOUND (not present), UNKNOWN (unknown), DEPLOYING (environment in configuration) |
Where ThresholdEntity represents the details of the threshold entity, which is composed of the following fields:
Field | Type | Description |
---|---|---|
id | int | Threshold value id |
maxCreateCount | int | Maximum number of added nodes |
maxUsage | float | Maximum threshold |
minUsage | float | Minimum threshold |
metricType | MetricType | Performance monitoring type, including CPU, RAM, NETWORK (network I/O), INSTANCE |
thresholdStatus | ThresholdStatus | Dynamic scaling state, including ENABLED (dynamic scaling on), DISABLED (dynamic scaling off), CONFLICT (dynamic scaling conflicts) |
Response Example
Log in as an administrator, perform the GET request on http://supermapimanager:8390/imanager/cloud/web/nodes/desktop.json
to return the JSON format responds as follows:
{
"list": [
{
"availabelTime": 0,
"clusterSource": "CREATED",
"cpu": 4,
"createTime": 1481595392916,
"description": "",
"disk": 30,
"hireDays": 0,
"hostName": "iDesktop-30",
"id": 12,
"ip": "172.16.16.30",
"memory": 4,
"nodeCount": 1,
"nodeName": "idesktop",
"nodeSource": "CREATED",
"nodeSpec": "MEDIUM",
"nodeStatus": "CREATING",
"operatingSystem": "WINDOWS",
"parentId": -1,
"password": "kiKNrWya",
"productInfos": [
{
"address": "172.16.16.30",
"id": 15,
"name": "iDesktop",
"nodeId": 12,
"productStatus": "CREATING",
"webApp": false
}
],
"resourceType": "DESKTOP",
"thresholdEntity": {
"id": 12,
"maxCreateCount": 0,
"maxUsage": 80,
"metricType": "CPU",
"minUsage": 20,
"thresholdStatus": "DISABLED"
},
"thresholdId": 12,
"updateTime": 1481595392916,
"userName": "admin",
"uuid": "a13c09d0-bade-4edf-9611-7e3a28855a24"
}
],
"total": 1
}
POST Request
Creates GIS dekstop.
Request Parameters
Field | Type | Description |
---|---|---|
nodeSpec | String | Node specification, corresponding to template specification name |
nodeCount | int | Number of environments or cluster nodes |
nodeName | String | Node name. If not specified, the default value is the name of the VM. such as: sm_idesktop-123 |
password | String | Environment password |
description | String | Description |
physicalMachineName | String | Physical machine name, that is, which host the VM needs to deploy on. By default, it is consistent with the template VM |
Response Structure
Returns whether the desktop has been created successfully. If failed, an error message will be given:
Field | Type | Description |
---|---|---|
isSucceed | boolean | Whether the execution is successful. If failed, false will be returned. |
msg | String | If failed, the error message will be returned. If successful, it will be blank. |
resultId | String | Requrst handle result id. For example, the id of the task returned by the environment. |
Response Example
Log in as an administrator, implement the POST request on http://supermapimanager:8390/imanager/cloud/web/nodes/desktop.json
to pass in related parameers, as shown below:
{
"nodeSpec": "MEDIUM",
"nodeCount": "1",
"nodeName": "idesktop",
"password": "",
"description": "",
"physicalMachineName": "admin"
}
The returned json format response is as follows:
{
"isSucceed": true,
"msg": "",
"resultId": "678"
}