ScheduleArgs

data class ScheduleArgs(val autoscalingGroupName: Output<String>? = null, val desiredCapacity: Output<Int>? = null, val endTime: Output<String>? = null, val maxSize: Output<Int>? = null, val minSize: Output<Int>? = null, val recurrence: Output<String>? = null, val scheduledActionName: Output<String>? = null, val startTime: Output<String>? = null, val timeZone: Output<String>? = null) : ConvertibleToJava<ScheduleArgs>

Provides an AutoScaling Schedule resource.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const foobar = new aws.autoscaling.Group("foobar", {
availabilityZones: ["us-west-2a"],
name: "test-foobar5",
maxSize: 1,
minSize: 1,
healthCheckGracePeriod: 300,
healthCheckType: "ELB",
forceDelete: true,
terminationPolicies: ["OldestInstance"],
});
const foobarSchedule = new aws.autoscaling.Schedule("foobar", {
scheduledActionName: "foobar",
minSize: 0,
maxSize: 1,
desiredCapacity: 0,
startTime: "2016-12-11T18:00:00Z",
endTime: "2016-12-12T06:00:00Z",
autoscalingGroupName: foobar.name,
});
import pulumi
import pulumi_aws as aws
foobar = aws.autoscaling.Group("foobar",
availability_zones=["us-west-2a"],
name="test-foobar5",
max_size=1,
min_size=1,
health_check_grace_period=300,
health_check_type="ELB",
force_delete=True,
termination_policies=["OldestInstance"])
foobar_schedule = aws.autoscaling.Schedule("foobar",
scheduled_action_name="foobar",
min_size=0,
max_size=1,
desired_capacity=0,
start_time="2016-12-11T18:00:00Z",
end_time="2016-12-12T06:00:00Z",
autoscaling_group_name=foobar.name)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var foobar = new Aws.AutoScaling.Group("foobar", new()
{
AvailabilityZones = new[]
{
"us-west-2a",
},
Name = "test-foobar5",
MaxSize = 1,
MinSize = 1,
HealthCheckGracePeriod = 300,
HealthCheckType = "ELB",
ForceDelete = true,
TerminationPolicies = new[]
{
"OldestInstance",
},
});
var foobarSchedule = new Aws.AutoScaling.Schedule("foobar", new()
{
ScheduledActionName = "foobar",
MinSize = 0,
MaxSize = 1,
DesiredCapacity = 0,
StartTime = "2016-12-11T18:00:00Z",
EndTime = "2016-12-12T06:00:00Z",
AutoscalingGroupName = foobar.Name,
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
foobar, err := autoscaling.NewGroup(ctx, "foobar", &autoscaling.GroupArgs{
AvailabilityZones: pulumi.StringArray{
pulumi.String("us-west-2a"),
},
Name: pulumi.String("test-foobar5"),
MaxSize: pulumi.Int(1),
MinSize: pulumi.Int(1),
HealthCheckGracePeriod: pulumi.Int(300),
HealthCheckType: pulumi.String("ELB"),
ForceDelete: pulumi.Bool(true),
TerminationPolicies: pulumi.StringArray{
pulumi.String("OldestInstance"),
},
})
if err != nil {
return err
}
_, err = autoscaling.NewSchedule(ctx, "foobar", &autoscaling.ScheduleArgs{
ScheduledActionName: pulumi.String("foobar"),
MinSize: pulumi.Int(0),
MaxSize: pulumi.Int(1),
DesiredCapacity: pulumi.Int(0),
StartTime: pulumi.String("2016-12-11T18:00:00Z"),
EndTime: pulumi.String("2016-12-12T06:00:00Z"),
AutoscalingGroupName: foobar.Name,
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.autoscaling.Group;
import com.pulumi.aws.autoscaling.GroupArgs;
import com.pulumi.aws.autoscaling.Schedule;
import com.pulumi.aws.autoscaling.ScheduleArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var foobar = new Group("foobar", GroupArgs.builder()
.availabilityZones("us-west-2a")
.name("test-foobar5")
.maxSize(1)
.minSize(1)
.healthCheckGracePeriod(300)
.healthCheckType("ELB")
.forceDelete(true)
.terminationPolicies("OldestInstance")
.build());
var foobarSchedule = new Schedule("foobarSchedule", ScheduleArgs.builder()
.scheduledActionName("foobar")
.minSize(0)
.maxSize(1)
.desiredCapacity(0)
.startTime("2016-12-11T18:00:00Z")
.endTime("2016-12-12T06:00:00Z")
.autoscalingGroupName(foobar.name())
.build());
}
}
resources:
foobar:
type: aws:autoscaling:Group
properties:
availabilityZones:
- us-west-2a
name: test-foobar5
maxSize: 1
minSize: 1
healthCheckGracePeriod: 300
healthCheckType: ELB
forceDelete: true
terminationPolicies:
- OldestInstance
foobarSchedule:
type: aws:autoscaling:Schedule
name: foobar
properties:
scheduledActionName: foobar
minSize: 0
maxSize: 1
desiredCapacity: 0
startTime: 2016-12-11T18:00:00Z
endTime: 2016-12-12T06:00:00Z
autoscalingGroupName: ${foobar.name}

Import

Using pulumi import, import AutoScaling ScheduledAction using the auto-scaling-group-name and scheduled-action-name. For example:

$ pulumi import aws:autoscaling/schedule:Schedule resource-name auto-scaling-group-name/scheduled-action-name

Constructors

Link copied to clipboard
constructor(autoscalingGroupName: Output<String>? = null, desiredCapacity: Output<Int>? = null, endTime: Output<String>? = null, maxSize: Output<Int>? = null, minSize: Output<Int>? = null, recurrence: Output<String>? = null, scheduledActionName: Output<String>? = null, startTime: Output<String>? = null, timeZone: Output<String>? = null)

Properties

Link copied to clipboard
val autoscalingGroupName: Output<String>? = null

The name of the Auto Scaling group.

Link copied to clipboard
val desiredCapacity: Output<Int>? = null

The initial capacity of the Auto Scaling group after the scheduled action runs and the capacity it attempts to maintain. Set to -1 if you don't want to change the desired capacity at the scheduled time. Defaults to 0.

Link copied to clipboard
val endTime: Output<String>? = null

The date and time for the recurring schedule to end, in UTC with the format "YYYY-MM-DDThh:mm:ssZ" (e.g. "2021-06-01T00:00:00Z").

Link copied to clipboard
val maxSize: Output<Int>? = null

The maximum size of the Auto Scaling group. Set to -1 if you don't want to change the maximum size at the scheduled time. Defaults to 0.

Link copied to clipboard
val minSize: Output<Int>? = null

The minimum size of the Auto Scaling group. Set to -1 if you don't want to change the minimum size at the scheduled time. Defaults to 0.

Link copied to clipboard
val recurrence: Output<String>? = null

The recurring schedule for this action specified using the Unix cron syntax format.

Link copied to clipboard
val scheduledActionName: Output<String>? = null

The name of this scaling action. The following arguments are optional:

Link copied to clipboard
val startTime: Output<String>? = null

The date and time for the recurring schedule to start, in UTC with the format "YYYY-MM-DDThh:mm:ssZ" (e.g. "2021-06-01T00:00:00Z").

Link copied to clipboard
val timeZone: Output<String>? = null

Specifies the time zone for a cron expression. Valid values are the canonical names of the IANA time zones (such as Etc/GMT+9 or Pacific/Tahiti).

Functions

Link copied to clipboard
open override fun toJava(): ScheduleArgs