Class CfnScheduledAction

java.lang.Object
software.amazon.jsii.JsiiObject
All Implemented Interfaces:
IConstruct, IDependable, IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:30:45.347Z") @Stability(Stable) public class CfnScheduledAction extends CfnResource implements IInspectable
A CloudFormation AWS::AutoScaling::ScheduledAction.

The AWS::AutoScaling::ScheduledAction resource specifies an Amazon EC2 Auto Scaling scheduled action so that the Auto Scaling group can change the number of instances available for your application in response to predictable load changes.

When you update a stack with an Auto Scaling group and scheduled action, CloudFormation always sets the min size, max size, and desired capacity properties of your group to the values that are defined in the AWS::AutoScaling::AutoScalingGroup section of your template. However, you might not want CloudFormation to do that when you have a scheduled action in effect. You can use an UpdatePolicy attribute to prevent CloudFormation from changing the min size, max size, or desired capacity property values during a stack update unless you modified the individual values in your template. If you have rolling updates enabled, before you can update the Auto Scaling group, you must suspend scheduled actions by specifying an UpdatePolicy attribute for the Auto Scaling group. You can find a sample update policy for rolling updates in Auto scaling template snippets .

For more information, see Scheduled scaling and Suspending and resuming scaling processes in the Amazon EC2 Auto Scaling User Guide .

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.autoscaling.*;
 CfnScheduledAction cfnScheduledAction = CfnScheduledAction.Builder.create(this, "MyCfnScheduledAction")
         .autoScalingGroupName("autoScalingGroupName")
         // the properties below are optional
         .desiredCapacity(123)
         .endTime("endTime")
         .maxSize(123)
         .minSize(123)
         .recurrence("recurrence")
         .startTime("startTime")
         .timeZone("timeZone")
         .build();
 
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnScheduledAction

      protected CfnScheduledAction(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnScheduledAction

      protected CfnScheduledAction(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnScheduledAction

      @Stability(Stable) public CfnScheduledAction(@NotNull Construct scope, @NotNull String id, @NotNull CfnScheduledActionProps props)
      Create a new AWS::AutoScaling::ScheduledAction.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
      props -
      • resource properties.
      This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector -
      • tree inspector to collect and process attributes.
      This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrScheduledActionName

      @Stability(Stable) @NotNull public String getAttrScheduledActionName()
      Returns the name of a scheduled action.
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getAutoScalingGroupName

      @Stability(Stable) @NotNull public String getAutoScalingGroupName()
      The name of the Auto Scaling group.
    • setAutoScalingGroupName

      @Stability(Stable) public void setAutoScalingGroupName(@NotNull String value)
      The name of the Auto Scaling group.
    • getDesiredCapacity

      @Stability(Stable) @Nullable public Number getDesiredCapacity()
      The desired capacity is the initial capacity of the Auto Scaling group after the scheduled action runs and the capacity it attempts to maintain.

      It can scale beyond this capacity if you add more scaling conditions.

      You must specify at least one of the following properties: MaxSize , MinSize , or DesiredCapacity .

    • setDesiredCapacity

      @Stability(Stable) public void setDesiredCapacity(@Nullable Number value)
      The desired capacity is the initial capacity of the Auto Scaling group after the scheduled action runs and the capacity it attempts to maintain.

      It can scale beyond this capacity if you add more scaling conditions.

      You must specify at least one of the following properties: MaxSize , MinSize , or DesiredCapacity .

    • getEndTime

      @Stability(Stable) @Nullable public String getEndTime()
      The date and time for the recurring schedule to end, in UTC.

      For example, "2021-06-01T00:00:00Z" .

    • setEndTime

      @Stability(Stable) public void setEndTime(@Nullable String value)
      The date and time for the recurring schedule to end, in UTC.

      For example, "2021-06-01T00:00:00Z" .

    • getMaxSize

      @Stability(Stable) @Nullable public Number getMaxSize()
      The maximum size of the Auto Scaling group.
    • setMaxSize

      @Stability(Stable) public void setMaxSize(@Nullable Number value)
      The maximum size of the Auto Scaling group.
    • getMinSize

      @Stability(Stable) @Nullable public Number getMinSize()
      The minimum size of the Auto Scaling group.
    • setMinSize

      @Stability(Stable) public void setMinSize(@Nullable Number value)
      The minimum size of the Auto Scaling group.
    • getRecurrence

      @Stability(Stable) @Nullable public String getRecurrence()
      The recurring schedule for this action.

      This format consists of five fields separated by white spaces: [Minute] [Hour] [Day_of_Month] [Month_of_Year] [Day_of_Week]. The value must be in quotes (for example, "30 0 1 1,6,12 *" ). For more information about this format, see Crontab .

      When StartTime and EndTime are specified with Recurrence , they form the boundaries of when the recurring action starts and stops.

      Cron expressions use Universal Coordinated Time (UTC) by default.

    • setRecurrence

      @Stability(Stable) public void setRecurrence(@Nullable String value)
      The recurring schedule for this action.

      This format consists of five fields separated by white spaces: [Minute] [Hour] [Day_of_Month] [Month_of_Year] [Day_of_Week]. The value must be in quotes (for example, "30 0 1 1,6,12 *" ). For more information about this format, see Crontab .

      When StartTime and EndTime are specified with Recurrence , they form the boundaries of when the recurring action starts and stops.

      Cron expressions use Universal Coordinated Time (UTC) by default.

    • getStartTime

      @Stability(Stable) @Nullable public String getStartTime()
      The date and time for this action to start, in YYYY-MM-DDThh:mm:ssZ format in UTC/GMT only and in quotes (for example, "2021-06-01T00:00:00Z" ).

      If you specify Recurrence and StartTime , Amazon EC2 Auto Scaling performs the action at this time, and then performs the action based on the specified recurrence.

    • setStartTime

      @Stability(Stable) public void setStartTime(@Nullable String value)
      The date and time for this action to start, in YYYY-MM-DDThh:mm:ssZ format in UTC/GMT only and in quotes (for example, "2021-06-01T00:00:00Z" ).

      If you specify Recurrence and StartTime , Amazon EC2 Auto Scaling performs the action at this time, and then performs the action based on the specified recurrence.

    • getTimeZone

      @Stability(Stable) @Nullable public String getTimeZone()
      Specifies the time zone for a cron expression.

      If a time zone is not provided, UTC is used by default.

      Valid values are the canonical names of the IANA time zones, derived from the IANA Time Zone Database (such as Etc/GMT+9 or Pacific/Tahiti ). For more information, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones .

    • setTimeZone

      @Stability(Stable) public void setTimeZone(@Nullable String value)
      Specifies the time zone for a cron expression.

      If a time zone is not provided, UTC is used by default.

      Valid values are the canonical names of the IANA time zones, derived from the IANA Time Zone Database (such as Etc/GMT+9 or Pacific/Tahiti ). For more information, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones .