調(diào)用CreateCommand接口,并指定Name、Type、CommandContent等參數(shù),新建一條Shell、PowerShell或者Bat腳本類型的云助手命令。
接口說明
- 您可以創(chuàng)建以下類型的命令:
- Windows 實(shí)例適用的 Bat 腳本(RunBatScript)。
- Windows 實(shí)例適用的 PowerShell 腳本(RunPowerShellScript)。
- Linux 實(shí)例適用的 Shell 腳本(RunShellScript)。
- 您可以通過指定參數(shù) Timeout 為命令設(shè)置在 ECS 實(shí)例中執(zhí)行時(shí)最大的超時(shí)時(shí)間,命令執(zhí)行超時(shí)后,云助手 Agent會(huì)強(qiáng)制終止命令進(jìn)程,即取消命令的 PID。
- 對(duì)于單次執(zhí)行,超時(shí)后,該命令針對(duì)指定的 ECS 實(shí)例的執(zhí)行狀態(tài)( InvokeRecordStatus )變?yōu)閳?zhí)行失?。‵ailed)。
- 對(duì)于定時(shí)執(zhí)行:
- 定時(shí)執(zhí)行的超時(shí)時(shí)間對(duì)每一次執(zhí)行記錄均有效。
- 某次執(zhí)行超時(shí)后,該次執(zhí)行記錄的狀態(tài)( InvokeRecordStatus )變?yōu)閳?zhí)行失?。‵ailed)。
- 上次執(zhí)行超時(shí)與否不影響下一次執(zhí)行。
- 在一個(gè)地域下,您最多可以保有 500~50,000 條云助手命令,您也可以申請(qǐng)?zhí)嵘漕~,關(guān)于如何查詢及提升配額,請(qǐng)參見配額管理。
- 您可以通過指定參數(shù) WorkingDir 為命令指定執(zhí)行路徑。對(duì)于 Linux 實(shí)例,默認(rèn)在管理員 root 用戶的 home 目錄下,具體為
/root
目錄。對(duì)于 Windows 實(shí)例,默認(rèn)在云助手 Agent 進(jìn)程所在目錄,例如:C:\Windows\System32
。 - 您可以通過指定參數(shù) EnableParameter=true 啟用自定義參數(shù)功能。在設(shè)置 CommandContent 時(shí)可以通過{{parameter}}的形式表示自定義參數(shù),并在運(yùn)行命令( InvokeCommand )時(shí),傳入自定義參數(shù)鍵值對(duì)。例如,您在創(chuàng)建命令時(shí),創(chuàng)建了
echo {{name}}
命令,在 InvokeCommand 時(shí),通過 Parameters 參數(shù)傳入鍵值對(duì)<name, Jack>
。則自定義參數(shù)將自動(dòng)替換命令,您會(huì)得到一條新的命令,并在實(shí)例中執(zhí)行echo Jack
。
調(diào)試
您可以在OpenAPI Explorer中直接運(yùn)行該接口,免去您計(jì)算簽名的困擾。運(yùn)行成功后,OpenAPI Explorer可以自動(dòng)生成SDK代碼示例。
授權(quán)信息
下表是API對(duì)應(yīng)的授權(quán)信息,可以在RAM權(quán)限策略語句的Action
元素中使用,用來給RAM用戶或RAM角色授予調(diào)用此API的權(quán)限。具體說明如下:
- 操作:是指具體的權(quán)限點(diǎn)。
- 訪問級(jí)別:是指每個(gè)操作的訪問級(jí)別,取值為寫入(Write)、讀取(Read)或列出(List)。
- 資源類型:是指操作中支持授權(quán)的資源類型。具體說明如下:
- 對(duì)于必選的資源類型,用背景高亮的方式表示。
- 對(duì)于不支持資源級(jí)授權(quán)的操作,用
全部資源
表示。
- 條件關(guān)鍵字:是指云產(chǎn)品自身定義的條件關(guān)鍵字。
- 關(guān)聯(lián)操作:是指成功執(zhí)行操作所需要的其他權(quán)限。操作者必須同時(shí)具備關(guān)聯(lián)操作的權(quán)限,操作才能成功。
操作 | 訪問級(jí)別 | 資源類型 | 條件關(guān)鍵字 | 關(guān)聯(lián)操作 |
---|---|---|---|---|
ecs:CreateCommand | create |
|
| 無 |
請(qǐng)求參數(shù)
名稱 | 類型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
RegionId | string | 是 | 地域 ID。您可以調(diào)用 DescribeRegions 查看最新的阿里云地域列表。 | cn-hangzhou |
Name | string | 是 | 命令名稱,支持全字符集。長度不得超過 128 個(gè)字符。 | testName |
Description | string | 否 | 命令描述,支持全字符集。長度不得超過 512 個(gè)字符。 | testDescription |
Type | string | 是 | 命令的類型。取值范圍:
| RunShellScript |
CommandContent | string | 是 | 命令 Base64 編碼后的內(nèi)容。
| ZWNobyAxMjM= |
WorkingDir | string | 否 | 您創(chuàng)建的命令在 ECS 實(shí)例中運(yùn)行的目錄。長度不得超過 200 個(gè)字符。 默認(rèn)值:
說明
設(shè)置為其他目錄時(shí),請(qǐng)確保實(shí)例中存在該目錄。
| /home/user |
Timeout | long | 否 | 您創(chuàng)建的命令在 ECS 實(shí)例中執(zhí)行時(shí)最大的超時(shí)時(shí)間,單位為秒。當(dāng)因?yàn)槟撤N原因無法運(yùn)行您創(chuàng)建的命令時(shí),會(huì)出現(xiàn)超時(shí)現(xiàn)象。超時(shí)后,會(huì)強(qiáng)制終止命令進(jìn)程,即取消命令的 PID。 默認(rèn)值:60。 | 60 |
EnableParameter | boolean | 否 | 創(chuàng)建的命令是否使用自定義參數(shù)。 默認(rèn)值:false。 | false |
ContentEncoding | string | 否 | 命令內(nèi)容(CommandContent)的編碼方式。取值范圍:
默認(rèn)值:Base64。 說明
錯(cuò)填該取值會(huì)當(dāng)作 Base64 處理。
| PlainText |
ResourceGroupId | string | 否 | 命令所屬的資源組 ID。 | rg-123****** |
Tag | array<object> | 否 | 標(biāo)簽列表。 | |
object | 否 | 標(biāo)簽列表。 | ||
Key | string | 否 | 命令的標(biāo)簽鍵。N 的取值范圍為 1~20。一旦傳入該值,則不允許為空字符串。 使用一個(gè)標(biāo)簽過濾資源,查詢到該標(biāo)簽下的資源數(shù)量不能超過 1000 個(gè)。使用多個(gè)標(biāo)簽過濾資源,查詢到同時(shí)綁定了多個(gè)標(biāo)簽的資源數(shù)量不能超過 1000 個(gè)。如果資源數(shù)量超過 1000 個(gè),您需要使用 ListTagResources 接口進(jìn)行查詢。 最多支持 64 個(gè)字符,不能以 | TestKey |
Value | string | 否 | 命令的標(biāo)簽值。N 的取值范圍為 1~20。該值可以為空字符串。 最多支持 128 個(gè)字符,不能包含 | TestValue |
返回參數(shù)
示例
正常返回示例
JSON
格式
{
"CommandId": "c-7d2a745b412b4601b2d47f6a768d****",
"RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
}
錯(cuò)誤碼
HTTP status code | 錯(cuò)誤碼 | 錯(cuò)誤信息 | 描述 |
---|---|---|---|
400 | RegionId.ApiNotSupported | The api is not supported in this region. | 指定地域下不支持調(diào)用 API。請(qǐng)檢查 RegionId 參數(shù)取值是否正確。 |
400 | CmdParam.EmptyKey | You must specify the parameter names. | 請(qǐng)檢查您的參數(shù)是否完整,是否有參數(shù)名未填寫的情況。 |
400 | CmdParam.InvalidParamName | Invalid parameter name. The name can contain only lowercase letters (a to z), uppercase letters (A to Z), numbers (0 to 9), hyphens (-), and underscores (_). | 自定義參數(shù)的參數(shù)名無效,只允許 a-zA-Z0-9-_ 的組合。 |
400 | CmdContent.DecodeError | The CommandContent can not be base64 decoded. | 命令內(nèi)容無法通過Base64解碼。 |
400 | InvalidParameter.WorkingDir | The specified parameter WorkingDir is not valid. | 指定的參數(shù)WorkingDir不合法。 |
403 | CmdContent.ExceedLimit | The length of the command content exceeds the upper limit. | 命令內(nèi)容長度超過上限。 |
403 | CmdName.ExceedLimit | The length of the command name exceeds the upper limit. | 命令名稱長度超過上限。 |
403 | CmdDesc.ExceedLimit | The length of the command description exceeds the upper limit. | 命令描述長度超過上限。 |
403 | CmdCount.ExceedQuota | The total number of commands in the current region exceeds the quota. | 當(dāng)前地域下的云助手命令數(shù)量已超出限制。 |
403 | CmdParamCount.ExceedLimit | The maximum number of custom parameters is exceeded. | 參數(shù)數(shù)量超出最大可設(shè)置數(shù)量。 |
403 | CmdParamName.ExceedLimit | The maximum length of a parameter name is exceeded. | 您的自定義參數(shù)的參數(shù)名長度超過限制。 |
403 | Operation.Forbidden | The operation is not permitted. | 該操作是不被允許的。 |
403 | InvalidStatus.ResourceGroup | You cannot perform an operation on a resource group that is being created or deleted. | 資源組正在創(chuàng)建或刪除時(shí)不允許操作。 |
403 | InvalidParameterCharacter.CommandName | The command Name contains illegal characters. | 命令名稱包含非法字符。 |
403 | InvalidParameterCharacter.CommandDescription | The command Description contains illegal characters. | 命令描述包含非法字符。 |
403 | InvalidParameterCharacter.CommandWorkingDir | The command WorkingDir contains illegal characters. | 命令執(zhí)行路徑包含非法字符。 |
404 | InvalidCmdType.NotFound | The specified command type does not exist. | 指定的命令類型不存在。 |
404 | InvalidRegionId.NotFound | The RegionId provided does not exist in our records. | 提供的RegionId不存在 |
404 | InvalidResourceGroup.NotFound | The ResourceGroup provided does not exist in our records. | 資源組并不在記錄中。 |
500 | InternalError.Dispatch | An error occurred when you dispatched the request. | 發(fā)送請(qǐng)求時(shí)發(fā)生錯(cuò)誤,請(qǐng)稍后重試。 |
訪問錯(cuò)誤中心查看更多錯(cuò)誤碼。
變更歷史
變更時(shí)間 | 變更內(nèi)容概要 | 操作 |
---|---|---|
2024-05-11 | OpenAPI 錯(cuò)誤碼發(fā)生變更 | 查看變更詳情 |
2023-10-24 | OpenAPI 錯(cuò)誤碼發(fā)生變更、OpenAPI 入?yún)l(fā)生變更 | 查看變更詳情 |
2023-05-12 | OpenAPI 錯(cuò)誤碼發(fā)生變更 | 查看變更詳情 |
2022-02-25 | OpenAPI 錯(cuò)誤碼發(fā)生變更 | 查看變更詳情 |