ALIYUN::ECS::Invocation类型用于为一台或多台ECS实例触发一条云助手命令。
语法
{
"Type": "ALIYUN::ECS::Invocation",
"Properties": {
"Timed": Boolean,
"Frequency": String,
"CommandId": String,
"Parameters": Map,
"InstanceIds": List,
"Sync": Boolean
}
}
属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
---|---|---|---|---|---|
Timed | Boolean | 否 | 否 | 命令是否为周期执行。 | 取值:
|
Frequency | String | 否 | 否 | 周期任务的执行周期。该参数值结构以Cron 表达式为准。 | 两次周期任务的时间间隔不能低于10秒。当Timed的值为true时,Frequency必填。 |
CommandId | String | 是 | 是 | 命令ID。 | 无 |
InstanceIds | List | 是 | 是 | 执行命令的实例列表。 | 最多能指定20台实例ID。 |
Parameters | Map | 否 | 是 | 启用自定义参数功能时,执行命令时传入的自定义参数的键值对。示例值:{"name": "Jack", "accessKey": "LTAIdyv******aRY"} 。 |
自定义参数的取值范围:0~10。 Map的键不允许为空字符串,最多支持64个字符。Map的值允许为空字符串。 自定义参数与原始命令内容在Base64编码后,综合长度不能超过16KB。 设置的自定义参数名集合必须为创建命令时定义的参数集的子集。对于未传入的参数,您可以使用空字符串代替。 |
Sync | Boolean | 否 | 否 | 是否同步调用。 | 取值:
|
返回值
Fn::GetAtt
InvokeId:命令进程执行ID。
InvokeInstances:执行命令的实例列表。
说明 如果您只需要执行一次性命令,请参见
ALIYUN::ECS::RunCommand。
示例
JSON
格式{ "ROSTemplateFormatVersion": "2015-09-01", "Parameters": { "CommandId": { "Type": "String", "Description": "The id of command." }, "InstanceId": { "Type": "String", "AssociationProperty": "ALIYUN::ECS::Instance::InstanceId" } }, "Resources": { "Invocation": { "Type": "ALIYUN::ECS::Invocation", "Properties": { "CommandId": { "Ref": "CommandId" }, "InstanceIds": [ { "Ref": "InstanceId" } ] } } }, "Outputs": { "InvokeId": { "Description": "The id of command execution.", "Value": { "Fn::GetAtt": [ "Invocation", "InvokeId" ] } } } }