import * as core from "@terrascript/core"; export interface ScheduleArgs extends core.ResourceArgs { /** * (Required) The name or Amazon Resource Name (ARN) of the Auto Scaling group. */ autoscalingGroupName: string | core.StringOut; /** * (Optional) The number of EC2 instances that should be running in the group. Default 0. Set to -1 if * you don't want to change the desired capacity at the scheduled time. */ desiredCapacity?: number | core.NumberOut; /** * (Optional) The time for this action to end, in "YYYY-MM-DDThh:mm:ssZ" format in UTC/GMT only (for ex * ample, 2014-06-01T00:00:00Z ). */ endTime?: string | core.StringOut; /** * (Optional) The maximum size for the Auto Scaling group. Default 0. */ maxSize?: number | core.NumberOut; /** * (Optional) The minimum size for the Auto Scaling group. Default 0. */ minSize?: number | core.NumberOut; /** * (Optional) The time when recurring future actions will start. Start time is specified by the user fo * llowing the Unix cron syntax format. */ recurrence?: string | core.StringOut; /** * (Required) The name of this scaling action. */ scheduledActionName: string | core.StringOut; /** * (Optional) The time for this action to start, in "YYYY-MM-DDThh:mm:ssZ" format in UTC/GMT only (for * example, 2014-06-01T00:00:00Z ). */ startTime?: string | core.StringOut; /** * (Optional) The timezone for the cron expression. Valid values are the canonical names of the IANA t * ime zones (such as Etc/GMT+9 or Pacific/Tahiti). */ timeZone?: string | core.StringOut; } export class Schedule extends core.Resource { /** * The ARN assigned by AWS to the autoscaling schedule. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * (Required) The name or Amazon Resource Name (ARN) of the Auto Scaling group. */ @core.attr(String) public autoscalingGroupName!: string | core.StringOut; /** * (Optional) The number of EC2 instances that should be running in the group. Default 0. Set to -1 if * you don't want to change the desired capacity at the scheduled time. */ @core.attr(Number, { computed: true }) public desiredCapacity?: number | core.NumberOut; /** * (Optional) The time for this action to end, in "YYYY-MM-DDThh:mm:ssZ" format in UTC/GMT only (for ex * ample, 2014-06-01T00:00:00Z ). */ @core.attr(String, { computed: true }) public endTime?: string | core.StringOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) The maximum size for the Auto Scaling group. Default 0. */ @core.attr(Number, { computed: true }) public maxSize?: number | core.NumberOut; /** * (Optional) The minimum size for the Auto Scaling group. Default 0. */ @core.attr(Number, { computed: true }) public minSize?: number | core.NumberOut; /** * (Optional) The time when recurring future actions will start. Start time is specified by the user fo * llowing the Unix cron syntax format. */ @core.attr(String, { computed: true }) public recurrence?: string | core.StringOut; /** * (Required) The name of this scaling action. */ @core.attr(String) public scheduledActionName!: string | core.StringOut; /** * (Optional) The time for this action to start, in "YYYY-MM-DDThh:mm:ssZ" format in UTC/GMT only (for * example, 2014-06-01T00:00:00Z ). */ @core.attr(String, { computed: true }) public startTime?: string | core.StringOut; /** * (Optional) The timezone for the cron expression. Valid values are the canonical names of the IANA t * ime zones (such as Etc/GMT+9 or Pacific/Tahiti). */ @core.attr(String, { computed: true }) public timeZone?: string | core.StringOut; constructor(name: string, args?: ScheduleArgs) { super(name, "aws_autoscaling_schedule", args); } public override getNamespace(): string { return "aws_autoscaling"; } }