tencent cloud

文档反馈

RunCommand

最后更新时间:2023-03-14 16:55:44

1. API Description

Domain name for API request: tat.tencentcloudapi.com.

This API is used to execute a command and returns the execution activity ID (inv-xxxxxxxx) on success. Each execution has one or more execution tasks (invt-xxxxxxxx) and each execution task indicates an execution record on a CVM or Lighthouse instance.

  • If the agent is not installed on the instance or is offline, an error is returned.
  • If the command type is not supported by the agent runtime environment, an error is returned.
  • The specified instance needs to be in a VPC network.
  • The specified instance needs to be in the RUNNING status.
  • Only one type of instances (CVM or Lighthouse) can be specified in a single request.

A maximum of 20 requests can be initiated per second for this API.

We recommend you to use API Explorer
Try it
API Explorer provides a range of capabilities, including online call, signature authentication, SDK code generation, and API quick search. It enables you to view the request, response, and auto-generated examples.

2. Input Parameters

The following request parameter list only provides API request parameters and some common parameters. For the complete common parameter list, see Common Request Parameters.

Parameter Name Required Type Description
Action Yes String Common Params. The value used for this API: RunCommand.
Version Yes String Common Params. The value used for this API: 2020-10-28.
Region No String Common Params. This parameter is not required for this API.
Content Yes String Base64-encoded command. The maximum length is 64 KB.
InstanceIds.N Yes Array of String IDs of instances about to execute commands. Up to 100 IDs are allowed. Supported instance types:
  • CVM
  • LIGHTHOUSE
  • CommandName No String Command name. The name can be up to 60 bytes, and contain [a-z], [A-Z], [0-9] and [_-.].
    Description No String Command description. The maximum length is 120 characters.
    CommandType No String Command type. SHELL and POWERSHELL are supported. The default value is SHELL.
    WorkingDirectory No String Command execution path. The default value is /root for SHELL commands and C:\Program Files\qcloud\tat_agent\workdir for POWERSHELL commands.
    Timeout No Integer Command timeout period. Default value: 60 seconds. Value range: [1, 86400].
    SaveCommand No Boolean Whether to save the command. Valid values:
  • True: Save
  • False: Do not save
    The default value is False.
  • EnableParameter No Boolean Whether to enable the custom parameter feature.
    This cannot be modified once created.
    Default value: false.
    DefaultParameters No String The default value of the custom parameter value when it is enabled. The field type is JSON encoded string. For example, {"varA": "222"}.
    key is the name of the custom parameter and value is the default value. Both key and value are strings.
    If Parameters is not provided, the default values specified here are used.
    Up to 20 custom parameters are supported.
    The name of the custom parameter cannot exceed 64 characters and can contain [a-z], [A-Z], [0-9] and [-_].
    Parameters No String Custom parameters of Command. The field type is JSON encoded string. For example, {"varA": "222"}.
    key is the name of the custom parameter and value is the default value. Both key and value are strings.
    If no parameter value is provided, the DefaultParameters is used.
    Up to 20 custom parameters are supported.
    The name of the custom parameter cannot exceed 64 characters and can contain [a-z], [A-Z], [0-9] and [-_].
    Tags.N No Array of Tag The tags of the command. It is available when SaveCommand is True. A maximum of 10 tags are allowed.
    Username No String The username used to execute the command on the CVM or Lighthouse instance.
    The principle of least privilege is the best practice for permission management. We recommend you execute TAT commands as a general user. By default, the user root is used to execute commands on Linux and the user System is used on Windows.
    OutputCOSBucketUrl No String The COS bucket URL for uploading logs. The URL must start with https, such as https://BucketName-123454321.cos.ap-beijing.myqcloud.com.
    OutputCOSKeyPrefix No String The COS bucket directory where the logs are saved. Check below for the rules of the directory name.
    1. It must be a combination of number, letters, and visible characters. Up to 60 characters are allowed.
    2. Use a slash (/) to create a subdirectory.
    3. ".." can not be used as the folder name. It cannot start with a slash (/), and cannot contain consecutive slashes.

    3. Output Parameters

    Parameter Name Type Description
    CommandId String Command ID.
    InvocationId String Execution activity ID.
    RequestId String The unique request ID, which is returned for each request. RequestId is required for locating a problem.

    4. Example

    Example1 Executing a command on multiple CVM instances

    Input Example

    POST / HTTP/1.1
    Host: tat.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: RunCommand
    <Common request parameters>
    
    {
        "CommandName": "run-command",
        "SaveCommand": false,
        "Description": "whoami",
        "Content": "d2hvYW1p",
        "CommandType": "SHELL",
        "WorkingDirectory": "/root/",
        "Timeout": 60,
        "InstanceIds": [
            "ins-zj0f57ew",
            "ins-zj0f57ex",
            "ins-zj0f57ev"
        ]
    }
    

    Output Example

    {
        "Response": {
            "RequestId": "f3e3a951-56b1-4042-af23-ba50223a8f60",
            "CommandId": "cmd-5oa8jajm",
            "InvocationId": "inv-mp6m9vmu"
        }
    }
    

    5. Developer Resources

    SDK

    TencentCloud API 3.0 integrates SDKs that support various programming languages to make it easier for you to call APIs.

    Command Line Interface

    6. Error Code

    The following only lists the error codes related to the API business logic. For other error codes, see Common Error Codes.

    Error Code Description
    FailedOperation.CVMError Failed to access the CVM.
    FailedOperation.LighthouseError Failed to access the Lighthouse instance.
    InternalError Internal error.
    InvalidParameter Invalid parameter.
    InvalidParameter.InvalidUsername Invalid username.
    InvalidParameter.ParameterNameDuplicated Duplicate parameter name.
    InvalidParameterValue Invalid parameter value.
    InvalidParameterValue.AgentUnsupportedCommandType TAT Agent does not support this command type.
    InvalidParameterValue.CommandContentInvalid Invalid command content.
    InvalidParameterValue.CommandNameDuplicated Duplicate command name.
    InvalidParameterValue.InconsistentInstance Inconsistent instance type.
    InvalidParameterValue.InvalidCommandName Invalid command name.
    InvalidParameterValue.InvalidContent Invalid command.
    InvalidParameterValue.InvalidInstanceId Invalid instance ID.
    InvalidParameterValue.InvalidOutputCOSBucketUrl Invalid OutputCOSBucketUrl.
    InvalidParameterValue.InvalidOutputCOSKeyPrefix Invalid OutputCOSKeyPrefix.
    InvalidParameterValue.InvalidUsername Invalid username.
    InvalidParameterValue.InvalidWorkingDirectory Invalid command execution path.
    InvalidParameterValue.LackOfParameterInfo The custom parameter feature is enabled, but custom parameters are missing.
    InvalidParameterValue.LimitExceeded Parameter limit exceeded.
    InvalidParameterValue.ParameterDisabled The custom parameter feature is not enabled.
    InvalidParameterValue.ParameterInvalidJsonFormat The parameter is not a valid JSON string.
    InvalidParameterValue.ParameterKeyContainsInvalidChar The parameter key contains invalid characters.
    InvalidParameterValue.ParameterKeyDuplicated Duplicate parameter keys.
    InvalidParameterValue.ParameterKeyLenExceeded The parameter key is too long.
    InvalidParameterValue.ParameterNumberExceeded Too many parameters.
    InvalidParameterValue.ParameterValueNotString The parameter value is not a string.
    InvalidParameterValue.Range The parameter value is not in the valid range.
    InvalidParameterValue.SupportParametersOnlyIfEnableParameter The custom parameter feature is not enabled.
    InvalidParameterValue.TooLong Length limit exceeded.
    MissingParameter Missing parameter.
    ResourceNotFound.InstanceNotFound The instance does not exist.
    ResourceNotFound.RoleNotFound The role does not exist.
    ResourceUnavailable.AgentNotInstalled TAT Agent is not installed.
    ResourceUnavailable.AgentStatusNotOnline TAT Agent is offline.
    ResourceUnavailable.InstanceStateNotRunning The instance is not running.
    ResourceUnavailable.LighthouseUnsupportedRegion Lighthouse is not supported in the region.
    UnauthorizedOperation.CamAuthFailed CAM authentication failed.
    UnauthorizedOperation.InvalidToken Invalid token.
    UnauthorizedOperation.MFAExpired The Multi-factor authentication (MFA) code expired.
    UnauthorizedOperation.MFANotFound Multi-factor authentication (MFA) does not exist.