ALIYUN::ECS::Invocation は、Elastic Compute Service (ECS) インスタンスでクラウドアシスタントコマンドを実行するために使用されます。
構文
{
"Type": "ALIYUN::ECS::Invocation",
"Properties": {
"Frequency": String,
"CommandId": String,
"Parameters": Map,
"InstanceIds": List,
"Sync": Boolean,
"CommandName": String,
"WindowsPasswordName": String,
"Timeout": Integer,
"RepeatMode": String,
"ResourceGroupId": String,
"ContainerName": String,
"ContainerId": String,
"Username": String,
"Tags": List
}
}
プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
Frequency | String | いいえ | いいえ | コマンドが実行されるスケジュール。 値の構造については、Cron 式をご参照ください。 | なし |
CommandId | String | いいえ | はい | コマンド ID。 | なし |
InstanceIds | List | はい | はい | コマンドを実行する ECS インスタンスの ID。 | 最大 20 個のインスタンス ID を指定できます。 |
Parameters | Map | いいえ | はい | カスタムパラメータ機能が有効になっている場合に、コマンドに渡すカスタムパラメータのキーと値のペア。 例: {"name": "Jack", "accessKey": "LTAIdyv******aRY"} 。 | 最大 10 個のカスタムパラメータを指定できます。 Map コレクションの各キーは空の文字列にすることはできず、最大 64 文字の長さにすることができます。 Map コレクションの各値は空の文字列にすることができます。 カスタムパラメータと元のコマンドコンテンツが Base64 エンコードされた後、合計サイズは 16 KB を超えることはできません。 カスタムパラメータ名のセットは、コマンドを作成するときに指定するパラメータセットのサブセットである必要があります。 渡されないパラメータを表すために、空の文字列を使用できます。 |
Sync | Boolean | いいえ | いいえ | コマンドを同期的に実行するかどうかを指定します。 | 有効な値: |
CommandName | String | いいえ | いいえ | コマンド名。 | なし |
WindowsPasswordName | String | いいえ | いいえ | Windows インスタンスでコマンドを実行するために使用するパスワードのユーザー名。 | 名前は最大 255 文字の長さにすることができます。 Windows インスタンスでデフォルトの System ユーザーを使用してコマンドを実行したくない場合は、WindowsPasswordName プロパティと Username プロパティを指定します。 パスワードリークのリスクを軽減するために、パスワードは CloudOps Orchestration Service (OOS) のパラメータリポジトリにプレーンテキストでホストされています。 WindowsPasswordName プロパティを使用して渡されるのは、パスワードのユーザー名のみです。 詳細については、「暗号化パラメータ」および「標準ユーザーとしてクラウドアシスタントコマンドを実行する」をご参照ください。
説明 Linux インスタンスの root ユーザーまたは Windows インスタンスの System ユーザーを使用してコマンドを実行する場合は、WindowsPasswordName プロパティを指定する必要はありません。 |
Timeout | Integer | いいえ | はい | コマンド実行のタイムアウト期間。 単位: 秒。 | このプロパティを指定する場合は、次の項目に注意してください。 タイムアウト期間は 10 秒未満にすることはできません。 プロセスの速度が低下したため、または特定のモジュールまたはクラウドアシスタントエージェントが存在しないためにコマンドを実行できない場合は、タイムアウトエラーが発生します。 指定されたタイムアウト期間が終了すると、コマンドプロセスは強制的に終了されます。 このプロパティを指定しない場合は、コマンドの作成時に指定されたタイムアウト期間が使用されます。 このタイムアウト期間は、実行にのみ適用されます。 コマンドのタイムアウト期間は変更されません。
|
RepeatMode | String | いいえ | いいえ | コマンドを実行するモード。 | 有効な値: Once: コマンドをすぐに実行します。 Period: コマンドを定期的に実行します。 このプロパティを Period に設定する場合は、Frequency プロパティも指定する必要があります。 NextRebootOnly: インスタンスが次回起動されたときにコマンドを実行します。 EveryReboot: インスタンスが起動されるたびにコマンドを実行します。
デフォルト値: このプロパティを指定する場合は、次の項目に注意してください。 |
ResourceGroupId | String | いいえ | いいえ | リソースグループの ID。 | このプロパティを指定する場合は、次の項目に注意してください。 |
ContainerName | String | いいえ | いいえ | コンテナ名。 | このプロパティを指定する場合は、次の項目に注意してください。 このプロパティを指定すると、クラウドアシスタントはインスタンス上の指定されたコンテナでスクリプトを実行します。 このプロパティを指定する場合は、クラウドアシスタントエージェントがインストールされている Linux インスタンスでのみスクリプトを実行できます。 クラウドアシスタントエージェントのバージョンは 2.2.3.344 以降である必要があります。 このプロパティを指定する場合、この操作を呼び出すリクエストで指定された Username と、CreateCommand 操作を呼び出すリクエストで指定された WorkingDir は有効になりません。 コンテナのデフォルトユーザーを使用して、コンテナのデフォルトの作業ディレクトリでのみコマンドを実行できます。 詳細については、「クラウドアシスタントを使用してコンテナでコマンドを実行する」をご参照ください。 このプロパティを指定する場合は、Linux コンテナでシェルスクリプトのみを実行できます。 スクリプトの先頭に #!/usr/bin/python のような形式のコマンドを追加して、スクリプトインタプリタを指定することはできません。 詳細については、「クラウドアシスタントを使用してコンテナでコマンドを実行する」をご参照ください。
|
ContainerId | String | いいえ | いいえ | コンテナ ID。 | 64 ビットの 16 進数文字列のみがサポートされています。 docker:// 、containerd:// 、または cri-o:// というプレフィックスが付いたコンテナ ID を使用して、コンテナランタイムを指定できます。 このプロパティを指定する場合は、次の項目に注意してください。 このプロパティを指定すると、クラウドアシスタントはインスタンス上の指定されたコンテナでスクリプトを実行します。 このプロパティを指定する場合は、クラウドアシスタントエージェントがインストールされている Linux インスタンスでのみスクリプトを実行できます。 クラウドアシスタントエージェントのバージョンは 2.2.3.344 以降である必要があります。 このプロパティを指定する場合、この操作を呼び出すリクエストで指定された Username と、CreateCommand 操作を呼び出すリクエストで指定された WorkingDir は有効になりません。 コンテナのデフォルトユーザーを使用して、コンテナのデフォルトの作業ディレクトリでのみコマンドを実行できます。 詳細については、「クラウドアシスタントを使用してコンテナでコマンドを実行する」をご参照ください。 このプロパティを指定する場合は、Linux コンテナでシェルスクリプトのみを実行できます。 スクリプトの先頭に #!/usr/bin/python のような形式のコマンドを追加して、スクリプトインタプリタを指定することはできません。 詳細については、「クラウドアシスタントを使用してコンテナでコマンドを実行する」をご参照ください。
|
Username | String | いいえ | いいえ | インスタンスでコマンドを実行するために使用するユーザー名。 | ユーザー名は最大 255 文字の長さにすることができます。 コマンドを実行するために、インスタンスに既に存在する他のユーザー名を指定することもできます。 セキュリティ上の理由から、クラウドアシスタントコマンドは標準ユーザーとして実行することをお勧めします。 詳細については、「標準ユーザーとしてクラウドアシスタントコマンドを実行する」をご参照ください。 |
Tags | List | いいえ | いいえ | タグ。 | 次の形式で最大 20 個のタグを指定できます: [{"Key":"tagKey","Value":"tagValue"},{"Key":"tagKey2","Value":"tagValue2"}] 。 詳細については、「タグのプロパティ」をご参照ください。 |
タグの構文
"Tags": [
{
"Value": String,
"Key": String
}
]
タグのプロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
Key | String | はい | いいえ | タグキー。 | タグキーは 1 ~ 128 文字の長さで、http:// または https:// を含めることはできません。 aliyun または acs: で始めることはできません。 |
Value | String | いいえ | いいえ | タグ値。 | タグ値は最大 128 文字の長さで、http:// または https:// を含めることはできません。 aliyun または acs: で始めることはできません。 |
例
YAML
形式
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
CommandId:
Type: String
Description: コマンドの ID。
InstanceId:
Type: String
AssociationProperty: ALIYUN::ECS::Instance::InstanceId
Resources:
Invocation:
Type: ALIYUN::ECS::Invocation
Properties:
CommandId:
Ref: CommandId
InstanceIds:
- Ref: InstanceId
Outputs:
InvokeId:
Description: コマンド実行の ID。
Value:
Fn::GetAtt:
- Invocation
- InvokeId
JSON
形式
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"CommandId": {
"Type": "String",
"Description": "コマンドの ID。"
},
"InstanceId": {
"Type": "String",
"AssociationProperty": "ALIYUN::ECS::Instance::InstanceId"
}
},
"Resources": {
"Invocation": {
"Type": "ALIYUN::ECS::Invocation",
"Properties": {
"CommandId": {
"Ref": "CommandId"
},
"InstanceIds": [
{
"Ref": "InstanceId"
}
]
}
}
},
"Outputs": {
"InvokeId": {
"Description": "コマンド実行の ID。",
"Value": {
"Fn::GetAtt": [
"Invocation",
"InvokeId"
]
}
}
}
}