同じことではまらないようにするための備忘録。
TL; DR
SSM.sendCommand で実行タイムアウトを設定する場合はこうする。
params.js
const params = {
InstanceIds: [ "instance_id" ],
DocumentName: "AWS-RunShellScript",
Parameters: {
"commands": [
"hoge", // コマンド1
"foo", // コマンド2
...
],
"executionTimeout": ["86400"] // これも Array !!
},
};
何が問題か
AWSのドキュメントでは、commands
のタイプは StringList
で executionTimeout
のタイプは String
となっている。
AWS Systems Manager - Documents ドキュメント名: AWS-RunShellScript
だから、素直に考えると、以下のようなコードを書いてしまう。
paramsWrong.js
const params = {
InstanceIds: [ "instance_id" ],
DocumentName: "AWS-RunShellScript",
Parameters: {
"commands": [
"hoge", // コマンド1
"foo", // コマンド2
...
],
"executionTimeout": "86400" // 普通のString
},
};