すべてのプロダクト
Search
ドキュメントセンター

Resource Orchestration Service:ALIYUN::ECS::Command

最終更新日:Apr 23, 2025

ALIYUN::ECS::Command は、Cloud Assistant コマンドを作成するために使用されます。

構文

{
  "Type": "ALIYUN::ECS::Command",
  "Properties": {
    "Name": String,
    "WorkingDir": String,
    "CommandContent": String,
    "Timeout": Integer,
    "Type": String,
    "Description": String,
    "EnableParameter": Boolean,
    "Tags": List,
    "Launcher": String
    "ResourceGroupId": String,
    "ContentEncoding": String
  }
}

プロパティ

プロパティ

種類

必須

編集可能

説明

制約

Name

String

いいえ

はい

コマンド名。

コマンド名は 1 ~ 128 文字である必要があります。すべての文字セットがサポートされています。

WorkingDir

String

いいえ

はい

Elastic Compute Service (ECS) インスタンス上のコマンドの作業ディレクトリ。

デフォルト値:

  • Linux インスタンスの場合、デフォルト値は /root で、これは root ユーザーのホームディレクトリです。

  • Windows インスタンスの場合、デフォルト値は クラウドアシスタントクライアント のプロセスが存在するディレクトリです(例:C:\Windows\System32)。

説明

WorkingDir をデフォルト以外の値に設定する場合は、インスタンス上にディレクトリが存在することを確認してください。

CommandContent

String

いいえ

いいえ

Base64 でエンコードされたコマンドのコンテンツ。

  • このプロパティの値は Base64 でエンコードする必要があり、サイズは最大 18 KB です。

  • コマンドコンテンツでカスタムパラメーターを使用できます。カスタムパラメーター機能を有効にするには、EnableParameter を true に設定する必要があります。

    • カスタムパラメーターは {{}} 形式で定義されます。{{}} 内では、パラメーター名の前後にあるスペースと改行は無視されます。

    • 最大 20 個のカスタムパラメーターを指定できます。

    • カスタムパラメーター名には、英字、数字、ハイフン(-)、およびアンダースコア(_)のみを含めることができます。名前は大文字と小文字を区別しません。ACS:: プレフィックスを使用して組み込み以外の環境パラメーターを指定することはできません。

    • 各カスタムパラメーター名は最大 64 バイトの長さにすることができます。

  • コマンドで組み込みの環境パラメーターをカスタムパラメーターとして指定できます。コマンドを実行すると、クラウドアシスタント はカスタムパラメーターに環境パラメーター値を自動的に使用します。次の組み込み環境変数を指定できます。

    • {{ACS::RegionId}}:リージョン ID。

    • {{ACS::AccountId}}:Alibaba Cloud アカウントの一意の識別子(UID)。

    • {{ACS::InstanceId}}: インスタンス ID。複数インスタンスでコマンドを実行する際に {{ACS::InstanceId}} を組み込み環境変数として指定する場合、Cloud Assistant Agent のバージョンが以下のバージョン以降であることを確認してください。

      • Linux: 2.2.3.309

      • Windows: 2.1.3.309

    • {{ACS::InstanceName}}: インスタンス名です。複数インスタンスでコマンドを実行する際に {{ACS::InstanceName}} を組み込み環境変数として指定する場合、クラウドアシスタントクライアントのバージョンが以下のバージョン以降であることを確認してください。

      • Linux: 2.2.3.344

      • Windows: 2.1.3.344

    • {{ACS::InvokeId}}: コマンド タスクの ID です。 {{ACS::InvokeId}} を組み込み環境変数として指定する場合、クラウドアシスタントクライアントのバージョンが次のバージョン以降であることを確認してください。

      • Linux: 2.2.3.309

      • Windows: 2.1.3.309

    • {{ACS::CommandId}}: コマンド ID です。[RunCommand] 操作を呼び出してコマンドを実行するときに、{{ACS::CommandId}} を組み込み環境変数として指定する場合、クラウドアシスタントクライアントのバージョンが次のバージョン以降であることを確認してください。

      • Linux: 2.2.3.309

      • Windows: 2.1.3.309

Launcher

String

いいえ

いいえ

スクリプト実行のランチャー。

値のサイズは最大 1 KB です。

Timeout

Integer

いいえ

はい

ECS インスタンスでコマンドを実行するためのタイムアウト期間。

指定された期間内にコマンドが実行に失敗した場合、コマンドはタイムアウトします。コマンドの実行がタイムアウトすると、クラウドアシスタントクライアント はプロセス ID(PID)をキャンセルすることでコマンドプロセスを強制終了します。

デフォルト値:60。

単位:秒。

Type

String

はい

いいえ

コマンドの種類。

有効な値:

  • RunBatScript:バッチコマンド。バッチコマンドは Windows インスタンスに適用できます。

  • RunPowerShellScript:PowerShell コマンド。PowerShell コマンドは Windows インスタンスに適用できます。

  • RunShellScript:シェルコマンド。シェルコマンドは Linux インスタンスに適用できます。

Description

String

いいえ

はい

コマンドの説明。

説明は 1 ~ 512 文字である必要があります。すべての文字セットがサポートされています。

EnableParameter

Boolean

いいえ

いいえ

コマンドでカスタムパラメーターを使用するかどうかを指定します。

有効な値:

  • true

  • false (デフォルト)

Tags

List

いいえ

いいえ

タグ。最大 20 個のタグを追加できます。

詳細については、「タグのプロパティ」をご参照ください。

ContentEncoding

String

いいえ

いいえ

コマンドコンテンツのエンコードモード。

有効な値:

  • PlainText:コマンドコンテンツをエンコードしません。

  • Base64(デフォルト):コマンドコンテンツを Base64 でエンコードします。

説明

無効な値を指定した場合、このプロパティには Base64 が使用されます。

ResourceGroupId

String

いいえ

はい

コマンドが属するリソースグループの ID。

なし。

タグの構文

"Tags": [
  {
    "Key": String,
    "Value": String
  }
]

タグのプロパティ

プロパティ

種類

必須

編集可能

説明

制約

Key

String

はい

いいえ

タグキー。

タグキーは 1 ~ 128 文字である必要があり、http:// または https:// を含めることはできません。aliyun または acs: で始めることはできません。

Value

String

いいえ

いいえ

タグ値。

タグ値は最大 128 文字で、http:// または https:// を含めることはできません。aliyun または acs: で始めることはできません。

戻り値

Fn::GetAtt

CommandId:コマンド ID。

説明

コマンドは 1 回だけ実行できます。詳細については、「ALIYUN::ECS::RunCommand」をご参照ください。

YAML 形式

ROSTemplateFormatVersion: '2015-09-01'
Parameters: {}
Resources:
  Command:
    Type: ALIYUN::ECS::Command
    Properties:
      CommandContent:
        Fn::Base64Encode: |
          #!/bin/bash
          echo "hello" >> /root/test.sh  # "hello" を /root/test.sh に追加
      Type: RunShellScript
      Name:
        Ref: ALIYUN::StackName
Outputs:
  CommandId:
    Description: 作成されたコマンドの ID。
    Value:
      Fn::GetAtt:
        - Command
        - CommandId

JSON 形式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
  },
  "Resources": {
    "Command": {
      "Type": "ALIYUN::ECS::Command",
      "Properties": {
        "CommandContent": {
          "Fn::Base64Encode": "#!/bin/bash\necho \"hello\" >> /root/test.sh\n" // "hello" を /root/test.sh に追加
        },
        "Type": "RunShellScript",
        "Name": {
          "Ref": "ALIYUN::StackName"
        }
      }
    }
  },
  "Outputs": {
    "CommandId": {
      "Description": "作成されたコマンドの ID。",
      "Value": {
        "Fn::GetAtt": [
          "Command",
          "CommandId"
        ]
      }
    }
  }
}