Schedule Args
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,
});
Content copied to clipboard
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)
Content copied to clipboard
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,
});
});
Content copied to clipboard
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
})
}
Content copied to clipboard
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());
}
}
Content copied to clipboard
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}
Content copied to clipboard
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
Content copied to clipboard
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
The name of the Auto Scaling group.
Link copied to clipboard
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
The recurring schedule for this action specified using the Unix cron syntax format.
Link copied to clipboard
The name of this scaling action. The following arguments are optional: