Triggers a Cloud Assistant command on one or more Elastic Compute Service (ECS) instances.
Description
- The ECS instances on which to run the Cloud Assistant command must meet the following
requirements. If you specify multiple ECS instances and one of the instances does
not meet the requirements for running the command, the call fails. Specify instances
that meet the requirements and call the InvokeCommand operation again.
- The network type is Virtual Private Cloud (VPC). For more information, see What is a VPC?
- The instances are in the Running (
Running
) state. - The Cloud Assistant client is installed on the instances. For more information, see Install the Cloud Assistant client.
- Before you run PowerShell commands, make sure that the instances have the PowerShell module configured.
- If
Timed
is set to false, the command is run only once. - If
Timed
is set to true, the command is run on a schedule.- The schedule is specified by the
Frequency
parameter. The results of each execution of a command do not affect the next execution of the command. -
If you want to specify a schedule by using a cron expression, you can set a time zone based on your requirements. If you do not set a time zone, the schedule is based on the system time of the instance. Make sure that the time or time zone of the instance meets your business requirements. For more information, see Configure the NTP service and time zone for Linux instances or Configure the NTP service for Windows instances.
To ensure that scheduled tasks can run as expected, make sure that the version of the Cloud Assistant client is not earlier than the following ones. A scheduled task can run a command at a specified interval, only once at a specified time, or at designated times based on a cron expression with a specified year or time zone. If the
ClientNeedUpgrade
error code is returned, upgrade the Cloud Assistant client to the latest version. For more information, see Update or disable updates for the Cloud Assistant client.- Linux: 2.2.3.282
- Windows: 2.1.3.282
- The schedule is specified by the
- Command executions may fail due to instance status exceptions, network exceptions, or exceptions on the Cloud Assistant client. If an execution fails, no execution information is generated.
- If you enable the custom parameter feature by setting EnableParameter to true when
you create a command, you must specify custom parameters (
Parameters
) when you run the command.
Debugging
Request parameters
Parameter | Type | Required | Example | Description |
---|---|---|---|---|
Action | String | Yes | InvokeCommand |
The operation that you want to perform. Set the value to InvokeCommand. |
RegionId | String | Yes | cn-hangzhou |
The region ID of the command. You can call the DescribeRegions operation to query the most recent region list. |
ResourceGroupId | String | No | rg-bp67acfmxazb4p**** |
The ID of the resource group on which to run the command. When you configure this parameter, take note of the following items:
|
CommandId | String | Yes | c-e996287206324975b5fbe1d**** |
The ID of the command. You can call the DescribeCommands operation to query all available command IDs. Note Common Cloud Assistant commands can be run based on their names. For more information,
see View and run common Cloud Assistant commands.
|
RepeatMode | String | No | Once |
The execution mode of the command. Valid values:
Default value:
Take note of the following items:
|
Timed | Boolean | No | true |
Specifies whether to run the command on a schedule. Valid values:
Default value: false. |
Frequency | String | No | 0 */20 * * * ? |
The schedule on which to run the command. You must specify this parameter when you
set
|
Parameters | Map | No | {"name":"Jack", "accessKey":"LTAIdyv******aRY"} |
The key-value pairs of custom parameters to pass in when the custom parameter feature is enabled. Number of custom parameters: 0 to 10.
You can leave this parameter empty to disable the custom parameter feature. |
Username | String | No | root |
The username to use to run the command on ECS instances.
You can also specify other usernames that already exist in the ECS instance to run the command. For security purposes, we recommend that you run Cloud Assistant commands as a regular user. For more information, see Configure a regular user to run Cloud Assistant commands. |
WindowsPasswordName | String | No | axtSecretPassword |
The name of the password to use to run the command on a Windows instance. If you want to use a username other than the default System username to run the command
on the Windows instance, you must specify both the WindowsPasswordName and Note When you use the root username for Linux instances or the System username for Windows
instances to run the command, you do not need to specify the WindowsPasswordName parameter.
|
InstanceId.N | String | Yes | i-bp185dy2o3o6n**** |
The ID of instance N on which to run the command. You can specify up to 50 instance IDs in each request. Valid values of N: 1 to 50. |
ContainerId | String | No | ab141ddfbacfe02d9dbc25966ed971536124527097398d419a6746873fea**** |
The ID of the container. Only 64-bit hexadecimal strings are supported. Container
IDs that are prefixed with Take note of the following items:
|
ContainerName | String | No | test-container |
The name of the container. Take note of the following items:
|
Timeout | Long | No | 60 |
The timeout period for command execution. Unit: seconds.
|
Tag.N.Key | String | No | TestKey |
The key of tag N of the command. Valid values of N: 1 to 20. The tag key cannot be an empty string. If a single tag is specified to query resources, up to 1,000 resources that have this tag added can be displayed in the response. If multiple tags are specified to query resources, up to 1,000 resources that have all these tags added can be displayed in the response. To query more than 1,000 resources that have specified tags added, call the ListTagResources operation. The tag key can be up to 64 characters in length and cannot start with |
Tag.N.Value | String | No | TestValue |
The value of tag N of the command. Valid values of N: 1 to 20. The tag value can be an empty string. The tag value can be up to 128 characters in length and cannot contain |
Response parameters
Parameter | Type | Example | Description |
---|---|---|---|
InvokeId | String | t-7d2a745b412b4601b2d47f6a768d**** |
The ID of the execution. |
RequestId | String | 473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** |
The ID of the request. |
Examples
Sample requests
http(s)://ecs.aliyuncs.com/?Action=InvokeCommand
&CommandId=c-e996287206324975b5fbe1d****
&InstanceId.1=i-bp185dy2o3o6n****
&RegionId=cn-hangzhou
&Timed=true
&Frequency=0 */20 * * * *
&Parameters={"name":"Jack", "accessKey":"LTAIdyv******aRY"}
&Username=root
&<Common request parameters>
Sample success responses
XML
format
HTTP/1.1 200 OK
Content-Type:application/xml
<InvokeCommandResponse>
<InvokeId>t-7d2a745b412b4601b2d47f6a768d****</InvokeId>
<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
</InvokeCommandResponse>
JSON
format
HTTP/1.1 200 OK
Content-Type:application/json
{
"InvokeId" : "t-7d2a745b412b4601b2d47f6a768d****",
"RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}
Error codes
HTTP status code | Error code | Error message | Description |
---|---|---|---|
400 | RegionId.ApiNotSupported | The api is not supported in this region. | The error message returned because the API operation cannot be called in the specified region. Check whether the RegionId parameter is valid. |
400 | InvalidContainerId.Malformed | The specified parameter ContainerId is not valid. | The error message returned because the specified ContainerId parameter is invalid. |
400 | InvalidContainerName.Malformed | The specified parameter ContainerName is not valid. | The error message returned because the specified ContainerName parameter is invalid. |
403 | InvalidInstance.NotMatch | The specified instance type does not match the command. | The error message returned because the specified command cannot be run on the specified ECS instance. Check whether the state of the instance meets the conditions for running the command. |
403 | MissingParam.Frequency | The frequency must be specified when you create a timed task. | The error message returned because the Frequency parameter is not specified when you set Timed to true. |
403 | InvalidParam.Frequency | The specified frequency is invalid. | The error message returned because the specified Frequency parameter is invalid. |
403 | InstanceIds.ExceedLimit | The number of instance IDs exceeds the upper limit. | The error message returned because more than 50 instance IDs are specified. |
403 | Invocation.ExceedQuota | The invocation quota in the current region has been reached for today. | The error message returned because the daily maximum number of command executions in the specified region is reached. |
403 | ParameterCount.ExceedLimit | The maximum number of parameters is exceeded. | The error message returned because the number of specified custom parameters exceeds the upper limit. |
403 | ParameterKey.ExceedLimit | The maximum length of a parameter name is exceeded. | The error message returned because the key of a custom parameter exceeds 64 characters in length. |
403 | CmdContent.ExceedLimit | The maximum length of a command is exceeded. | The error message returned because the length of the command exceeds the upper limit. Shorten your command. |
403 | ParameterKey.Duplicate | Parameter names cannot be duplicated. | The error message returned because a parameter that has the same name already exists. Parameter names must be unique. |
403 | Parameter.NotMatched | The passed-in parameters do not match the parameters defined when you created the command. | The error message returned because the custom parameters passed in do not match those specified when the command was created. |
403 | Username.ExceedLimit | The length of the username exceeds the upper limit. | The error message returned because the length of the username exceeds the upper limit. |
403 | Operation.Forbidden | The operation is not permitted. | The error message returned because the operation is not supported. |
403 | Parameter.MissingValue | The parameter value of this command is required. | The error message returned because the required parameter is not specified. |
404 | InvalidRepeatMode.NotFound | The specified repeat mode does not exist. | The error message returned because the specified value of the RepeatMode parameter does not exist. |
404 | InvalidInstance.NotFound | The specified instance does not exist. | The error message returned because the specified instance does not exist. |
404 | InvalidCmdId.NotFound | The specified command ID does not exist. | The error message returned because the specified CommandId parameter is invalid. You can call the DescribeCommands operation to query all available command IDs. |
404 | Parameter.Disabled | Parameters cannot be passed in when the command customization function is disabled. | The error message returned because Parameters is specified when the custom parameter feature is disabled. |
404 | InvalidResourceGroup.NotFound | The ResourceGroup provided does not exist in our records. | The error message returned because the specified resource group does not exist. |
500 | InternalError.Dispatch | An error occurred when you dispatched the request. | The error message returned because an error occurred when the request was being sent. Try again later. |
For a list of error codes, visit the API Error Center.