ALIYUN::ECS::RunCommand
ALIYUN::ECS::RunCommand类型用于在一台或多台ECS实例中执行一段Shell、PowerShell或者Bat类型的脚本。
语法
{
"Type": "ALIYUN::ECS::RunCommand",
"Properties": {
"Parameters": Map,
"Description": String,
"Timeout": Integer,
"Timed": Boolean,
"ContentEncoding": String,
"Name": String,
"WorkingDir": String,
"CommandContent": String,
"Type": String,
"Frequency": String,
"EnableParameter": Boolean,
"InstanceIds": List,
"KeepCommand": Boolean,
"Sync": Boolean
}
}
属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Parameters | Map | 否 | 是 | 脚本中包含自定义参数时,执行脚本时指定的自定义参数的键值对。例如:脚本内容为echo {{name}},则可以通过Parameters参数指定键值对{"name":"Jack"}。自定义参数将自动替换变量值name,得到一条新的脚本,实际执行的是echo Jack。 | 最多支持10个自定义参数。 键不允许为空字符串,最多支持64个字符。 值允许为空字符串。 自定义参数与原始脚本内容在Base64编码后,综合长度不能超过16KB。 设置的自定义参数名集合必须为创建脚本时定义的参数集的子集。 对于未指定的参数,您可以使用空字符串代替。 |
Description | String | 否 | 否 | 脚本描述。 | 支持全字符集,长度不超过512个字符。 |
Timeout | Integer | 否 | 是 | 执行脚本的超时时间。 | 单位:秒。 默认值:60。 当因为进程原因、缺失模块、缺失云助手客户端等原因无法运行脚本时,会出现超时现象。超时后,会强制终止脚本进程。 |
Timed | Boolean | 否 | 否 | 是否周期执行脚本。 | 取值:
|
ContentEncoding | String | 否 | 是 | 脚本内容(CommandContent)的编码方式。 | 取值:
说明 当您错填该值,则会被当作Base64处理。 |
Name | String | 否 | 否 | 脚本名称。 | 支持全字符集,长度不超过128个字符。 |
WorkingDir | String | 否 | 是 | 脚本在ECS实例中的运行目录。 | 默认值:
|
CommandContent | String | 是 | 是 | 脚本的明文内容或者Base64编码后的内容。 | 脚本内容Base64编码后不能超过16KB。 EnableParameter取值为true时,可以在脚本内容中启用自定义参数功能:自定义参数写作两个大括号({{}})中,在两个大括号({{}})内参数名前后的空格以及换行符会被忽略。 自定义参数个数不能超过20个。自定义参数名可包含英文字母、数字、短划线(-)和下划线(_)。 单个自定义参数名不能超过64个字符。 |
Type | String | 是 | 是 | 运维脚本的语言类型。 | 取值:
|
Frequency | String | 否 | 否 | 周期任务的执行周期。 | 当参数Timed取值为true时,参数Frequency为必选参数。两次周期任务的时间间隔不能低于10秒。 该参数取值详情请参见Cron表达式。 |
EnableParameter | Boolean | 否 | 是 | 脚本中是否包含自定义参数。 | 取值:
|
InstanceIds | List | 是 | 是 | ECS实例ID列表。 | 最多指定20台ECS实例,且ECS实例的状态必须是运行中。 |
KeepCommand | Boolean | 否 | 否 | 执行完该脚本后是否保留。 | 取值:
|
Sync | Boolean | 否 | 否 | 是否同步调用。 | 取值:
|
返回值
Fn::GetAtt
CommandId:脚本ID。
InvokeId:脚本执行ID。
InvokeInstances:执行命令的实例列表。
InvokeResults:执行命令的结果。