All Products
Search
Document Center

ENS:RunServiceSchedule

Last Updated:Nov 18, 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

You can run this interface directly in OpenAPI Explorer, saving you the trouble of calculating signatures. After running successfully, OpenAPI Explorer can automatically generate SDK code samples.

Authorization information

The following table shows the authorization information corresponding to the API. The authorization information can be used in the Action policy element to grant a RAM user or RAM role the permissions to call this API operation. Description:

  • Operation: the value that you can use in the Action element to specify the operation on a resource.
  • Access level: the access level of each operation. The levels are read, write, and list.
  • Resource type: the type of the resource on which you can authorize the RAM user or the RAM role to perform the operation. Take note of the following items:
    • The required resource types are displayed in bold characters.
    • If the permissions cannot be granted at the resource level, All Resources is used in the Resource type column of the operation.
  • Condition Key: the condition key that is defined by the cloud service.
  • Associated operation: other operations that the RAM user or the RAM role must have permissions to perform to complete the operation. To complete the operation, the RAM user or the RAM role must have the permissions to perform the associated operations.
OperationAccess levelResource typeCondition keyAssociated operation
ens:RunServiceSchedule
*All Resources
*
    none
none

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
CommandResultsarray<object>

The execution results of the commands.

CommandResultobject
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 changedView Change Details