This is the new AWS CloudFormation Template Reference Guide. Please update your bookmarks and links. For help getting started with CloudFormation, see the AWS CloudFormation User Guide.
AWS::Scheduler::Schedule
A schedule is the main resource you create, configure, and manage using Amazon EventBridge Scheduler.
Every schedule has a schedule expression that determines when, and with what frequency, the schedule runs. EventBridge Scheduler supports three types of schedules: rate, cron, and one-time schedules. For more information about different schedule types, see Schedule types in the EventBridge Scheduler User Guide.
When you create a schedule, you configure a target for the schedule to invoke. A target is an API operation that EventBridge Scheduler calls on your behalf every time your schedule runs. EventBridge Scheduler supports two types of targets: templated targets invoke common API operations across a core groups of services, and customizeable universal targets that you can use to call more than 6,000 operations across over 270 services. For more information about configuring targets, see Managing targets in the EventBridge Scheduler User Guide.
For more information about managing schedules, changing the schedule state, setting up flexible time windows, and configuring a dead-letter queue for a schedule, see Managing a schedule in the EventBridge Scheduler User Guide.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::Scheduler::Schedule", "Properties" : { "Description" :String, "EndDate" :String, "FlexibleTimeWindow" :FlexibleTimeWindow, "GroupName" :String, "KmsKeyArn" :String, "Name" :String, "ScheduleExpression" :String, "ScheduleExpressionTimezone" :String, "StartDate" :String, "State" :String, "Target" :Target} }
YAML
Type: AWS::Scheduler::Schedule Properties: Description:StringEndDate:StringFlexibleTimeWindow:FlexibleTimeWindowGroupName:StringKmsKeyArn:StringName:StringScheduleExpression:StringScheduleExpressionTimezone:StringStartDate:StringState:StringTarget:Target
Properties
- Description
- 
                    The description you specify for the schedule. Required: No Type: String Minimum: 0Maximum: 512Update requires: No interruption 
- EndDate
- 
                    The date, in UTC, before which the schedule can invoke its target. Depending on the schedule's recurrence expression, invocations might stop on, or before, the EndDateyou specify. EventBridge Scheduler ignoresEndDatefor one-time schedules.Required: No Type: String Update requires: No interruption 
- FlexibleTimeWindow
- 
                    Allows you to configure a time window during which EventBridge Scheduler invokes the schedule. Required: Yes Type: FlexibleTimeWindow Update requires: No interruption 
- GroupName
- 
                    The name of the schedule group associated with this schedule. Required: No Type: String Pattern: ^[0-9a-zA-Z-_.]+$Minimum: 1Maximum: 64Update requires: No interruption 
- KmsKeyArn
- 
                    The Amazon Resource Name (ARN) for the customer managed KMS key that EventBridge Scheduler will use to encrypt and decrypt your data. Required: No Type: String Pattern: ^arn:aws[a-z-]*:kms:[a-z0-9\-]+:\d{12}:(key|alias)\/[0-9a-zA-Z-_]*$Minimum: 1Maximum: 2048Update requires: No interruption 
- Name
- 
                    The name of the schedule. Required: No Type: String Pattern: ^[0-9a-zA-Z-_.]+$Minimum: 1Maximum: 64Update requires: Replacement 
- ScheduleExpression
- 
                    The expression that defines when the schedule runs. The following formats are supported. - 
                            atexpression -at(yyyy-mm-ddThh:mm:ss)
- 
                            rateexpression -rate(value unit)
- 
                            cronexpression -cron(fields)
 You can use atexpressions to create one-time schedules that invoke a target once, at the time and in the time zone, that you specify. You can userateandcronexpressions to create recurring schedules. Rate-based schedules are useful when you want to invoke a target at regular intervals, such as every 15 minutes or every five days. Cron-based schedules are useful when you want to invoke a target periodically at a specific time, such as at 8:00 am (UTC+0) every 1st day of the month.A cronexpression consists of six fields separated by white spaces:(minutes hours day_of_month month day_of_week year).A rateexpression consists of a value as a positive integer, and a unit with the following options:minute|minutes|hour|hours|day|daysFor more information and examples, see Schedule types on EventBridge Scheduler in the EventBridge Scheduler User Guide. Required: Yes Type: String Minimum: 1Maximum: 256Update requires: No interruption 
- 
                            
- ScheduleExpressionTimezone
- 
                    The timezone in which the scheduling expression is evaluated. Required: No Type: String Minimum: 1Maximum: 50Update requires: No interruption 
- StartDate
- 
                    The date, in UTC, after which the schedule can begin invoking its target. Depending on the schedule's recurrence expression, invocations might occur on, or after, the StartDateyou specify. EventBridge Scheduler ignoresStartDatefor one-time schedules.Required: No Type: String Update requires: No interruption 
- State
- 
                    Specifies whether the schedule is enabled or disabled. Allowed Values: ENABLED|DISABLEDRequired: No Type: String Allowed values: ENABLED | DISABLEDUpdate requires: No interruption 
- Target
- 
                    The schedule's target details. Required: Yes Type: Target Update requires: No interruption 
Return values
Ref
When you pass the logical ID of this resource to the intrinsic Ref function, Ref returns the Name attribute of theschedule.
Fn::GetAtt
         The Fn::GetAtt intrinsic function returns a value for a specified attribute of this type. The following are the available attributes that Fn::GetAtt returns.
         For more information about using the Fn::GetAtt intrinsic function, see Fn::GetAtt.
      
- Arn
- 
                            The Amazon Resource Name (ARN) for the Amazon EventBridge Scheduler schedule.