ALIYUN::ECS::Invocation类型用于为一台或多台ECS实例触发一条云助手命令。

语法

{
  "Type": "ALIYUN::ECS::Invocation",
  "Properties": {
    "Timed": Boolean,
    "Frequency": String,
    "CommandId": String,
    "Parameters": Map,
    "InstanceIds": List,
    "Sync": Boolean
  }
}

属性

属性名称 类型 必须 允许更新 描述 约束
Timed Boolean 命令是否为周期执行。 取值:
  • true
  • false(默认值)
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 是否同步调用。 取值:
  • true:同步调用。
  • false:异步调用。

返回值

Fn::GetAtt

InvokeId:命令进程执行ID。

InvokeInstances:执行命令的实例列表。

说明 如果您只需要执行一次性命令,请参见 ALIYUN::ECS::RunCommand

示例

  • YAML格式

    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                   
  • 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"
            ]
          }
        }
      }
    }