Create VM Scheduling Policy
Headers
Authorization: OAuth the-session-uuidBody
{
"params": {
"rule": "AFFINITY",
"mode": "SOFT",
"vmGroupUuid": "814bca77193f3e7a871891b17f8e4122",
"hostGroupUuid": "e4241841b9083aed84726be7cbb966bf",
"name": "vm-scheduling-rule",
"description": "desc"
},
"systemTags": [],
"userTags": []
}The systemTags and userTags fields in the above example are optional. They are listed to indicate that the body can contain these two fields.
Curl Example
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"rule":"AFFINITY","mode":"SOFT","vmGroupUuid":"814bca77193f3e7a871891b17f8e4122","hostGroupUuid":"e4241841b9083aed84726be7cbb966bf","name":"vm-scheduling-rule","description":"desc"}}' http://localhost:8080/zstack/v1/vmsSchedulingRuleParameter List
Name | Type | Location | Description | Allowed Values | Starting Version |
|---|---|---|---|---|---|
rule | String | body (contained in the params structure) | Rule |
| 4.6.0 |
mode | String | body (contained in the params structure) | Enforcement level |
| 4.6.0 |
vmGroupUuid | String | body (contained in the params structure) | VM scheduling group UUID |
| 4.6.0 |
hostGroupUuid (optional) | String | body (contained in the params structure) | Host scheduling group UUID |
| 4.6.0 |
name | String | body (contained in the params structure) | Resource name |
| 4.6.0 |
description (optional) | String | body (contained in the params structure) | Detailed description of the resource |
| 4.6.0 |
policy (optional) | String | body (contained in the params structure) |
|
| 4.6.0 |
type (optional) | String | body (contained in the params structure) |
| host | 4.6.0 |
zoneUuid (optional) | String | body (contained in the params structure) | Data Center UUID |
| 4.6.0 |
subType (optional) | String | body (contained in the params structure) |
|
| 4.6.0 |
resourceUuid (optional) | String | body (contained in the params structure) | Resource UUID |
| 4.6.0 |
tagUuids (optional) | List | body (contained in the params structure) | Tag UUID list |
| 4.6.0 |
systemTags (optional) | List | body | System tags |
| 4.6.0 |
userTags (optional) | List | body | User tags |
| 4.6.0 |
API Response
Response Example
{
"inventory": {
"uuid": "d517b42f669b324288fe8977a7df2e4d",
"name": "affinity-group-test",
"description": "affinity group for test",
"policy": "ANTISOFT",
"version": "1.0",
"type": "HOST"
}
}| Name | Type | Description | Starting Version |
|---|---|---|---|
| success | boolean | 4.6.0 | |
| error | ErrorCode | Error code. If not null, the operation failed. This field is null when the operation succeeds. For details, see error | 4.6.0 |
| inventory | AffinityGroupInventory | For details, see inventory | 4.6.0 |
error
| Name | Type | Description | Starting Version |
|---|---|---|---|
| code | String | Error code number. A globally unique identifier for the error, for example, SYS.1000, HOST.1001 | 4.6.0 |
| description | String | Brief description of the error | 4.6.0 |
| details | String | Detailed information about the error | 4.6.0 |
| elaboration | String | Reserved field. Default is null | 4.6.0 |
| opaque | LinkedHashMap | Reserved field. Default is null | 4.6.0 |
| cause | ErrorCode | Root error. The source error that caused the current error. This field is null if no root error exists | 4.6.0 |
inventory
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | UUID of the resource. Uniquely identifies the resource | 4.6.0 |
| name | String | Resource name | 4.6.0 |
| description | String | Detailed description of the resource | 4.6.0 |
| policy | String | 4.6.0 | |
| version | String | 4.6.0 | |
| type | String | 4.6.0 | |
| appliance | String | 4.6.0 | |
| state | String | 4.6.0 | |
| createDate | Timestamp | Creation time | 4.6.0 |
| lastOpDate | Timestamp | Last modification time | 4.6.0 |
| usages | List | For details, see usages | 4.6.0 |
usages
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | UUID of the resource. Uniquely identifies the resource | 4.6.0 |
| affinityGroupUuid | String | 4.6.0 | |
| resourceUuid | String | 4.6.0 | |
| resourceType | String | 4.6.0 | |
| createDate | Timestamp | Creation time | 4.6.0 |
| lastOpDate | Timestamp | Last modification time | 4.6.0 |
SDK Examples
Java SDK
CreateVmSchedulingRuleAction action = new CreateVmSchedulingRuleAction();
action.rule = "AFFINITY";
action.mode = "SOFT";
action.vmGroupUuid = "814bca77193f3e7a871891b17f8e4122";
action.hostGroupUuid = "e4241841b9083aed84726be7cbb966bf";
action.name = "vm-scheduling-rule";
action.description = "desc";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
CreateVmSchedulingRuleAction.Result res = action.call();Python SDK
CreateVmSchedulingRuleAction action = CreateVmSchedulingRuleAction()
action.rule = "AFFINITY"
action.mode = "SOFT"
action.vmGroupUuid = "814bca77193f3e7a871891b17f8e4122"
action.hostGroupUuid = "e4241841b9083aed84726be7cbb966bf"
action.name = "vm-scheduling-rule"
action.description = "desc"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
CreateVmSchedulingRuleAction.Result res = action.call()