All Products
Search
Document Center

ENS:RunServiceSchedule

Last Updated:Mar 12, 2024

Schedules the nearest idle resources including instances and pods for your device based on the user ID and IP address and initializes the virtual environment.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer.

Authorization information

There is currently no authorization information disclosed in the API.

Request parameters

ParameterTypeRequiredDescriptionExample
AppIdstringYes

The ID of the application.

474bdef0-d149-4695-abfb-52912d9143f0
UuidstringYes

The UUID of the device.

hdm_d4f1059a8e1afc0956bd71b497faa433
ClientIpstringYes

The IP address of the client.

180.166.45.146
ServiceActionstringYes

The scheduling operation. The value must be of the enumeration type. Valid values:

Container scenario:

  • Start: selects and activates an idle cloud device.
  • Stop: stops and releases the cloud device.
  • Console: performs the scheduling operation when the device is in the scheduling state.

Bare metal instance or virtual machine scenario:

  • PreSchedule: locks a virtual machine instance for scheduling.
  • Confirm: confirms the scheduling operation.
  • Cancel: cancels the scheduling operation.
  • Console: performs the scheduling operation when the device is in the scheduling state.
Start
PodConfigNamestringNo

The parameter does not take effect.

android
PreLockedTimeoutintegerNo

The maximum duration for locking an idle device. Unit: seconds. This parameter takes effect only if you set ServiceAction to PreSchedule. Default value: 300.

300
DirectorysstringNo

The directory to which the data file is mounted. The value must be a full path and cannot be '/../'. Example: ["/data/app01", "/data/user"]. Specify the relative path of the virtual device for this parameter. For example, specify /data for this parameter when the actual path of the virtual device is /data/{input path}.

[\"/data/app01\", \"/data/user\"]
ServiceCommandsstringNo

The service commands. The value must be a JSON string.

[{\"containerName\": \"android\", \"commands\":[\"cat /tmp/token.json\"] }, { \"commands\":[\"ls -l /data/data\"] }]
ScheduleStrategystringNo

The scheduling policy of the device. The value must be a JSON string.

{\"selectLevel\": \"RegionId\", \"values\": [\"cn-chengdu-telecom-2\"] }

Response parameters

ParameterTypeDescriptionExample
object
CommandResultsobject []

The execution results of the commands.

Commandstring

The command.

ls -l /data
ContainerNamestring

The name of the container.

android
ResultMsgstring

The execution result of the command.

success
Indexinteger

The index number of the scheduled virtual device (pod).

1
InstanceIdstring

The ID of the scheduled instance.

i-5qvji3mom4ec013dyygmtxlkj
InstanceIpstring

The IP address of the scheduled instance.

172.16.246.11
InstancePortinteger

The start port of the scheduled instance.

1024
RequestIdstring

The ID of the request.

473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E
RequestRepeatedstring

Indicates whether the request is repeated. This parameter is not returned if ServcieAction is set to Console.

false
TcpPortsboolean

The TCP port range of the scheduled instance or container. The value is in the ${from}-$-{to} format. Example: 80-88.

"80-88"

Examples

Sample success responses

JSONformat

{
  "CommandResults": {
    "CommandResult": [
      {
        "Command": "ls -l /data",
        "ContainerName": "android",
        "ResultMsg": "success"
      }
    ]
  },
  "Index": 1,
  "InstanceId": "i-5qvji3mom4ec013dyygmtxlkj",
  "InstanceIp": "172.16.246.11",
  "InstancePort": 1024,
  "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E",
  "RequestRepeated": "false",
  "TcpPorts": true
}

Error codes

HTTP status codeError codeError messageDescription
400MissingParameterThe input parameter that is mandatory for processing this request is not supplied.-
400NoPermissionPermission denied.-
400InvalidParameter.%sThe specified field %s invalid. Please check it again.-
400InvalidParameterThe errorMessage is %s. Please check it again.-
400LimitExceeded.SecurityGroupThe number of securityGroup exceeds the limit.-
400ens.interface.errorAn error occurred while calling the API.-
400CallInterfaceCall Interface Happen Error.An error occurred when you call the operation.

For a list of error codes, visit the Service error codes.

Change history

Change timeSummary of changesOperation
2023-12-26API Description Update. The Error code has changedsee changesets
Change itemChange content
API DescriptionAPI Description Update.
Error CodesThe Error code has changed.
    Error Codes 400 change