Skip to content
v2.276.0

ScheduledTaskBaseProps Struct ​

The properties for the base ScheduledEc2Task or ScheduledFargateTask task.

Example ​

ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_applicationautoscaling as appscaling } from 'aws-cdk-lib';
import { aws_ec2 as ec2 } from 'aws-cdk-lib';
import { aws_ecs as ecs } from 'aws-cdk-lib';
import { aws_ecs_patterns as ecs_patterns } from 'aws-cdk-lib';

declare const cluster: ecs.Cluster;
declare const schedule: appscaling.Schedule;
declare const securityGroup: ec2.SecurityGroup;
declare const subnet: ec2.Subnet;
declare const subnetFilter: ec2.SubnetFilter;
declare const vpc: ec2.Vpc;
const scheduledTaskBaseProps: ecs_patterns.ScheduledTaskBaseProps = {
  schedule: schedule,

  // the properties below are optional
  cluster: cluster,
  desiredTaskCount: 123,
  enabled: false,
  propagateTags: ecs.PropagatedTagSource.SERVICE,
  ruleName: 'ruleName',
  securityGroups: [securityGroup],
  subnetSelection: {
    availabilityZones: ['availabilityZones'],
    onePerAz: false,
    subnetFilters: [subnetFilter],
    subnetGroupName: 'subnetGroupName',
    subnets: [subnet],
    subnetType: ec2.SubnetType.PRIVATE_ISOLATED,
  },
  tags: [{
    key: 'key',
    value: 'value',
  }],
  vpc: vpc,
};
python
from aws_cdk.aws_events_targets import Tag
# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_applicationautoscaling as appscaling
from aws_cdk import aws_ec2 as ec2
from aws_cdk import aws_ecs as ecs
from aws_cdk import aws_ecs_patterns as ecs_patterns

# cluster: ecs.Cluster
# schedule: appscaling.Schedule
# security_group: ec2.SecurityGroup
# subnet: ec2.Subnet
# subnet_filter: ec2.SubnetFilter
# vpc: ec2.Vpc

scheduled_task_base_props = ecs_patterns.ScheduledTaskBaseProps(
    schedule=schedule,

    # the properties below are optional
    cluster=cluster,
    desired_task_count=123,
    enabled=False,
    propagate_tags=ecs.PropagatedTagSource.SERVICE,
    rule_name="ruleName",
    security_groups=[security_group],
    subnet_selection=ec2.SubnetSelection(
        availability_zones=["availabilityZones"],
        one_per_az=False,
        subnet_filters=[subnet_filter],
        subnet_group_name="subnetGroupName",
        subnets=[subnet],
        subnet_type=ec2.SubnetType.PRIVATE_ISOLATED
    ),
    tags=[Tag(
        key="key",
        value="value"
    )],
    vpc=vpc
)
java
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import software.amazon.awscdk.services.applicationautoscaling.*;
import software.amazon.awscdk.services.ec2.*;
import software.amazon.awscdk.services.ecs.*;
import software.amazon.awscdk.services.ecs.patterns.*;

Cluster cluster;
Schedule schedule;
SecurityGroup securityGroup;
Subnet subnet;
SubnetFilter subnetFilter;
Vpc vpc;

ScheduledTaskBaseProps scheduledTaskBaseProps = ScheduledTaskBaseProps.builder()
        .schedule(schedule)

        // the properties below are optional
        .cluster(cluster)
        .desiredTaskCount(123)
        .enabled(false)
        .propagateTags(PropagatedTagSource.SERVICE)
        .ruleName("ruleName")
        .securityGroups(List.of(securityGroup))
        .subnetSelection(SubnetSelection.builder()
                .availabilityZones(List.of("availabilityZones"))
                .onePerAz(false)
                .subnetFilters(List.of(subnetFilter))
                .subnetGroupName("subnetGroupName")
                .subnets(List.of(subnet))
                .subnetType(SubnetType.PRIVATE_ISOLATED)
                .build())
        .tags(List.of(Tag.builder()
                .key("key")
                .value("value")
                .build()))
        .vpc(vpc)
        .build();
csharp
// Install: dotnet add package Amazon.CDK.Lib
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.ApplicationAutoScaling;
using Amazon.CDK.AWS.EC2;
using Amazon.CDK.AWS.ECS;
using Amazon.CDK.AWS.ECS.Patterns;

Cluster cluster;
Schedule schedule;
SecurityGroup securityGroup;
Subnet subnet;
SubnetFilter subnetFilter;
Vpc vpc;

var scheduledTaskBaseProps = new ScheduledTaskBaseProps {
    Schedule = schedule,

    // the properties below are optional
    Cluster = cluster,
    DesiredTaskCount = 123,
    Enabled = false,
    PropagateTags = PropagatedTagSource.SERVICE,
    RuleName = "ruleName",
    SecurityGroups = new [] { securityGroup },
    SubnetSelection = new SubnetSelection {
        AvailabilityZones = new [] { "availabilityZones" },
        OnePerAz = false,
        SubnetFilters = new [] { subnetFilter },
        SubnetGroupName = "subnetGroupName",
        Subnets = new [] { subnet },
        SubnetType = SubnetType.PRIVATE_ISOLATED
    },
    Tags = new [] { new Tag {
        Key = "key",
        Value = "value"
    } },
    Vpc = vpc
};
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
import "github.com/aws/aws-cdk-go/awscdk"
import "github.com/aws/aws-cdk-go/awscdk"
import "github.com/aws/aws-cdk-go/awscdk"

var cluster Cluster
var schedule Schedule
var securityGroup SecurityGroup
var subnet Subnet
var subnetFilter SubnetFilter
var vpc Vpc

scheduledTaskBaseProps := &ScheduledTaskBaseProps{
	Schedule: schedule,

	// the properties below are optional
	Cluster: cluster,
	DesiredTaskCount: jsii.Number(123),
	Enabled: jsii.Boolean(false),
	PropagateTags: awscdk.Aws_ecs.PropagatedTagSource_SERVICE,
	RuleName: jsii.String("ruleName"),
	SecurityGroups: []ISecurityGroup{
		securityGroup,
	},
	SubnetSelection: &SubnetSelection{
		AvailabilityZones: []*string{
			jsii.String("availabilityZones"),
		},
		OnePerAz: jsii.Boolean(false),
		SubnetFilters: []SubnetFilter{
			subnetFilter,
		},
		SubnetGroupName: jsii.String("subnetGroupName"),
		Subnets: []ISubnet{
			subnet,
		},
		SubnetType: awscdk.Aws_ec2.SubnetType_PRIVATE_ISOLATED,
	},
	Tags: []Tag{
		&Tag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	Vpc: vpc,
}

Properties ​

clusteroptionalIClusterclusteroptionalIClusterclusteroptionalIClusterClusteroptionalIClusterClusteroptionalICluster#
The name of the cluster that hosts the service.

Default: create a new cluster; if both cluster and vpc are omitted, a new VPC will be created for you.

If a cluster is specified, the vpc construct should be omitted. Alternatively, you can omit both cluster and vpc.

desiredTaskCountoptionalnumberdesired_task_countoptionalint | floatdesiredTaskCountoptionalNumberDesiredTaskCountoptionaldoubleDesiredTaskCountoptional*float64= 1#
The desired number of instantiations of the task definition to keep running on the service.
enabledoptionalbooleanenabledoptionalboolenabledoptionalBooleanEnabledoptionalboolEnabledoptional*bool= true#
Indicates whether the rule is enabled.
propagateTagsoptionalPropagatedTagSourcepropagate_tagsoptionalPropagatedTagSourcepropagateTagsoptionalPropagatedTagSourcePropagateTagsoptionalPropagatedTagSourcePropagateTagsoptionalPropagatedTagSource#
Specifies whether to propagate the tags from the task definition to the task.

Default: Tags will not be propagated

If no value is specified, the tags are not propagated.

ruleNameoptionalstringrule_nameoptionalstrruleNameoptionalStringRuleNameoptionalstringRuleNameoptional*string#
A name for the rule.

Default: AWS CloudFormation generates a unique physical ID and uses that ID for the rule name. For more information, see Name Type.

scheduleSchedulescheduleSchedulescheduleScheduleScheduleScheduleScheduleSchedulerequired#
The schedule or rate (frequency) that determines when CloudWatch Events runs the rule.

For more information, see Schedule Expression Syntax for Rules in the Amazon CloudWatch User Guide.

securityGroupsoptionalISecurityGroup[]security_groupsoptionaltyping.List[ISecurityGroup]securityGroupsoptionalList<ISecurityGroup>SecurityGroupsoptionalISecurityGroup[]SecurityGroupsoptional*[]ISecurityGroup#
Existing security groups to use for your service.

Default: a new security group will be created.

subnetSelectionoptionalSubnetSelectionsubnet_selectionoptionalSubnetSelectionsubnetSelectionoptionalSubnetSelectionSubnetSelectionoptionalSubnetSelectionSubnetSelectionoptionalSubnetSelection#
In what subnets to place the task's ENIs.

Default: Private subnets

(Only applicable in case the TaskDefinition is configured for AwsVpc networking)

tagsoptionalTag[]tagsoptionaltyping.List[Tag]tagsoptionalList<Tag>TagsoptionalTag[]Tagsoptional*[]Tag#
The metadata that you apply to the task to help you categorize and organize them.

Default: No tags are applied to the task

Each tag consists of a key and an optional value, both of which you define.

vpcoptionalIVpcvpcoptionalIVpcvpcoptionalIVpcVpcoptionalIVpcVpcoptionalIVpc#
The VPC where the container instances will be launched or the elastic network interfaces (ENIs) will be deployed.

Default: uses the VPC defined in the cluster or creates a new VPC.

If a vpc is specified, the cluster construct should be omitted. Alternatively, you can omit both vpc and cluster.