Template name
ACS-ECS-ScheduleToRebootInstances: Schedules the restart of ECS instances
Template description
This template schedules Elastic Compute Service (ECS) instances for restart. It is useful for regular management tasks, such as system maintenance and updates. During configuration, you must provide the region ID (regionId), a cron expression (cron), and the target instances (targets). The template then periodically restarts the specified ECS instances according to the schedule.
Template type
Automated
Owner
Alibaba Cloud
Input parameters
Parameter | Description | Type | Required | Default value | Limit |
endDate | The end time of the scheduled task. | String | Yes | ||
targets | Target instance | Json | Yes | ||
regionId | The region ID. | String | No | {{ ACS::RegionId }} | |
cron | The CRON expression. | String | No | 0 0 12 ? * * | |
timeZone | The time zone. | String | No | UTC | |
rateControl | Concurrent task execution rate | Json | No | {'Mode': 'Concurrency', 'MaxErrors': 0, 'Concurrency': 10} | |
OOSAssumeRole | The Resource Access Management (RAM) role that is assumed by CloudOps Orchestration Service (OOS). | String | No | AliyunServiceRoleForOOSInstanceScheduler |
Output parameters
Parameter | Description | Type |
instanceIds | List |
Permission policy that is required to execute the template
{
"Version": "1",
"Statement": [
{
"Action": [
"ecs:DescribeInstances",
"ecs:RebootInstance"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"oos:GetApplicationGroup"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
Details
For more information, see ACS-ECS-ScheduleToRebootInstances.yml at GitHub.
Template content
FormatVersion: OOS-2019-06-01
Description:
en: 'Schedule to reboot ECS instances, applicable to scenarios that require periodic management and reboot of ECS instances, such as system maintenance and updates. During configuration, users need to provide the following required parameter information: Region ID (regionId), which specifies the region of the ECS instances to be operated on, Cron Expression (cron), which defines the schedule for the task, and Target Instances (targets), which defines the specific ECS instances to be operated on. Upon execution, the template will periodically reboot the ECS instances according to the configured schedule.'
zh-cn: Schedules ECS instances for restart. This is useful for scenarios that require regular instance management, such as system maintenance and updates. During configuration, you must provide the region ID (regionId), a cron expression (cron) for the schedule, and the target instances (targets). The template then periodically restarts the specified ECS instances based on your settings.
name-en: ACS-ECS-ScheduleToRebootInstances
name-zh-cn: Schedule ECS instance restart
categories:
- time_trigger
Parameters:
regionId:
Type: String
Label:
en: RegionId
zh-cn: Region ID
AssociationProperty: RegionId
Default: '{{ ACS::RegionId }}'
cron:
Description:
en: 'refer them here: https://www.alibabacloud.com/help/document_detail/169784.html'
zh-cn: 'For more information, see: https://www.alibabacloud.com/help/document_detail/169784.html'
Label:
en: CronExpression
zh-cn: Cron expression
Type: String
AssociationProperty: Cron
Default: 0 0 12 ? * *
endDate:
Description:
en: 'Format: yyyy-MM-ddTHH:mm:ssZ.'
zh-cn: 'Format: yyyy-MM-ddTHH:mm:ssZ'
Label:
en: EndDate
zh-cn: Trigger end time
Type: String
AssociationProperty: DateTime
AssociationPropertyMetadata:
Format: 'YYYY-MM-DDTHH:mm:ssZ'
timeZone:
Label:
en: TimeZone
zh-cn: Time zone
Type: String
AssociationProperty: TimeZone
Default: UTC
targets:
Type: Json
Label:
en: TargetInstance
zh-cn: Target instance
AssociationProperty: Targets
AssociationPropertyMetadata:
ResourceType: 'ALIYUN::ECS::Instance'
RegionId: regionId
rateControl:
Label:
en: RateControl
zh-cn: Task execution concurrency rate
Type: Json
AssociationProperty: RateControl
Default:
Mode: Concurrency
MaxErrors: 0
Concurrency: 10
OOSAssumeRole:
Label:
en: OOSAssumeRole
zh-cn: RAM role assumed by OOS
Type: String
Default: AliyunServiceRoleForOOSInstanceScheduler
RamRole: '{{ OOSAssumeRole }}'
Tasks:
- Name: timerTrigger
Action: ACS::TimerTrigger
Description:
en: Triggers a task as scheduled by specifying type and expression
zh-cn: Triggers a task on a schedule by specifying a type and expression.
Properties:
Type: cron
Expression: '{{ cron }}'
EndDate: '{{ endDate }}'
TimeZone: '{{ timeZone }}'
- Name: getInstance
Description:
en: Views the ECS instances
zh-cn: Gets the ECS instances.
Action: ACS::SelectTargets
Properties:
ResourceType: ALIYUN::ECS::Instance
RegionId: '{{ regionId }}'
Filters:
- '{{ targets }}'
- Name: rebootInstance
Action: ACS::ECS::RebootInstance
Description:
en: Restarts the ECS instances
zh-cn: Restarts the instance.
Properties:
regionId: '{{ regionId }}'
instanceId: '{{ ACS::TaskLoopItem }}'
Loop:
Items: '{{ getInstance.Instances.Instance[].InstanceId }}'
RateControl: '{{ rateControl }}'
Outputs:
instanceIds:
Type: List
Value: '{{ getInstance.Instances.Instance[].InstanceId }}'
Metadata:
ALIYUN::OOS::Interface:
ParameterGroups:
- Parameters:
- timeZone
- cron
- endDate
Label:
default:
zh-cn: Schedule Settings
en: Timer Trigger Configure
- Parameters:
- regionId
- targets
Label:
default:
zh-cn: Select Instances
en: Select ECS Instances
- Parameters:
- rateControl
- OOSAssumeRole
Label:
default:
zh-cn: Advanced Options
en: Control Options