VM Related Interfaces

Create Start Virtual Machine Scheduler

POST/zstack/v1/vm-instances/{vmUuid}/schedulers/starting

Headers

Authorization: OAuth the-session-uuid

Body

{
  "params": {
    "schedulerName": "create-vm-scheduler",
    "schedulerDescription": "for test create vm scheduler",
    "type": "simple",
    "interval": 5.0,
    "repeatCount": 10.0,
    "startTime": 0.0
  },
  "systemTags": [],
  "userTags": []
}

In the example above, systemTags and userTags fields can be omitted. 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: cf1274ab34e448cdb7f8aabd8461683e" \
-X POST -d '{"params":{"schedulerName":"create-vm-scheduler","schedulerDescription":\
"for test create vm scheduler","type":"simple","interval":5.0,"repeatCount":10.0,"startTime":0.0}}' \
http://localhost:8080/zstack/v1/vm-instances/0a8a39e89a104282b0ff78446515d7f1/schedulers/starting

Parameter List

NameTypeLocationDescriptionAllowed ValuesStarting Version
vmUuidStringurlVirtual Machine UUID 0.6
clusterUuid (Optional)Stringbody(contained in the ____params structure)Cluster UUID 0.6
hostUuid (Optional)Stringbody(contained in the params structure)Host UUID 0.6
schedulerNameStringbody(contained in the params structure)Scheduler name 1.6
schedulerDescription (Optional)Stringbody(contained in the params structure)Scheduler description 1.6
typeStringbody(contained in the params structure)Scheduler type, simple or cronsimplecron1.6
interval (Optional)Integerbody(contained in the params structure)Scheduler interval in seconds 1.6
repeatCount (Optional)Integerbody(contained in the params structure)Repeat count for the scheduler, only applies to simple type scheduler 1.6
startTime (Optional)Longbody(contained in the params structure)Scheduler start time, must follow unix timestamp format, 0 means start immediately 1.6
cron (Optional)Stringbody(contained in the params structure)Cron expression, must follow Java Quartz cron format standard 1.6
resourceUuid (Optional)Stringbody(contained in the params structure)User can specify the UUID used for creating the Scheduler 0.6
systemTags (Optional)ListbodySystem Tag 0.6
userTags (Optional)ListbodyUser Tag 0.6

API Response

Response Example

{
  "inventory": {
    "uuid": "3e27a74894fb47b5a3c86c2b44409ccb",
    "targetResourceUuid": "d596e0adcb2b49a8a9efd132f0e43a73",
    "schedulerName": "Test",
    "schedulerType": "simple",
    "repeatCount": 10.0,
    "startTime": "Apr 24, 2017 7:11:02 PM",
    "createDate": "Apr 24, 2017 7:11:02 PM",
    "lastOpDate": "Apr 24, 2017 7:11:02 PM",
    "jobClassName": "CreateVolumeSnapshotJob",
    "state": "Enabled"
  }
}
NameTypeDescriptionStarting Version
errorErrorCodeError code. If not null, the operation failed. This field is null when the operation is successful. For details, see error1.6
inventorySchedulerInventoryFor details, see inventory1.6

error

NameTypeDescriptionStarting Version
codeStringError code number, a globally unique identifier for the error, for example SYS.1000, HOST.10010.6
descriptionStringBrief description of the error0.6
detailsStringDetailed error information0.6
elaborationStringReserved field, defaults to null0.6
opaqueLinkedHashMapReserved field, defaults to null0.6
causeErrorCodeRoot cause. The source error that caused the current error. If there is no original error, this field is null0.6

inventory

NameTypeDescriptionStarting Version
uuidStringResource UUID, uniquely identifying the resource0.6
targetResourceUuidString 0.6
schedulerNameString 0.6
schedulerJobString 0.6
schedulerTypeString 0.6
schedulerIntervalInteger 0.6
repeatCountInteger 0.6
cronSchedulerString 0.6
startTimeTimestamp 0.6
stopTimeTimestamp 0.6
createDateTimestampCreate date0.6
lastOpDateTimestampLast update date0.6
stateString 0.6

SDK Examples

Java SDK

CreateStartVmInstanceSchedulerAction action = new CreateStartVmInstanceSchedulerAction();
action.vmUuid = "7d86597d42eb4e31b2497a06361f710b";
action.schedulerName = "create-vm-scheduler";
action.schedulerDescription = "for test create vm scheduler";
action.type = "simple";
action.interval = 5.0;
action.repeatCount = 10.0;
action.startTime = 0.0;
action.sessionId = "a5e890d5bd78487f979861dee02aaafe";
CreateStartVmInstanceSchedulerAction.Result res = action.call();

Python SDK

CreateStartVmInstanceSchedulerAction action = CreateStartVmInstanceSchedulerAction()
action.vmUuid = "26799d709f7e4794b33fb07cfd269373"
action.schedulerName = "create-vm-scheduler"
action.schedulerDescription = "for test create vm scheduler"
action.type = "simple"
action.interval = 5.0
action.repeatCount = 10.0
action.startTime = 0.0
action.sessionId = "d5fcddc65c454f6f85625f954d9507e5"
CreateStartVmInstanceSchedulerAction.Result res = action.call()