Class Schedule

java.lang.Object
software.amazon.awssdk.services.cloudwatch.model.Schedule
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<Schedule.Builder,Schedule>

@Generated("software.amazon.awssdk:codegen") public final class Schedule extends Object implements SdkPojo, Serializable, ToCopyableBuilder<Schedule.Builder,Schedule>

Specifies when and how long an alarm mute rule is active.

The schedule uses either a cron expression for recurring mute windows or an at expression for one-time mute windows. When the schedule activates, the mute rule mutes alarm actions for the specified duration.

See Also:
  • Method Details

    • expression

      public final String expression()

      The schedule expression that defines when the mute rule activates. The expression must be between 1 and 256 characters in length.

      You can use one of two expression formats:

      • Cron expressions - For recurring mute windows. Format: cron(Minutes Hours Day-of-month Month Day-of-week)

        Examples:

        • cron(0 2 * * *) - Activates daily at 2:00 AM

        • cron(0 2 * * SUN) - Activates every Sunday at 2:00 AM for weekly system maintenance

        • cron(0 1 1 * *) - Activates on the first day of each month at 1:00 AM for monthly database maintenance

        • cron(0 18 * * FRI) - Activates every Friday at 6:00 PM

        • cron(0 23 * * *) - Activates every day at 11:00 PM during nightly backup operations

        The characters *, -, and , are supported in all fields. English names can be used for the month (JAN-DEC) and day of week (SUN-SAT) fields.

      • At expressions - For one-time mute windows. Format: at(yyyy-MM-ddThh:mm)

        Examples:

        • at(2024-05-10T14:00) - Activates once on May 10, 2024 at 2:00 PM during an active incident response session

        • at(2024-12-23T00:00) - Activates once on December 23, 2024 at midnight during annual company shutdown

      Returns:
      The schedule expression that defines when the mute rule activates. The expression must be between 1 and 256 characters in length.

      You can use one of two expression formats:

      • Cron expressions - For recurring mute windows. Format: cron(Minutes Hours Day-of-month Month Day-of-week)

        Examples:

        • cron(0 2 * * *) - Activates daily at 2:00 AM

        • cron(0 2 * * SUN) - Activates every Sunday at 2:00 AM for weekly system maintenance

        • cron(0 1 1 * *) - Activates on the first day of each month at 1:00 AM for monthly database maintenance

        • cron(0 18 * * FRI) - Activates every Friday at 6:00 PM

        • cron(0 23 * * *) - Activates every day at 11:00 PM during nightly backup operations

        The characters *, -, and , are supported in all fields. English names can be used for the month (JAN-DEC) and day of week (SUN-SAT) fields.

      • At expressions - For one-time mute windows. Format: at(yyyy-MM-ddThh:mm)

        Examples:

        • at(2024-05-10T14:00) - Activates once on May 10, 2024 at 2:00 PM during an active incident response session

        • at(2024-12-23T00:00) - Activates once on December 23, 2024 at midnight during annual company shutdown

    • duration

      public final String duration()

      The length of time that alarms remain muted when the schedule activates. The duration must be between 1 and 50 characters in length.

      Specify the duration using ISO 8601 duration format with a minimum of 1 minute (PT1M) and maximum of 15 days (P15D).

      Examples:

      • PT4H - 4 hours for weekly system maintenance

      • P2DT12H - 2 days and 12 hours for weekend muting from Friday 6:00 PM to Monday 6:00 AM

      • PT6H - 6 hours for monthly database maintenance

      • PT2H - 2 hours for nightly backup operations

      • P7D - 7 days for annual company shutdown

      The duration begins when the schedule expression time is reached. For recurring schedules, the duration applies to each occurrence.

      Returns:
      The length of time that alarms remain muted when the schedule activates. The duration must be between 1 and 50 characters in length.

      Specify the duration using ISO 8601 duration format with a minimum of 1 minute (PT1M) and maximum of 15 days (P15D).

      Examples:

      • PT4H - 4 hours for weekly system maintenance

      • P2DT12H - 2 days and 12 hours for weekend muting from Friday 6:00 PM to Monday 6:00 AM

      • PT6H - 6 hours for monthly database maintenance

      • PT2H - 2 hours for nightly backup operations

      • P7D - 7 days for annual company shutdown

      The duration begins when the schedule expression time is reached. For recurring schedules, the duration applies to each occurrence.

    • timezone

      public final String timezone()

      The time zone to use when evaluating the schedule expression. The time zone must be between 1 and 50 characters in length.

      Specify the time zone using standard timezone identifiers (for example, America/New_York, Europe/London, or Asia/Tokyo).

      If you don't specify a time zone, UTC is used by default. The time zone affects how cron and at expressions are interpreted, as well as start and expire dates you specify

      Examples:

      • America/New_York - Eastern Time (US)

      • America/Los_Angeles - Pacific Time (US)

      • Europe/London - British Time

      • Asia/Tokyo - Japan Standard Time

      • UTC - Coordinated Universal Time

      Returns:
      The time zone to use when evaluating the schedule expression. The time zone must be between 1 and 50 characters in length.

      Specify the time zone using standard timezone identifiers (for example, America/New_York, Europe/London, or Asia/Tokyo).

      If you don't specify a time zone, UTC is used by default. The time zone affects how cron and at expressions are interpreted, as well as start and expire dates you specify

      Examples:

      • America/New_York - Eastern Time (US)

      • America/Los_Angeles - Pacific Time (US)

      • Europe/London - British Time

      • Asia/Tokyo - Japan Standard Time

      • UTC - Coordinated Universal Time

    • toBuilder

      public Schedule.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<Schedule.Builder,Schedule>
      Returns:
      a builder for type T
    • builder

      public static Schedule.Builder builder()
    • serializableBuilderClass

      public static Class<? extends Schedule.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.
    • sdkFieldNameToField

      public final Map<String,SdkField<?>> sdkFieldNameToField()
      Specified by:
      sdkFieldNameToField in interface SdkPojo
      Returns:
      The mapping between the field name and its corresponding field.