Class: AWSCDK::Scheduler::ScheduleExpression

Inherits:
Jsii::Object
  • Object
show all
Defined in:
scheduler/schedule_expression.rb

Overview

ScheduleExpression for EventBridge Schedule.

You can choose from three schedule types when configuring your schedule: rate-based, cron-based, and one-time schedules. Both rate-based and cron-based schedules are recurring schedules.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeScheduleExpression

Returns a new instance of ScheduleExpression.



13
14
15
# File 'scheduler/schedule_expression.rb', line 13

def initialize
  Jsii::Object.instance_method(:initialize).bind(self).call
end

Class Method Details

.at(date, time_zone = nil) ⇒ AWSCDK::Scheduler::ScheduleExpression

Construct a one-time schedule from a date.

Parameters:

  • date (DateTime)

    The date and time to use.

  • time_zone (AWSCDK::TimeZone, nil) (defaults to: nil)

    The time zone to use for interpreting the date.

Returns:

  • (AWSCDK::Scheduler::ScheduleExpression)


29
30
31
32
33
# File 'scheduler/schedule_expression.rb', line 29

def self.at(date, time_zone = nil)
  Jsii::Type.check_type(date, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJkYXRlIn0=")), "date")
  Jsii::Type.check_type(time_zone, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5UaW1lWm9uZSJ9")), "timeZone") unless time_zone.nil?
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_scheduler.ScheduleExpression", "at", [date, time_zone])
end

.cron(options) ⇒ AWSCDK::Scheduler::ScheduleExpression

Create a recurring schedule from a set of cron fields and time zone.

Parameters:

Returns:

  • (AWSCDK::Scheduler::ScheduleExpression)


39
40
41
42
43
# File 'scheduler/schedule_expression.rb', line 39

def self.cron(options)
  options = options.is_a?(Hash) ? ::AWSCDK::Scheduler::CronOptionsWithTimezone.new(**options.transform_keys(&:to_sym)) : options
  Jsii::Type.check_type(options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc2NoZWR1bGVyLkNyb25PcHRpb25zV2l0aFRpbWV6b25lIn0=")), "options")
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_scheduler.ScheduleExpression", "cron", [options])
end

.expression(expression, time_zone = nil) ⇒ AWSCDK::Scheduler::ScheduleExpression

Construct a schedule from a literal schedule expression.

Parameters:

  • expression (String)

    The expression to use.

  • time_zone (AWSCDK::TimeZone, nil) (defaults to: nil)

    The time zone to use for interpreting the expression.

Returns:

  • (AWSCDK::Scheduler::ScheduleExpression)


50
51
52
53
54
# File 'scheduler/schedule_expression.rb', line 50

def self.expression(expression, time_zone = nil)
  Jsii::Type.check_type(expression, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "expression")
  Jsii::Type.check_type(time_zone, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5UaW1lWm9uZSJ9")), "timeZone") unless time_zone.nil?
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_scheduler.ScheduleExpression", "expression", [expression, time_zone])
end

.jsii_overridable_methodsObject



17
18
19
20
21
22
# File 'scheduler/schedule_expression.rb', line 17

def self.jsii_overridable_methods
  {
    :expression_string => { kind: :property, name: "expressionString", is_optional: false },
    :time_zone => { kind: :property, name: "timeZone", is_optional: true },
  }
end

.rate(duration) ⇒ AWSCDK::Scheduler::ScheduleExpression

Construct a recurring schedule from an interval and a time unit.

Rates may be defined with any unit of time, but when converted into minutes, the duration must be a positive whole number of minutes.

Parameters:

Returns:

  • (AWSCDK::Scheduler::ScheduleExpression)


62
63
64
65
# File 'scheduler/schedule_expression.rb', line 62

def self.rate(duration)
  Jsii::Type.check_type(duration, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "duration")
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_scheduler.ScheduleExpression", "rate", [duration])
end

Instance Method Details

#expression_stringString

Retrieve the expression for this schedule.

Returns:

  • (String)


70
71
72
# File 'scheduler/schedule_expression.rb', line 70

def expression_string()
  jsii_get_property("expressionString")
end

#time_zoneAWSCDK::TimeZone?

Retrieve the expression for this schedule.

Returns:



77
78
79
# File 'scheduler/schedule_expression.rb', line 77

def time_zone()
  jsii_get_property("timeZone")
end