Platform Service APIs
UploadPlatformServicePackage
Upload Platform Service Package
API Request
PUT zstack/v1/platform-services/packages/actions
Authorization: OAuth the-session-uuid
{
"uploadPlatformServicePackage": {
"name": "zlr-package",
"serviceType": "ZLR",
"artifactType": "Qcow2",
"url": "file:///data/zlr-zrm-1.0.0.qcow2",
"backupStorageUuid": "ff081de062bd338eb907962028e64d00"
},
"systemTags": [],
"userTags": []
}
Note: In the preceding example, the systemTags and userTags fields can be omitted. They are shown to indicate that the body can contain these two fields.curl -H "Content-Type: application/json;charset=UTF-8" -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" -X PUT -d '{"uploadPlatformServicePackage":{"name":"zlr-package","serviceType":"ZLR","artifactType":"Qcow2","url":"file:///data/zlr-zrm-1.0.0.qcow2","backupStorageUuid":"ff081de062bd338eb907962028e64d00"}}' http://localhost:8080/zstack/v1/platform-services/packages/actions
| Name | Type | Location | Description | Allowed Values | Starting Version |
|---|---|---|---|---|---|
| name | String | body (included in the uploadPlatformServicePackage structure) |
Resource name | 5.1.0 | |
| description (Optional) | String | body (included in the uploadPlatformServicePackage structure) |
Detailed resource description | 5.1.0 | |
| serviceType | String | body (included in the uploadPlatformServicePackage structure) |
Platform service type |
|
5.1.0 |
| artifactType (Optional) | String | body (included in the uploadPlatformServicePackage structure) |
Package format. Currently, only Qcow2 is supported |
|
5.1.0 |
| version (Optional) | String | body (included in the uploadPlatformServicePackage structure) |
Package version. If empty, no version is recorded | 5.1.0 | |
| url | String | body (included in the uploadPlatformServicePackage structure) |
Package URL. URLs accessible to the image import process are supported, such as file:// and http(s):// URLs. For local file uploads, use upload://<fileName> | 5.1.0 | |
| backupStorageUuid (Optional) | String | body (included in the uploadPlatformServicePackage structure) |
Image Storage UUID | 5.1.0 | |
| longJobName (Optional) | String | body (included in the uploadPlatformServicePackage structure) |
Long job name. If empty, the default job name is used | 5.1.0 | |
| longJobDescription (Optional) | String | body (included in the uploadPlatformServicePackage structure) |
Long job description | 5.1.0 | |
| resourceUuid (Optional) | String | body (included in the uploadPlatformServicePackage structure) |
Resource UUID | 5.1.0 | |
| tagUuids (Optional) | List | body (included in the uploadPlatformServicePackage structure) |
Tag UUID list | 5.1.0 | |
| systemTags (Optional) | List | body | System tags | 5.1.0 | |
| userTags (Optional) | List | body | User tags | 5.1.0 |
API Response
{
"inventory": {
"uuid": "80387501189d4d6795ab710e32e8d835",
"name": "zlr-package",
"serviceType": "ZLR",
"artifactType": "Qcow2",
"imageUuid": "5719e30fc3474c3996318b9e6f36cd80",
"status": "Uploaded",
"operationState": "Succeeded",
"progress": 100,
"uploadFileUrl": "http://127.0.0.1:8001/imagestore/file/direct/upload",
"createDate": "Nov 14, 2017 2:20:57 PM",
"lastOpDate": "Nov 14, 2017 2:20:57 PM"
}
}
| Name | Type | Description | Starting Version |
|---|---|---|---|
| success | boolean | Whether succeeded | 5.1.0 |
| inventory | PlatformServicePackageInventory | For details, see inventory | 5.1.0 |
| longJobInventory | LongJobInventory | For details, see longJobInventory | 5.1.0 |
| error | ErrorCode | For details, see error | 5.1.0 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID, which uniquely identifies the resource | 5.1.0 |
| name | String | Resource name | 5.1.0 |
| description | String | Detailed resource description | 5.1.0 |
| serviceType | String | Platform service type, such as ZCenter or ZLR | 5.1.0 |
| artifactType | String | Package format. The current format is Qcow2 | 5.1.0 |
| imageUuid | String | Image UUID | 5.1.0 |
| status | String | Package state, such as Uploading, Uploaded, or Failed | 5.1.0 |
| version | String | Package version | 5.1.0 |
| operationState | String | Status of the current active operation, aggregated from TaskProgress, such as Running, Succeeded, or Failed | 5.1.0 |
| currentStage | String | Stage of the current active operation, aggregated from TaskProgress | 5.1.0 |
| currentStageIndex | Integer | Stage number of the current active operation, aggregated from TaskProgress | 5.1.0 |
| totalStages | Integer | Total number of stages in the current active operation, aggregated from TaskProgress | 5.1.0 |
| progress | Integer | Progress of the current active operation, ranging from 0 to 100 and aggregated from TaskProgress | 5.1.0 |
| currentStep | String | Description of the current active operation step, aggregated from TaskProgress | 5.1.0 |
| lastError | String | Reason for the most recent failure. This field is empty when the operation succeeds | 5.1.0 |
| createDate | Timestamp | Creation time | 5.1.0 |
| lastOpDate | Timestamp | Last modification time | 5.1.0 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID, which uniquely identifies the resource | 2.2.4 |
| name | String | Resource name | 2.2.4 |
| description | String | Detailed resource description | 2.2.4 |
| apiId | String | The API ID used to associate with TaskProgress | 2.2.4 |
| jobName | String | Job name | 2.2.4 |
| jobData | String | Job data | 2.2.4 |
| jobResult | String | Job result | 2.2.4 |
| targetResourceUuid | String | Target resource UUID | 2.2.4 |
| managementNodeUuid | String | Management Node UUID | 2.2.4 |
| createDate | Timestamp | Creation time | 2.2.4 |
| lastOpDate | Timestamp | Last modification time | 2.2.4 |
| state | LongJobState | For details, see state | 2.2.4 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| name | String | Resource name | 2.2.4 |
| ordinal | int | The ordinal number. | 2.2.4 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| code | String | Error code, which globally and uniquely identifies the error, for example, SYS.1000 or HOST.1001 | 0.6 |
| description | String | Summary description of the error | 0.6 |
| details | String | Details of the error | 0.6 |
| elaboration | String | Reserved field. The default value is null | 0.6 |
| opaque | LinkedHashMap | Reserved field. The default value is null | 0.6 |
| cause | ErrorCode | Root error that caused the current error. This field is null if there is no source error | 0.6 |
SDK Examples
UploadPlatformServicePackageAction action = new UploadPlatformServicePackageAction();
action.name = "zlr-package";
action.serviceType = "ZLR";
action.artifactType = "Qcow2";
action.url = "file:///data/zlr-zrm-1.0.0.qcow2";
action.backupStorageUuid = "ff081de062bd338eb907962028e64d00";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
UploadPlatformServicePackageAction.Result res = action.call();
action = UploadPlatformServicePackageAction()
action.name = "zlr-package"
action.serviceType = "ZLR"
action.artifactType = "Qcow2"
action.url = "file:///data/zlr-zrm-1.0.0.qcow2"
action.backupStorageUuid = "ff081de062bd338eb907962028e64d00"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
res = action.call()
QueryPlatformServicePackage
Query Platform Service Package
API Request
GET zstack/v1/platform-services/packages
GET zstack/v1/platform-services/packages/{uuid}
Authorization: OAuth the-session-uuid
curl -H "Content-Type: application/json;charset=UTF-8" -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" -X GET http://localhost:8080/zstack/v1/platform-services/packages?q=uuid=ff062ec74ff33684b183abeeb7031e00
curl -H "Content-Type: application/json;charset=UTF-8" -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" -X GET http://localhost:8080/zstack/v1/platform-services/packages/373d7c072ed732b091d951fed4c2afeb
Queryable Fields
Run the CLI tool and enter QueryPlatformServicePackage, and press Tab to view all queryable fields and the names of resources available for cross-table queries.
API Response
{
"inventories": [
{
"uuid": "3b1c86aeeab24b1e954feb200b99c375",
"name": "zlr-package",
"serviceType": "ZLR",
"artifactType": "Qcow2",
"imageUuid": "712e59d33eec4d20a1f319da2ebd38d2",
"status": "Uploaded",
"operationState": "Succeeded",
"progress": 100,
"uploadFileUrl": "http://127.0.0.1:8001/imagestore/file/direct/upload",
"createDate": "Nov 14, 2017 2:20:57 PM",
"lastOpDate": "Nov 14, 2017 2:20:57 PM"
}
]
}
| Name | Type | Description | Starting Version |
|---|---|---|---|
| success | boolean | Whether succeeded | 5.1.0 |
| inventories | List | For details, see inventories | 5.1.0 |
| error | ErrorCode | For details, see error | 5.1.0 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID, which uniquely identifies the resource | 5.1.0 |
| name | String | Resource name | 5.1.0 |
| description | String | Detailed resource description | 5.1.0 |
| serviceType | String | Platform service type, such as ZCenter or ZLR | 5.1.0 |
| artifactType | String | Package format. The current format is Qcow2 | 5.1.0 |
| imageUuid | String | Image UUID | 5.1.0 |
| status | String | Package state, such as Uploading, Uploaded, or Failed | 5.1.0 |
| version | String | Package version | 5.1.0 |
| operationState | String | Status of the current active operation, aggregated from TaskProgress, such as Running, Succeeded, or Failed | 5.1.0 |
| currentStage | String | Stage of the current active operation, aggregated from TaskProgress | 5.1.0 |
| currentStageIndex | Integer | Stage number of the current active operation, aggregated from TaskProgress | 5.1.0 |
| totalStages | Integer | Total number of stages in the current active operation, aggregated from TaskProgress | 5.1.0 |
| progress | Integer | Progress of the current active operation, ranging from 0 to 100 and aggregated from TaskProgress | 5.1.0 |
| currentStep | String | Description of the current active operation step, aggregated from TaskProgress | 5.1.0 |
| lastError | String | Reason for the most recent failure. This field is empty when the operation succeeds | 5.1.0 |
| createDate | Timestamp | Creation time | 5.1.0 |
| lastOpDate | Timestamp | Last modification time | 5.1.0 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| code | String | Error code, which globally and uniquely identifies the error, for example, SYS.1000 or HOST.1001 | 0.6 |
| description | String | Summary description of the error | 0.6 |
| details | String | Details of the error | 0.6 |
| elaboration | String | Reserved field. The default value is null | 0.6 |
| opaque | LinkedHashMap | Reserved field. The default value is null | 0.6 |
| cause | ErrorCode | Root error that caused the current error. This field is null if there is no source error | 0.6 |
SDK Examples
QueryPlatformServicePackageAction action = new QueryPlatformServicePackageAction();
action.conditions = asList("uuid=ff062ec74ff33684b183abeeb7031e00");
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
QueryPlatformServicePackageAction.Result res = action.call();
action = QueryPlatformServicePackageAction()
action.conditions = ["uuid=ff062ec74ff33684b183abeeb7031e00"]
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
res = action.call()
DeployPlatformService
Deploy Platform Service
API Request
PUT zstack/v1/platform-services/packages/{packageUuid}/actions
Authorization: OAuth the-session-uuid
{
"deployPlatformService": {
"name": "zlr",
"cpuNum": 2,
"memorySize": 4294967296,
"l3NetworkUuids": [
"ff0defdc65883886b5a760acc322c300"
],
"staticIp": "192.168.0.10",
"netmask": "255.255.255.0",
"gateway": "192.168.0.1",
"language": "zh_CN",
"mnUsername": "admin"
},
"systemTags": [],
"userTags": []
}
Note: In the preceding example, the systemTags and userTags fields can be omitted. They are shown to indicate that the body can contain these two fields.curl -H "Content-Type: application/json;charset=UTF-8" -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" -X PUT -d '{"deployPlatformService":{"name":"zlr","cpuNum":2,"memorySize":4294967296,"l3NetworkUuids":["ff0defdc65883886b5a760acc322c300"],"staticIp":"192.168.0.10","netmask":"255.255.255.0","gateway":"192.168.0.1","language":"zh_CN","mnUsername":"admin"}}' http://localhost:8080/zstack/v1/platform-services/packages/ff062ec74ff33684b183abeeb7031e00/actions
| Name | Type | Location | Description | Allowed Values | Starting Version |
|---|---|---|---|---|---|
| packageUuid | String | url | Platform service package UUID | 5.1.0 | |
| name (Optional) | String | body (included in the deployPlatformService structure) |
Resource name | 5.1.0 | |
| description (Optional) | String | body (included in the deployPlatformService structure) |
Detailed resource description | 5.1.0 | |
| cpuNum | Integer | body (included in the deployPlatformService structure) |
Number of CPUs for the service virtual machine | 5.1.0 | |
| memorySize | Long | body (included in the deployPlatformService structure) |
Service virtual machine memory size, in bytes | 5.1.0 | |
| l3NetworkUuids | List | body (included in the deployPlatformService structure) |
List of distributed port group UUIDs connected to the service virtual machine. The current deployment process handles a single-NIC scenario | 5.1.0 | |
| staticIp (Optional) | String | body (included in the deployPlatformService structure) |
Static IPv4 address used by the service virtual machine. Only deployment on a single distributed port group is supported. The address must belong to the selected distributed port group's address pool and must not be in use | 5.1.0 | |
| netmask (Optional) | String | body (included in the deployPlatformService structure) |
Subnet mask corresponding to the static IPv4 address. If empty, the system attempts to infer it from the selected distributed port group | 5.1.0 | |
| gateway (Optional) | String | body (included in the deployPlatformService structure) |
Gateway corresponding to the static IPv4 address. If empty, the system attempts to infer it from the selected distributed port group | 5.1.0 | |
| clusterUuid (Optional) | String | body (included in the deployPlatformService structure) |
Cluster UUID | 5.1.0 | |
| hostUuid (Optional) | String | body (included in the deployPlatformService structure) |
Host UUID | 5.1.0 | |
| primaryStorageUuidForRootVolume (Optional) | String | body (included in the deployPlatformService structure) |
UUID of the data storage used by the root disk. If empty, the system scheduling result is used | 5.1.0 | |
| allocatorStrategy (Optional) | String | body (included in the deployPlatformService structure) |
Virtual machine allocation strategy. If empty, the system default allocation strategy is used | 5.1.0 | |
| language (Optional) | String | body (included in the deployPlatformService structure) |
ZCenter deployment language. Valid values are zh_CN and en_US. If empty, zh_CN is used by default. en_US is passed to the ZCenter installer as the -I en_US parameter | 5.1.0 | |
| mnUsername (Optional) | String | body (included in the deployPlatformService structure) |
Management node login username sent to ZLR. If empty, admin is used by default | 5.1.0 | |
| mnPassword (Optional) | String | body (included in the deployPlatformService structure) |
Reserved compatibility field. During ZLR deployment, the backend reads the management node login password from the account database based on mnUsername | 5.1.0 | |
| systemTags (Optional) | List | body | System tags | 5.1.0 | |
| userTags (Optional) | List | body | User tags | 5.1.0 |
API Response
{
"inventory": {
"uuid": "fb2a0d1272394227b101a5d72bc7b134",
"name": "zlr",
"serviceType": "ZLR",
"packageUuid": "0e61188c58014bd28ad1382959fcbdd7",
"vmInstanceUuid": "f97d64a8e797432d9f954f1de641f618",
"state": "Deployed",
"healthStatus": "Healthy",
"version": "1.0.0",
"operationState": "Succeeded",
"progress": 100,
"lastHealthCheckTime": "Nov 14, 2017 2:20:57 PM",
"createDate": "Nov 14, 2017 2:20:57 PM",
"lastOpDate": "Nov 14, 2017 2:20:57 PM"
}
}
| Name | Type | Description | Starting Version |
|---|---|---|---|
| success | boolean | Whether succeeded | 5.1.0 |
| inventory | PlatformServiceInstanceInventory | For details, see inventory | 5.1.0 |
| error | ErrorCode | For details, see error | 5.1.0 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID, which uniquely identifies the resource | 5.1.0 |
| name | String | Resource name | 5.1.0 |
| description | String | Detailed resource description | 5.1.0 |
| serviceType | String | Platform service type, such as ZCenter or ZLR | 5.1.0 |
| packageUuid | String | UUID of the platform service package used to deploy this instance | 5.1.0 |
| vmInstanceUuid | String | Virtual Machine UUID | 5.1.0 |
| state | String | Platform service instance state, such as Deployed or Undeployed | 5.1.0 |
| healthStatus | String | Platform service health status, such as Healthy, Unhealthy, or Unknown | 5.1.0 |
| version | String | Platform service runtime version, obtained from the service virtual machine after a successful deployment or health check | 5.1.0 |
| operationState | String | Status of the current active operation, aggregated from TaskProgress, such as Running, Succeeded, or Failed | 5.1.0 |
| currentStage | String | Stage of the current active operation, aggregated from TaskProgress | 5.1.0 |
| currentStageIndex | Integer | Stage number of the current active operation, aggregated from TaskProgress | 5.1.0 |
| totalStages | Integer | Total number of stages in the current active operation, aggregated from TaskProgress | 5.1.0 |
| progress | Integer | Progress of the current active operation, ranging from 0 to 100 and aggregated from TaskProgress | 5.1.0 |
| currentStep | String | Description of the current active operation step, aggregated from TaskProgress | 5.1.0 |
| lastError | String | Reason for the most recent failure. This field is empty when the operation succeeds | 5.1.0 |
| lastHealthCheckTime | Timestamp | Time of the latest health check | 5.1.0 |
| createDate | Timestamp | Creation time | 5.1.0 |
| lastOpDate | Timestamp | Last modification time | 5.1.0 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| code | String | Error code, which globally and uniquely identifies the error, for example, SYS.1000 or HOST.1001 | 0.6 |
| description | String | Summary description of the error | 0.6 |
| details | String | Details of the error | 0.6 |
| elaboration | String | Reserved field. The default value is null | 0.6 |
| opaque | LinkedHashMap | Reserved field. The default value is null | 0.6 |
| cause | ErrorCode | Root error that caused the current error. This field is null if there is no source error | 0.6 |
SDK Examples
DeployPlatformServiceAction action = new DeployPlatformServiceAction();
action.packageUuid = "ff062ec74ff33684b183abeeb7031e00";
action.name = "zlr";
action.cpuNum = 2;
action.memorySize = 4294967296;
action.l3NetworkUuids = asList("ff0defdc65883886b5a760acc322c300");
action.staticIp = "192.168.0.10";
action.netmask = "255.255.255.0";
action.gateway = "192.168.0.1";
action.language = "zh_CN";
action.mnUsername = "admin";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
DeployPlatformServiceAction.Result res = action.call();
action = DeployPlatformServiceAction()
action.packageUuid = "ff062ec74ff33684b183abeeb7031e00"
action.name = "zlr"
action.cpuNum = 2
action.memorySize = 4294967296
action.l3NetworkUuids = [ff0defdc65883886b5a760acc322c300]
action.staticIp = "192.168.0.10"
action.netmask = "255.255.255.0"
action.gateway = "192.168.0.1"
action.language = "zh_CN"
action.mnUsername = "admin"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
res = action.call()
GetPlatformServiceInstances
Get Platform Service Instances
API Request
GET zstack/v1/platform-services/instances
Authorization: OAuth the-session-uuid
curl -H "Content-Type: application/json;charset=UTF-8" -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" -X GET http://localhost:8080/zstack/v1/platform-services/instances?serviceType=ZLR
| Name | Type | Location | Description | Allowed Values | Starting Version |
|---|---|---|---|---|---|
| serviceType (Optional) | String | query | Platform service type. If empty, all platform service instances are returned |
|
5.1.0 |
| systemTags (Optional) | List | query | System tags | 5.1.0 | |
| userTags (Optional) | List | query | User tags | 5.1.0 |
API Response
{
"inventories": [
{
"uuid": "2ea3e337833942678c063a8fdc85de6d",
"name": "zlr",
"serviceType": "ZLR",
"packageUuid": "a28a14344a604c39b337800bf6e86e1c",
"vmInstanceUuid": "aae71df9e224410fbf43aada6f21c961",
"state": "Deployed",
"healthStatus": "Healthy",
"version": "1.0.0",
"operationState": "Succeeded",
"progress": 100,
"lastHealthCheckTime": "Nov 14, 2017 2:20:57 PM",
"createDate": "Nov 14, 2017 2:20:57 PM",
"lastOpDate": "Nov 14, 2017 2:20:57 PM"
}
]
}
| Name | Type | Description | Starting Version |
|---|---|---|---|
| success | boolean | Whether succeeded | 5.1.0 |
| inventories | List | For details, see inventories | 5.1.0 |
| error | ErrorCode | For details, see error | 5.1.0 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID, which uniquely identifies the resource | 5.1.0 |
| name | String | Resource name | 5.1.0 |
| description | String | Detailed resource description | 5.1.0 |
| serviceType | String | Platform service type, such as ZCenter or ZLR | 5.1.0 |
| packageUuid | String | UUID of the platform service package used to deploy this instance | 5.1.0 |
| vmInstanceUuid | String | Virtual Machine UUID | 5.1.0 |
| state | String | Platform service instance state, such as Deployed or Undeployed | 5.1.0 |
| healthStatus | String | Platform service health status, such as Healthy, Unhealthy, or Unknown | 5.1.0 |
| version | String | Platform service runtime version, obtained from the service virtual machine after a successful deployment or health check | 5.1.0 |
| operationState | String | Status of the current active operation, aggregated from TaskProgress, such as Running, Succeeded, or Failed | 5.1.0 |
| currentStage | String | Stage of the current active operation, aggregated from TaskProgress | 5.1.0 |
| currentStageIndex | Integer | Stage number of the current active operation, aggregated from TaskProgress | 5.1.0 |
| totalStages | Integer | Total number of stages in the current active operation, aggregated from TaskProgress | 5.1.0 |
| progress | Integer | Progress of the current active operation, ranging from 0 to 100 and aggregated from TaskProgress | 5.1.0 |
| currentStep | String | Description of the current active operation step, aggregated from TaskProgress | 5.1.0 |
| lastError | String | Reason for the most recent failure. This field is empty when the operation succeeds | 5.1.0 |
| lastHealthCheckTime | Timestamp | Time of the latest health check | 5.1.0 |
| createDate | Timestamp | Creation time | 5.1.0 |
| lastOpDate | Timestamp | Last modification time | 5.1.0 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| code | String | Error code, which globally and uniquely identifies the error, for example, SYS.1000 or HOST.1001 | 0.6 |
| description | String | Summary description of the error | 0.6 |
| details | String | Details of the error | 0.6 |
| elaboration | String | Reserved field. The default value is null | 0.6 |
| opaque | LinkedHashMap | Reserved field. The default value is null | 0.6 |
| cause | ErrorCode | Root error that caused the current error. This field is null if there is no source error | 0.6 |
SDK Examples
GetPlatformServiceInstancesAction action = new GetPlatformServiceInstancesAction();
action.serviceType = "ZLR";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
GetPlatformServiceInstancesAction.Result res = action.call();
action = GetPlatformServiceInstancesAction()
action.serviceType = "ZLR"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
res = action.call()
GetPlatformServiceVmInstances
Get Platform Service Virtual Machine Instances
API Request
GET zstack/v1/platform-services/instances/{uuid}/vm-instances
Authorization: OAuth the-session-uuid
curl -H "Content-Type: application/json;charset=UTF-8" -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" -X GET http://localhost:8080/zstack/v1/platform-services/instances/ff0e6f5e01e23b1fbd616d28a9280400/vm-instances?
| Name | Type | Location | Description | Allowed Values | Starting Version |
|---|---|---|---|---|---|
| uuid | String | url | Platform service instance UUID | 5.1.0 | |
| systemTags (Optional) | List | query | System tags | 5.1.0 | |
| userTags (Optional) | List | query | User tags | 5.1.0 |
API Response
{
"inventories": [
{}
]
}
| Name | Type | Description | Starting Version |
|---|---|---|---|
| success | boolean | Whether succeeded | 5.1.0 |
| inventories | List | For details, see inventories | 5.1.0 |
| error | ErrorCode | For details, see error | 5.1.0 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID, which uniquely identifies the resource | 0.6 |
| name | String | Resource name | 0.6 |
| description | String | Detailed resource description | 0.6 |
| zoneUuid | String | Data Center UUID | 0.6 |
| clusterUuid | String | Cluster UUID | 0.6 |
| imageUuid | String | Image UUID | 0.6 |
| hostUuid | String | Host UUID | 0.6 |
| lastHostUuid | String | Last Host UUID | 0.6 |
| instanceOfferingUuid | String | Instance Offering UUID | 0.6 |
| rootVolumeUuid | String | Root disk UUID | 0.6 |
| platform | String | Virtual Machine platform type, Windows / Linux / Other | 0.6 |
| architecture | String | Virtual Machine architecture, x86_64 / aarch64 / Other | 0.6 |
| defaultL3NetworkUuid | String | Default Distributed Port Group UUID | 0.6 |
| type | String | Virtual Machine type, User virtual machine or platform special purpose virtual machine | 0.6 |
| hypervisorType | String | Virtual Machine hypervisor type, typically KVM | 0.6 |
| memorySize | Long | Memory size | 0.6 |
| cpuNum | Integer | CPU number | 0.6 |
| cpuSpeed | Long | CPU speed | 0.6 |
| allocatorStrategy | String | Virtual Machine allocation strategy | 0.6 |
| createDate | Timestamp | Creation time | 0.6 |
| lastOpDate | Timestamp | Last modification time | 0.6 |
| state | String | Virtual Machine enabled state | 0.6 |
| guestOsType | String | Virtual Machine host operating system type | 3.11.2 |
| vmNics | List | For details, see vmNics | 0.6 |
| allVolumes | List | For details, see allVolumes | 0.6 |
| vmCdRoms | List | For details, see vmCdRoms | 0.6 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID, which uniquely identifies the resource | 3.17.13 |
| vmInstanceUuid | String | Virtual Machine UUID | 3.17.13 |
| l3NetworkUuid | String | Distributed Port Group UUID | 3.17.13 |
| ip | String | The IP address. | 3.17.13 |
| mac | String | The MAC address. | 3.17.13 |
| hypervisorType | String | The hypervisor type. | 3.17.13 |
| netmask | String | The netmask. | 3.17.13 |
| gateway | String | The gateway IP address. | 3.17.13 |
| metaData | String | The metadata. | 3.17.13 |
| ipVersion | Integer | The IP version. | 3.17.13 |
| driverType | String | The driver type. | 3.17.13 |
| internalName | String | The internal name. | 3.17.13 |
| deviceId | Integer | The device ID. | 3.17.13 |
| type | String | The resource type. | 3.17.13 |
| state | String | NIC Status | 3.17.13 |
| createDate | Timestamp | Creation time | 3.17.13 |
| lastOpDate | Timestamp | Last modification time | 3.17.13 |
| usedIps | List | For details, see usedIps | 3.17.13 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID, which uniquely identifies the resource | 4.10.0 |
| ipRangeUuid | String | IP Range UUID | 4.10.0 |
| l3NetworkUuid | String | Distributed Port Group UUID | 4.10.0 |
| ipVersion | Integer | IP protocol number | 4.10.0 |
| ip | String | IP address | 4.10.0 |
| netmask | String | Subnet mask | 4.10.0 |
| gateway | String | Gateway address | 4.10.0 |
| usedFor | String | Allocation reason | 4.10.0 |
| ipInLong | long | Long stored IP address, only valid for ipv4 | 4.10.0 |
| vmNicUuid | String | Virtual Machine NIC UUID | 4.10.0 |
| createDate | Timestamp | Creation time | 4.10.0 |
| lastOpDate | Timestamp | Last modification time | 4.10.0 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID, which uniquely identifies the resource | 3.17.13 |
| name | String | Resource name | 3.17.13 |
| description | String | Detailed resource description | 3.17.13 |
| primaryStorageUuid | String | Data Storage UUID | 3.17.13 |
| vmInstanceUuid | String | Virtual Machine UUID | 3.17.13 |
| diskOfferingUuid | String | Disk Offering UUID | 3.17.13 |
| rootImageUuid | String | The root image UUID. | 3.17.13 |
| installPath | String | The installation path. | 3.17.13 |
| type | String | The resource type. | 3.17.13 |
| format | String | The format. | 3.17.13 |
| size | Long | The size. | 3.17.13 |
| actualSize | Long | The actual size. | 3.17.13 |
| deviceId | Integer | The device ID. | 3.17.13 |
| state | String | The resource state. | 3.17.13 |
| status | String | The resource status. | 3.17.13 |
| createDate | Timestamp | Creation time | 3.17.13 |
| lastOpDate | Timestamp | Last modification time | 3.17.13 |
| isShareable | Boolean | Whether the resource is shareable. | 3.17.13 |
| volumeQos | String | The volume QoS. | 3.17.13 |
| lastDetachDate | Timestamp | The last detach date. | 3.17.13 |
| lastVmInstanceUuid | String | The last VM instance UUID. | 3.17.13 |
| encrypted | Boolean | Whether the resource is encrypted. | 5.1.0 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID, which uniquely identifies the resource | 3.17.13 |
| vmInstanceUuid | String | Virtual Machine UUID | 3.17.13 |
| deviceId | Integer | The device ID. | 3.17.13 |
| isoUuid | String | The ISO UUID. | 3.17.13 |
| isoInstallPath | String | The ISO install path. | 3.17.13 |
| name | String | Resource name | 3.17.13 |
| description | String | Detailed resource description | 3.17.13 |
| createDate | Timestamp | Creation time | 3.17.13 |
| lastOpDate | Timestamp | Last modification time | 3.17.13 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| code | String | Error code, which globally and uniquely identifies the error, for example, SYS.1000 or HOST.1001 | 0.6 |
| description | String | Summary description of the error | 0.6 |
| details | String | Details of the error | 0.6 |
| elaboration | String | Reserved field. The default value is null | 0.6 |
| opaque | LinkedHashMap | Reserved field. The default value is null | 0.6 |
| cause | ErrorCode | Root error that caused the current error. This field is null if there is no source error | 0.6 |
SDK Examples
GetPlatformServiceVmInstancesAction action = new GetPlatformServiceVmInstancesAction();
action.uuid = "ff0e6f5e01e23b1fbd616d28a9280400";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
GetPlatformServiceVmInstancesAction.Result res = action.call();
action = GetPlatformServiceVmInstancesAction()
action.uuid = "ff0e6f5e01e23b1fbd616d28a9280400"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
res = action.call()
CheckPlatformServiceHealth
Check Platform Service Health
API Request
PUT zstack/v1/platform-services/instances/{uuid}/actions
Authorization: OAuth the-session-uuid
{
"checkPlatformServiceHealth": {},
"systemTags": [],
"userTags": []
}
Note: In the preceding example, the systemTags and userTags fields can be omitted. They are shown to indicate that the body can contain these two fields.curl -H "Content-Type: application/json;charset=UTF-8" -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" -X PUT -d '{"checkPlatformServiceHealth":{}}' http://localhost:8080/zstack/v1/platform-services/instances/ff0e6f5e01e23b1fbd616d28a9280400/actions
| Name | Type | Location | Description | Allowed Values | Starting Version |
|---|---|---|---|---|---|
| uuid | String | url | Platform service instance UUID | 5.1.0 | |
| systemTags (Optional) | List | body | System tags | 5.1.0 | |
| userTags (Optional) | List | body | User tags | 5.1.0 |
API Response
{
"inventory": {
"uuid": "a20c329f4373444b81801bae4da83550",
"name": "zlr",
"serviceType": "ZLR",
"packageUuid": "f81e3a5c1d5240658564b6c25a7d6e8b",
"vmInstanceUuid": "e884993195df45d4a8514296098ccc7f",
"state": "Deployed",
"healthStatus": "Healthy",
"version": "1.0.0",
"operationState": "Succeeded",
"progress": 100,
"lastHealthCheckTime": "Nov 14, 2017 2:20:57 PM",
"createDate": "Nov 14, 2017 2:20:57 PM",
"lastOpDate": "Nov 14, 2017 2:20:57 PM"
}
}
| Name | Type | Description | Starting Version |
|---|---|---|---|
| success | boolean | Whether succeeded | 5.1.0 |
| inventory | PlatformServiceInstanceInventory | For details, see inventory | 5.1.0 |
| error | ErrorCode | For details, see error | 5.1.0 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID, which uniquely identifies the resource | 5.1.0 |
| name | String | Resource name | 5.1.0 |
| description | String | Detailed resource description | 5.1.0 |
| serviceType | String | Platform service type, such as ZCenter or ZLR | 5.1.0 |
| packageUuid | String | UUID of the platform service package used to deploy this instance | 5.1.0 |
| vmInstanceUuid | String | Virtual Machine UUID | 5.1.0 |
| state | String | Platform service instance state, such as Deployed or Undeployed | 5.1.0 |
| healthStatus | String | Platform service health status, such as Healthy, Unhealthy, or Unknown | 5.1.0 |
| version | String | Platform service runtime version, obtained from the service virtual machine after a successful deployment or health check | 5.1.0 |
| operationState | String | Status of the current active operation, aggregated from TaskProgress, such as Running, Succeeded, or Failed | 5.1.0 |
| currentStage | String | Stage of the current active operation, aggregated from TaskProgress | 5.1.0 |
| currentStageIndex | Integer | Stage number of the current active operation, aggregated from TaskProgress | 5.1.0 |
| totalStages | Integer | Total number of stages in the current active operation, aggregated from TaskProgress | 5.1.0 |
| progress | Integer | Progress of the current active operation, ranging from 0 to 100 and aggregated from TaskProgress | 5.1.0 |
| currentStep | String | Description of the current active operation step, aggregated from TaskProgress | 5.1.0 |
| lastError | String | Reason for the most recent failure. This field is empty when the operation succeeds | 5.1.0 |
| lastHealthCheckTime | Timestamp | Time of the latest health check | 5.1.0 |
| createDate | Timestamp | Creation time | 5.1.0 |
| lastOpDate | Timestamp | Last modification time | 5.1.0 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| code | String | Error code, which globally and uniquely identifies the error, for example, SYS.1000 or HOST.1001 | 0.6 |
| description | String | Summary description of the error | 0.6 |
| details | String | Details of the error | 0.6 |
| elaboration | String | Reserved field. The default value is null | 0.6 |
| opaque | LinkedHashMap | Reserved field. The default value is null | 0.6 |
| cause | ErrorCode | Root error that caused the current error. This field is null if there is no source error | 0.6 |
SDK Examples
CheckPlatformServiceHealthAction action = new CheckPlatformServiceHealthAction();
action.uuid = "ff0e6f5e01e23b1fbd616d28a9280400";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
CheckPlatformServiceHealthAction.Result res = action.call();
action = CheckPlatformServiceHealthAction()
action.uuid = "ff0e6f5e01e23b1fbd616d28a9280400"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
res = action.call()
UndeployPlatformService
Undeploy Platform Service
API Request
PUT zstack/v1/platform-services/instances/{uuid}/actions
Authorization: OAuth the-session-uuid
{
"undeployPlatformService": {},
"systemTags": [],
"userTags": []
}
Note: In the preceding example, the systemTags and userTags fields can be omitted. They are shown to indicate that the body can contain these two fields.curl -H "Content-Type: application/json;charset=UTF-8" -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" -X PUT -d '{"undeployPlatformService":{}}' http://localhost:8080/zstack/v1/platform-services/instances/ff0e6f5e01e23b1fbd616d28a9280400/actions
| Name | Type | Location | Description | Allowed Values | Starting Version |
|---|---|---|---|---|---|
| uuid | String | url | Platform service instance UUID | 5.1.0 | |
| systemTags (Optional) | List | body | System tags | 5.1.0 | |
| userTags (Optional) | List | body | User tags | 5.1.0 |
API Response
{
"inventory": {
"uuid": "9492259135a04927b5bf93de67695ef8",
"name": "zlr",
"serviceType": "ZLR",
"packageUuid": "4a4622a797f04fe79e73c7274d45e0c1",
"vmInstanceUuid": "16d489e3993545848c95cb9770301943",
"state": "Deployed",
"healthStatus": "Healthy",
"version": "1.0.0",
"operationState": "Succeeded",
"progress": 100,
"lastHealthCheckTime": "Nov 14, 2017 2:20:57 PM",
"createDate": "Nov 14, 2017 2:20:57 PM",
"lastOpDate": "Nov 14, 2017 2:20:57 PM"
}
}
| Name | Type | Description | Starting Version |
|---|---|---|---|
| success | boolean | Whether succeeded | 5.1.0 |
| inventory | PlatformServiceInstanceInventory | For details, see inventory | 5.1.0 |
| error | ErrorCode | For details, see error | 5.1.0 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID, which uniquely identifies the resource | 5.1.0 |
| name | String | Resource name | 5.1.0 |
| description | String | Detailed resource description | 5.1.0 |
| serviceType | String | Platform service type, such as ZCenter or ZLR | 5.1.0 |
| packageUuid | String | UUID of the platform service package used to deploy this instance | 5.1.0 |
| vmInstanceUuid | String | Virtual Machine UUID | 5.1.0 |
| state | String | Platform service instance state, such as Deployed or Undeployed | 5.1.0 |
| healthStatus | String | Platform service health status, such as Healthy, Unhealthy, or Unknown | 5.1.0 |
| version | String | Platform service runtime version, obtained from the service virtual machine after a successful deployment or health check | 5.1.0 |
| operationState | String | Status of the current active operation, aggregated from TaskProgress, such as Running, Succeeded, or Failed | 5.1.0 |
| currentStage | String | Stage of the current active operation, aggregated from TaskProgress | 5.1.0 |
| currentStageIndex | Integer | Stage number of the current active operation, aggregated from TaskProgress | 5.1.0 |
| totalStages | Integer | Total number of stages in the current active operation, aggregated from TaskProgress | 5.1.0 |
| progress | Integer | Progress of the current active operation, ranging from 0 to 100 and aggregated from TaskProgress | 5.1.0 |
| currentStep | String | Description of the current active operation step, aggregated from TaskProgress | 5.1.0 |
| lastError | String | Reason for the most recent failure. This field is empty when the operation succeeds | 5.1.0 |
| lastHealthCheckTime | Timestamp | Time of the latest health check | 5.1.0 |
| createDate | Timestamp | Creation time | 5.1.0 |
| lastOpDate | Timestamp | Last modification time | 5.1.0 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| code | String | Error code, which globally and uniquely identifies the error, for example, SYS.1000 or HOST.1001 | 0.6 |
| description | String | Summary description of the error | 0.6 |
| details | String | Details of the error | 0.6 |
| elaboration | String | Reserved field. The default value is null | 0.6 |
| opaque | LinkedHashMap | Reserved field. The default value is null | 0.6 |
| cause | ErrorCode | Root error that caused the current error. This field is null if there is no source error | 0.6 |
SDK Examples
UndeployPlatformServiceAction action = new UndeployPlatformServiceAction();
action.uuid = "ff0e6f5e01e23b1fbd616d28a9280400";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
UndeployPlatformServiceAction.Result res = action.call();
action = UndeployPlatformServiceAction()
action.uuid = "ff0e6f5e01e23b1fbd616d28a9280400"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
res = action.call()
DeletePlatformServicePackage
Delete Platform Service Package
API Request
DELETE zstack/v1/platform-services/packages/{uuid}
Authorization: OAuth the-session-uuid
curl -H "Content-Type: application/json;charset=UTF-8" -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" -X DELETE http://localhost:8080/zstack/v1/platform-services/packages/ff062ec74ff33684b183abeeb7031e00?deleteMode=Permissive
| Name | Type | Location | Description | Allowed Values | Starting Version |
|---|---|---|---|---|---|
| uuid | String | url | Platform service package UUID | 5.1.0 | |
| deleteMode (Optional) | String | query | Deletion mode. Permissive and Enforcing are supported, and the default is Permissive | 5.1.0 | |
| systemTags (Optional) | List | query | System tags | 5.1.0 | |
| userTags (Optional) | List | query | User tags | 5.1.0 |
API Response
When the API succeeds, it returns an empty JSON structure{}. If an error occurs, the returned JSON structure contains an error field, for example:
{
"error": {
"code": "SYS.1001",
"description": "A message or a operation timeout",
"details": "Create VM on KVM timeout after 300s"
}
}
SDK Examples
DeletePlatformServicePackageAction action = new DeletePlatformServicePackageAction();
action.uuid = "ff062ec74ff33684b183abeeb7031e00";
action.deleteMode = "Permissive";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
DeletePlatformServicePackageAction.Result res = action.call();
action = DeletePlatformServicePackageAction()
action.uuid = "ff062ec74ff33684b183abeeb7031e00"
action.deleteMode = "Permissive"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
res = action.call()
External Service Configuration APIs
AddExternalServiceConfiguration
Add External Service Configuration
API Request
POST zstack/v1/external/service/configurations
Authorization: OAuth the-session-uuid
{
"params": {
"externalServiceType": "Prometheus2",
"configuration": "{}",
"description": "description"
},
"systemTags": [],
"userTags": []
}
Note: In the preceding example, the systemTags and userTags fields can be omitted. They are shown to indicate that the body can contain these two fields.curl -H "Content-Type: application/json;charset=UTF-8" -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" -X POST -d '{"params":{"externalServiceType":"Prometheus2","configuration":"{}","description":"description"}}' http://localhost:8080/zstack/v1/external/service/configurations
| Name | Type | Location | Description | Allowed Values | Starting Version |
|---|---|---|---|---|---|
| externalServiceType | String | body (included in the params structure) |
External service type, for example, Prometheus2 | 5.1.0 | |
| configuration | String | body (included in the params structure) |
External service configuration in JSON format. If the configuration contains credentials such as remote_write.basic_auth.password, the system saves them as submitted. When the external service configuration is queried, password is masked as ******. When adding a configuration, do not submit the masked value ******; submit the actual password | 5.1.0 | |
| description (Optional) | String | body (included in the params structure) |
Detailed resource description | 5.1.0 | |
| resourceUuid (Optional) | String | body (included in the params structure) |
Resource UUID | 5.1.0 | |
| tagUuids (Optional) | List | body (included in the params structure) |
Tag UUID list | 5.1.0 | |
| systemTags (Optional) | List | body | System tags | 5.1.0 | |
| userTags (Optional) | List | body | User tags | 5.1.0 |
API Response
{
"inventory": {
"uuid": "66004d1914e733fd8236e0916f43d860",
"serviceType": "Prometheus2",
"configuration": "{}"
}
}
| Name | Type | Description | Starting Version |
|---|---|---|---|
| success | boolean | Whether the operation succeeded | 5.1.0 |
| inventory | ExternalServiceConfigurationInventory | For details, see inventory | 5.1.0 |
| error | ErrorCode | Error code. If this field is not null, the operation failed. This field is null when the operation succeeds. For details, see error | 5.1.0 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID, which uniquely identifies the resource | 5.1.0 |
| serviceType | String | External service type, such as Prometheus2 or FluentBitServer | 5.1.0 |
| configuration | String | External service configuration in JSON format. If the saved configuration contains credentials such as remote_write.basic_auth.password, password is masked as ****** in query results. If this masked value is submitted through Update, the system retains the old password saved at the corresponding remote_write location | 5.1.0 |
| description | String | Detailed resource description | 5.1.0 |
| createDate | Timestamp | Creation time | 5.1.0 |
| lastOpDate | Timestamp | Last modification time | 5.1.0 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| code | String | Error code, which globally and uniquely identifies the error, for example, SYS.1000 or HOST.1001 | 0.6 |
| description | String | Summary description of the error | 0.6 |
| details | String | Details of the error | 0.6 |
| elaboration | String | Reserved field. The default value is null | 0.6 |
| opaque | LinkedHashMap | Reserved field. The default value is null | 0.6 |
| cause | ErrorCode | Root error that caused the current error. This field is null if there is no source error | 0.6 |
SDK Examples
AddExternalServiceConfigurationAction action = new AddExternalServiceConfigurationAction();
action.externalServiceType = "Prometheus2";
action.configuration = "{}";
action.description = "description";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
AddExternalServiceConfigurationAction.Result res = action.call();
action = AddExternalServiceConfigurationAction()
action.externalServiceType = "Prometheus2"
action.configuration = "{}"
action.description = "description"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
res = action.call()
DeleteExternalServiceConfiguration
Delete External Service Configuration
API Request
DELETE zstack/v1/external/service/configurations/{uuid}
Authorization: OAuth the-session-uuid
curl -H "Content-Type: application/json;charset=UTF-8" -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" -X DELETE http://localhost:8080/zstack/v1/external/service/configurations/aa1a4fca6262310aa6b780018ba346df?deleteMode=Permissive
| Name | Type | Location | Description | Allowed Values | Starting Version |
|---|---|---|---|---|---|
| uuid | String | url | Resource UUID, which uniquely identifies the resource | 5.1.0 | |
| deleteMode (Optional) | String | query | Deletion mode (Permissive or Enforcing; the default is Permissive) | 5.1.0 | |
| systemTags (Optional) | List | query | System tags | 5.1.0 | |
| userTags (Optional) | List | query | User tags | 5.1.0 |
API Response
When the API succeeds, it returns an empty JSON structure{}. If an error occurs, the returned JSON structure contains an error field, for example:
{
"error": {
"code": "SYS.1001",
"description": "A message or a operation timeout",
"details": "Create VM on KVM timeout after 300s"
}
}
SDK Examples
DeleteExternalServiceConfigurationAction action = new DeleteExternalServiceConfigurationAction();
action.uuid = "aa1a4fca6262310aa6b780018ba346df";
action.deleteMode = "Permissive";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
DeleteExternalServiceConfigurationAction.Result res = action.call();
action = DeleteExternalServiceConfigurationAction()
action.uuid = "aa1a4fca6262310aa6b780018ba346df"
action.deleteMode = "Permissive"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
res = action.call()
QueryExternalServiceConfiguration
Query External Service Configuration
API Request
GET zstack/v1/external/service/configurations
GET zstack/v1/external/service/configurations/{uuid}
Authorization: OAuth the-session-uuid
curl -H "Content-Type: application/json;charset=UTF-8" -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" -X GET http://localhost:8080/zstack/v1/external/service/configurations?q=uuid=efca0d027c943d91bbf524e297a17029
curl -H "Content-Type: application/json;charset=UTF-8" -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" -X GET http://localhost:8080/zstack/v1/external/service/configurations/c8effcfb93a43e138e12b67881cb487f
Queryable Fields
Run the CLI tool and enter QueryExternalServiceConfiguration, and press Tab to view all queryable fields and the names of resources available for cross-table queries.
API Response
{
"inventories": [
{
"uuid": "249687cb3ea3309f9f0eafde752ea08b",
"serviceType": "Prometheus2",
"configuration": "{}"
}
]
}
| Name | Type | Description | Starting Version |
|---|---|---|---|
| success | boolean | Whether the operation succeeded. | 5.1.0 |
| inventories | List | For details, see inventories | 5.1.0 |
| error | ErrorCode | Error code. If this field is not null, the operation failed. This field is null when the operation succeeds. For details, see error | 5.1.0 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID, which uniquely identifies the resource | 5.1.0 |
| serviceType | String | External service type, such as Prometheus2 or FluentBitServer | 5.1.0 |
| configuration | String | External service configuration in JSON format. If the saved configuration contains credentials such as remote_write.basic_auth.password, password is masked as ****** in query results. If this masked value is submitted through Update, the system retains the old password saved at the corresponding remote_write location | 5.1.0 |
| description | String | Detailed resource description | 5.1.0 |
| createDate | Timestamp | Creation time | 5.1.0 |
| lastOpDate | Timestamp | Last modification time | 5.1.0 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| code | String | Error code, which globally and uniquely identifies the error, for example, SYS.1000 or HOST.1001 | 0.6 |
| description | String | Summary description of the error | 0.6 |
| details | String | Details of the error | 0.6 |
| elaboration | String | Reserved field. The default value is null | 0.6 |
| opaque | LinkedHashMap | Reserved field. The default value is null | 0.6 |
| cause | ErrorCode | Root error that caused the current error. This field is null if there is no source error | 0.6 |
SDK Examples
QueryExternalServiceConfigurationAction action = new QueryExternalServiceConfigurationAction();
action.conditions = asList("uuid=a975960c59c83af38c48aad79b966b4e");
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
QueryExternalServiceConfigurationAction.Result res = action.call();
action = QueryExternalServiceConfigurationAction()
action.conditions = ["uuid=10ffe79c134332b585c2af7eb5a22847"]
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
res = action.call()
UpdateExternalServiceConfiguration
Update External Service Configuration
API Request
PUT zstack/v1/external/service/configurations/{uuid}
Authorization: OAuth the-session-uuid
{
"updateExternalServiceConfiguration": {
"description": "description",
"configuration": "{}"
},
"systemTags": [],
"userTags": []
}
Note: In the preceding example, the systemTags and userTags fields can be omitted. They are shown to indicate that the body can contain these two fields.curl -H "Content-Type: application/json;charset=UTF-8" -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" -X PUT -d '{"updateExternalServiceConfiguration":{"description":"description","configuration":"{}"}}' http://localhost:8080/zstack/v1/external/service/configurations/9a3118bffd913ea68caa76b9a668837d
| Name | Type | Location | Description | Allowed Values | Starting Version |
|---|---|---|---|---|---|
| uuid | String | url | Resource UUID, which uniquely identifies the resource | 5.1.0 | |
| description (Optional) | String | body (included in the updateExternalServiceConfiguration structure) |
Detailed resource description | 5.1.0 | |
| configuration (Optional) | String | body (included in the updateExternalServiceConfiguration structure) |
External service configuration content. If remote_write.basic_auth.password uses the masked value ****** from a query result, the system retains the old password saved at the corresponding remote_write location. To change the password, submit the actual password | 5.1.0 | |
| systemTags (Optional) | List | body | System tags | 5.1.0 | |
| userTags (Optional) | List | body | User tags | 5.1.0 |
API Response
{
"inventory": {
"uuid": "da66ea66a447381db5295a14a5c62b2b"
}
}
| Name | Type | Description | Starting Version |
|---|---|---|---|
| success | boolean | Whether the operation succeeded. | 5.1.0 |
| inventory | ExternalServiceConfigurationInventory | For details, see inventory | 5.1.0 |
| error | ErrorCode | Error code. If this field is not null, the operation failed. This field is null when the operation succeeds. For details, see error | 5.1.0 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID, which uniquely identifies the resource | 5.1.0 |
| serviceType | String | External service type, such as Prometheus2 or FluentBitServer | 5.1.0 |
| configuration | String | External service configuration in JSON format. If the saved configuration contains credentials such as remote_write.basic_auth.password, password is masked as ****** in query results. If this masked value is submitted through Update, the system retains the old password saved at the corresponding remote_write location | 5.1.0 |
| description | String | Detailed resource description | 5.1.0 |
| createDate | Timestamp | Creation time | 5.1.0 |
| lastOpDate | Timestamp | Last modification time | 5.1.0 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| code | String | Error code, which globally and uniquely identifies the error, for example, SYS.1000 or HOST.1001 | 0.6 |
| description | String | Summary description of the error | 0.6 |
| details | String | Details of the error | 0.6 |
| elaboration | String | Reserved field. The default value is null | 0.6 |
| opaque | LinkedHashMap | Reserved field. The default value is null | 0.6 |
| cause | ErrorCode | Root error that caused the current error. This field is null if there is no source error | 0.6 |
SDK Examples
UpdateExternalServiceConfigurationAction action = new UpdateExternalServiceConfigurationAction();
action.uuid = "9a3118bffd913ea68caa76b9a668837d";
action.description = "description";
action.configuration = "{}";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
UpdateExternalServiceConfigurationAction.Result res = action.call();
action = UpdateExternalServiceConfigurationAction()
action.uuid = "9a3118bffd913ea68caa76b9a668837d"
action.description = "description"
action.configuration = "{}"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
res = action.call()
