目的
ACS::TimerTrigger 操作を使用すると、スケジュールに従って O&M 操作を実行できます。実行が開始されると、CloudOps Orchestration Service(OOS)は、指定された時刻になるまで実行の状態を待機中に設定します。タスクが完了すると、実行の状態は再び待機中に変更されます。
制限
ACS::TimerTrigger 操作には、次の制限があります。
テンプレートでは、1 つの ACS::TimerTrigger 操作のみ使用できます。
ACS::TimerTrigger 操作が存在するタスクは、テンプレートの Tasks パラメーターの最初のタスクとして定義する必要があります。
子テンプレートで ACS::TimerTrigger 操作を使用することはできません。
構文
YAML 形式
Tasks:
- Name: timerTask # タスク名。
Action: ACS::TimerTrigger
Properties:
Type: cron #必須。時間のタイプ。有効な値:rate、cron、および at。
Expression: '0 * * ? * *' # 必須。Cron 式、日時式、またはレート式で記録される時間の式。デフォルトでは、Cron 式で指定された時間は UTC を基準に計算されます。
TimeZone: 'Asia/Shanghai' # オプション。選択した時間のタイムゾーン。デフォルト値:UTC。
EndDate: '2020-12-29T09:19:30Z' # 必須。YYYY-MM-DD または YYYY-MM-DDThh:mm:ssZ 形式の終了時刻。時間は UTC である必要があります。
JSON 形式(詳細については、YAML 形式のパラメーターの説明をご参照ください。)
{
"Tasks": [
{
"Name": "timerTask",
"Action": "ACS::TimerTrigger",
"Properties": {
"Type": "cron",
"Expression": "0 * * ? * *",
"EndDate": "2020-12-29T09:19:30Z",
"TimeZone": "Asia/Shanghai"
}
}
]
}フローチャート
説明:
実行を作成すると、親実行の状態は待機中に変更されます。
指定された時刻になると、親実行の状態は実行中に変更されます。同時に、親実行は自動的に子実行を作成します。子実行は親実行と同じテンプレートとパラメーターを使用しますが、トリガー操作をスキップして後続のタスクを直接実行します。
子実行が完了し、その状態が成功、失敗、キャンセルなどの最終状態に変更されると、親実行の状態は再び待機中に変更されます。次に指定された時刻になると、親実行は指定された終了時刻になるまで前の手順を繰り返します。
終了時刻になると、親実行は完了します。親実行の状態は待機中から成功に変更されます。
一般的な実行をキャンセルする場合と同様に、親実行または子実行をキャンセルできます。キャンセルされた実行の状態はキャンセル済みに変更されます。
例
cron タイプ
YAML 形式
FormatVersion: OOS-2019-06-01
Description: ECS インスタンスを再起動するようにスケジュールします。
Tasks:
- Name: timer
Action: ACS::TimerTrigger
Properties:
Type: cron
Expression: "0 * * ? * *"
EndDate: 2020-12-20T00:00:00Z
- Name: rebootInstance
Action: ACS::ECS::RebootInstance
Properties:
InstanceId: "i-xxxxx"JSON 形式
{
"FormatVersion": "OOS-2019-06-01",
"Description": "ECS インスタンスを再起動するようにスケジュールします。",
"Tasks": [
{
"Name": "timer",
"Action": "ACS::TimerTrigger",
"Properties": {
"Type": "cron",
"Expression": "0 * * ? * *",
"EndDate": "2020-12-20 00:00:00 UTC"
}
},
{
"Name": "rebootInstance",
"Action": "ACS::ECS::RebootInstance",
"Properties": {
"InstanceId": "i-xxxxx"
}
}
]
}at タイプ
YAML 形式
FormatVersion: OOS-2019-06-01
Description: ECS インスタンスを再起動するようにスケジュールします。
Tasks:
- Name: timer
Action: ACS::TimerTrigger
Properties:
Type: at
Expression: '2020-02-29T09:17:35Z'
EndDate: 2020-12-20T00:00:00Z
- Name: rebootInstance
Action: ACS::ECS::RebootInstance
Properties:
InstanceId: "i-xxxxx"JSON 形式
{
"FormatVersion": "OOS-2019-06-01",
"Description": "ECS インスタンスを再起動するようにスケジュールします。",
"Tasks": [
{
"Name": "timer",
"Action": "ACS::TimerTrigger",
"Properties": {
"Type": "at",
"Expression": "2020-02-29T09:17:35Z",
"EndDate": "2020-12-20T00:00:00.000Z"
}
},
{
"Name": "rebootInstance",
"Action": "ACS::ECS::RebootInstance",
"Properties": {
"InstanceId": "i-xxxxx"
}
}
]
}