import * as core from "@terrascript/core"; export interface ScalableTargetActionArgs extends core.SchemaArgs { maxCapacity?: string | core.StringOut; minCapacity?: string | core.StringOut; } export class ScalableTargetAction extends core.Schema { @core.attr(String) public maxCapacity?: string | core.StringOut; @core.attr(String) public minCapacity?: string | core.StringOut; } export interface AppautoscalingScheduledActionArgs extends core.ResourceArgs { /** * (Optional) The date and time for the scheduled action to end in RFC 3339 format. The timezone is not * affected by the setting of `timezone`. */ endTime?: string | core.StringOut; /** * (Required) The name of the scheduled action. */ name: string | core.StringOut; /** * (Required) The identifier of the resource associated with the scheduled action. Documentation can be * found in the parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com * /ApplicationAutoScaling/latest/APIReference/API_PutScheduledAction.html#ApplicationAutoScaling-PutSc * heduledAction-request-ResourceId) */ resourceId: string | core.StringOut; /** * (Required) The scalable dimension. Documentation can be found in the parameter at: [AWS Application * Auto Scaling API Reference](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/A * PI_PutScheduledAction.html#ApplicationAutoScaling-PutScheduledAction-request-ScalableDimension) Exam * ple: ecs:service:DesiredCount */ scalableDimension: string | core.StringOut; /** * (Required) The new minimum and maximum capacity. You can set both values or just one. See [below](#s * calable-target-action-arguments) */ scalableTargetAction: ScalableTargetAction; /** * (Required) The schedule for this action. The following formats are supported: At expressions - at(yy * yy-mm-ddThh:mm:ss), Rate expressions - rate(valueunit), Cron expressions - cron(fields). Times for a * t expressions and cron expressions are evaluated using the time zone configured in `timezone`. Docum * entation can be found in the parameter at: [AWS Application Auto Scaling API Reference](https://docs * .aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_PutScheduledAction.html#ApplicationAu * toScaling-PutScheduledAction-request-Schedule) */ schedule: string | core.StringOut; /** * (Required) The namespace of the AWS service. Documentation can be found in the parameter at: [AWS Ap * plication Auto Scaling API Reference](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIR * eference/API_PutScheduledAction.html#ApplicationAutoScaling-PutScheduledAction-request-ServiceNamesp * ace) Example: ecs */ serviceNamespace: string | core.StringOut; /** * (Optional) The date and time for the scheduled action to start in RFC 3339 format. The timezone is n * ot affected by the setting of `timezone`. */ startTime?: string | core.StringOut; /** * (Optional) The time zone used when setting a scheduled action by using an at or cron expression. Doe * s not affect timezone for `start_time` and `end_time`. Valid values are the [canonical names of the * IANA time zones supported by Joda-Time](https://www.joda.org/joda-time/timezones.html), such as `Etc * /GMT+9` or `Pacific/Tahiti`. Default is `UTC`. */ timezone?: string | core.StringOut; } export class AppautoscalingScheduledAction extends core.Resource { /** * The Amazon Resource Name (ARN) of the scheduled action. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * (Optional) The date and time for the scheduled action to end in RFC 3339 format. The timezone is not * affected by the setting of `timezone`. */ @core.attr(String) public endTime?: string | core.StringOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Required) The name of the scheduled action. */ @core.attr(String) public name!: string | core.StringOut; /** * (Required) The identifier of the resource associated with the scheduled action. Documentation can be * found in the parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com * /ApplicationAutoScaling/latest/APIReference/API_PutScheduledAction.html#ApplicationAutoScaling-PutSc * heduledAction-request-ResourceId) */ @core.attr(String) public resourceId!: string | core.StringOut; /** * (Required) The scalable dimension. Documentation can be found in the parameter at: [AWS Application * Auto Scaling API Reference](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/A * PI_PutScheduledAction.html#ApplicationAutoScaling-PutScheduledAction-request-ScalableDimension) Exam * ple: ecs:service:DesiredCount */ @core.attr(String) public scalableDimension!: string | core.StringOut; /** * (Required) The new minimum and maximum capacity. You can set both values or just one. See [below](#s * calable-target-action-arguments) */ @core.attr(ScalableTargetAction) public scalableTargetAction!: ScalableTargetAction; /** * (Required) The schedule for this action. The following formats are supported: At expressions - at(yy * yy-mm-ddThh:mm:ss), Rate expressions - rate(valueunit), Cron expressions - cron(fields). Times for a * t expressions and cron expressions are evaluated using the time zone configured in `timezone`. Docum * entation can be found in the parameter at: [AWS Application Auto Scaling API Reference](https://docs * .aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_PutScheduledAction.html#ApplicationAu * toScaling-PutScheduledAction-request-Schedule) */ @core.attr(String) public schedule!: string | core.StringOut; /** * (Required) The namespace of the AWS service. Documentation can be found in the parameter at: [AWS Ap * plication Auto Scaling API Reference](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIR * eference/API_PutScheduledAction.html#ApplicationAutoScaling-PutScheduledAction-request-ServiceNamesp * ace) Example: ecs */ @core.attr(String) public serviceNamespace!: string | core.StringOut; /** * (Optional) The date and time for the scheduled action to start in RFC 3339 format. The timezone is n * ot affected by the setting of `timezone`. */ @core.attr(String) public startTime?: string | core.StringOut; /** * (Optional) The time zone used when setting a scheduled action by using an at or cron expression. Doe * s not affect timezone for `start_time` and `end_time`. Valid values are the [canonical names of the * IANA time zones supported by Joda-Time](https://www.joda.org/joda-time/timezones.html), such as `Etc * /GMT+9` or `Pacific/Tahiti`. Default is `UTC`. */ @core.attr(String) public timezone?: string | core.StringOut; constructor(name: string, args?: AppautoscalingScheduledActionArgs) { super(name, "aws_appautoscaling_scheduled_action", args); } public override getNamespace(): string { return "aws_application_auto_scaling"; } }