Product SiteDocumentation Site

8.2. Time/Date Based Expressions

As the name suggests, date_expressions are used to control a resource or cluster option based on the current date/time. They can contain an optional date_spec and/or duration object depending on the context.
Table 8.3. Properties of a Date Expression
Field Description
start A date/time conforming to the ISO8601 specification.
end A date/time conforming to the ISO8601 specification. Can be inferred by supplying a value for start and a duration.
operation
Compares the current date/time with the start and/or end date, depending on the context. Allowed values:
  • gt - True if the current date/time is after start
  • lt - True if the current date/time is before end
  • in-range - True if the current date/time is after start and before end
  • date-spec - performs a cron-like comparison between the contents of date_spec and now

Note

Because the comparisons (except for date_spec) include the time, the eq, neq, gte and lte operators have not been implemented.

8.2.1. Date Specifications

date_spec objects are used to create cron-like expressions relating to time. Each field can contain a single number or a single range. Instead of defaulting to zero, any field not supplied is ignored.
For example, monthdays="1" matches the first day of every month and hours="09-17" matches the hours between 9am and 5pm inclusive). However at this time one cannot specify weekdays="1,2" or weekdays="1-2,5-6" since they contain multiple ranges. Depending on demand, this may be implemented in a future release.
Table 8.4. Properties of a Date Spec
Field Description
id A unique name for the date
hours Allowed values: 0-23
monthdays Allowed values: 0-31 (depending on current month and year)
weekdays Allowed values: 1-7 (1=Monday, 7=Sunday)
yeardays Allowed values: 1-366 (depending on the current year)
months Allowed values: 1-12
weeks Allowed values: 1-53 (depending on weekyear)
years Year according the Gregorian calendar
weekyears
May differ from Gregorian years.
Eg. "2005-001 Ordinal" is also "2005-01-01 Gregorian" is also "2004-W53-6 Weekly"
moon Allowed values: 0..7 (0 is new, 4 is full moon). Seriously, you can use this. This was implemented to demonstrate the ease with which new comparisons could be added.