awsscheduler

package
v2.191.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 23, 2025 License: Apache-2.0 Imports: 11 Imported by: 1

README

Amazon EventBridge Scheduler Construct Library

Amazon EventBridge Scheduler is a feature from Amazon EventBridge that allows you to create, run, and manage scheduled tasks at scale. With EventBridge Scheduler, you can schedule millions of one-time or recurring tasks across various AWS services without provisioning or managing underlying infrastructure.

  1. Schedule: A schedule is the main resource you create, configure, and manage using Amazon EventBridge Scheduler. Every schedule has a schedule expression that determines when, and with what frequency, the schedule runs. EventBridge Scheduler supports three types of schedules: rate, cron, and one-time schedules. When you create a schedule, you configure a target for the schedule to invoke.
  2. Target: A target is an API operation that EventBridge Scheduler calls on your behalf every time your schedule runs. EventBridge Scheduler supports two types of targets: templated targets and universal targets. Templated targets invoke common API operations across a core groups of services. For example, EventBridge Scheduler supports templated targets for invoking AWS Lambda Function or starting execution of Step Functions state machine. For API operations that are not supported by templated targets you can use customizable universal targets. Universal targets support calling more than 6,000 API operations across over 270 AWS services.
  3. Schedule Group: A schedule group is an Amazon EventBridge Scheduler resource that you use to organize your schedules. Your AWS account comes with a default scheduler group. A new schedule will always be added to a scheduling group. If you do not provide a scheduling group to add to, it will be added to the default scheduling group. You can create up to 500 schedule groups in your AWS account. Groups can be used to organize the schedules logically, access the schedule metrics and manage permissions at group granularity (see details below). Schedule groups support tagging. With EventBridge Scheduler, you apply tags to schedule groups, not to individual schedules to organize your resources.

Defining a schedule

var fn function


target := targets.NewLambdaInvoke(fn, &ScheduleTargetBaseProps{
	Input: awscdk.ScheduleTargetInput_FromObject(map[string]*string{
		"payload": jsii.String("useful"),
	}),
})

schedule := awscdk.NewSchedule(this, jsii.String("Schedule"), &ScheduleProps{
	Schedule: awscdk.ScheduleExpression_Rate(awscdk.Duration_Minutes(jsii.Number(10))),
	Target: Target,
	Description: jsii.String("This is a test schedule that invokes a lambda function every 10 minutes."),
})
Schedule Expressions

You can choose from three schedule types when configuring your schedule: rate-based, cron-based, and one-time schedules.

Both rate-based and cron-based schedules are recurring schedules. You can configure each recurring schedule type using a schedule expression.

For cron-based schedules you can specify a time zone in which EventBridge Scheduler evaluates the expression.

var target lambdaInvoke


rateBasedSchedule := awscdk.NewSchedule(this, jsii.String("Schedule"), &ScheduleProps{
	Schedule: awscdk.ScheduleExpression_Rate(awscdk.Duration_Minutes(jsii.Number(10))),
	Target: Target,
	Description: jsii.String("This is a test rate-based schedule"),
})

cronBasedSchedule := awscdk.NewSchedule(this, jsii.String("Schedule"), &ScheduleProps{
	Schedule: awscdk.ScheduleExpression_Cron(&CronOptionsWithTimezone{
		Minute: jsii.String("0"),
		Hour: jsii.String("23"),
		Day: jsii.String("20"),
		Month: jsii.String("11"),
		TimeZone: awscdk.TimeZone_AMERICA_NEW_YORK(),
	}),
	Target: Target,
	Description: jsii.String("This is a test cron-based schedule that will run at 11:00 PM, on day 20 of the month, only in November in New York timezone"),
})

A one-time schedule is a schedule that invokes a target only once. You configure a one-time schedule by specifying the time of day, date, and time zone in which EventBridge Scheduler evaluates the schedule.

var target lambdaInvoke


oneTimeSchedule := awscdk.NewSchedule(this, jsii.String("Schedule"), &ScheduleProps{
	Schedule: awscdk.ScheduleExpression_At(
	NewDate(jsii.Number(2022), jsii.Number(10), jsii.Number(20), jsii.Number(19), jsii.Number(20), jsii.Number(23)), awscdk.TimeZone_AMERICA_NEW_YORK()),
	Target: Target,
	Description: jsii.String("This is a one-time schedule in New York timezone"),
})
Grouping Schedules

Your AWS account comes with a default scheduler group. You can access the default group in CDK with:

defaultScheduleGroup := awscdk.ScheduleGroup_FromDefaultScheduleGroup(this, jsii.String("DefaultGroup"))

You can add a schedule to a custom scheduling group managed by you. If a custom group is not specified, the schedule is added to the default group.

var target lambdaInvoke


scheduleGroup := awscdk.NewScheduleGroup(this, jsii.String("ScheduleGroup"), &ScheduleGroupProps{
	ScheduleGroupName: jsii.String("MyScheduleGroup"),
})

awscdk.NewSchedule(this, jsii.String("Schedule"), &ScheduleProps{
	Schedule: awscdk.ScheduleExpression_Rate(awscdk.Duration_Minutes(jsii.Number(10))),
	Target: Target,
	ScheduleGroup: ScheduleGroup,
})
Disabling Schedules

By default, a schedule will be enabled. You can disable a schedule by setting the enabled property to false:

var target lambdaInvoke


awscdk.NewSchedule(this, jsii.String("Schedule"), &ScheduleProps{
	Schedule: awscdk.ScheduleExpression_Rate(awscdk.Duration_Minutes(jsii.Number(10))),
	Target: target,
	Enabled: jsii.Boolean(false),
})
Configuring a start and end time of the Schedule

If you choose a recurring schedule, you can set the start and end time of the Schedule by specifying the start and end.

var target lambdaInvoke


awscdk.NewSchedule(this, jsii.String("Schedule"), &ScheduleProps{
	Schedule: awscdk.ScheduleExpression_Rate(cdk.Duration_Hours(jsii.Number(12))),
	Target: target,
	Start: NewDate(jsii.String("2023-01-01T00:00:00.000Z")),
	End: NewDate(jsii.String("2023-02-01T00:00:00.000Z")),
})

Scheduler Targets

The aws-cdk-lib/aws-scheduler-targets module includes classes that implement the IScheduleTarget interface for various AWS services. EventBridge Scheduler supports two types of targets:

  1. Templated targets which invoke common API operations across a core groups of services, and
  2. Universal targets that you can customize to call more than 6,000 operations across over 270 services.

A list of supported targets can be found at aws-cdk-lib/aws-scheduler-targets.

Input

Targets can be invoked with a custom input. The ScheduleTargetInput class supports free-form text input and JSON-formatted object input:

input := awscdk.ScheduleTargetInput_FromObject(map[string]*string{
	"QueueName": jsii.String("MyQueue"),
})

You can include context attributes in your target payload. EventBridge Scheduler will replace each keyword with its respective value and deliver it to the target. See full list of supported context attributes:

  1. ContextAttribute.scheduleArn() – The ARN of the schedule.
  2. ContextAttribute.scheduledTime() – The time you specified for the schedule to invoke its target, e.g., 2022-03-22T18:59:43Z.
  3. ContextAttribute.executionId() – The unique ID that EventBridge Scheduler assigns for each attempted invocation of a target, e.g., d32c5kddcf5bb8c3.
  4. ContextAttribute.attemptNumber() – A counter that identifies the attempt number for the current invocation, e.g., 1.
text := fmt.Sprintf("Attempt number: %v", awscdk.ContextAttribute_AttemptNumber())
input := awscdk.ScheduleTargetInput_FromText(text)
Specifying an execution role

An execution role is an IAM role that EventBridge Scheduler assumes in order to interact with other AWS services on your behalf.

The classes for templated schedule targets automatically create an IAM role with all the minimum necessary permissions to interact with the templated target. If you wish you may specify your own IAM role, then the templated targets will grant minimal required permissions. For example, the LambdaInvoke target will grant the IAM execution role lambda:InvokeFunction permission to invoke the Lambda function.

var fn function


role := iam.NewRole(this, jsii.String("Role"), &RoleProps{
	AssumedBy: iam.NewServicePrincipal(jsii.String("scheduler.amazonaws.com")),
})

target := targets.NewLambdaInvoke(fn, &ScheduleTargetBaseProps{
	Input: awscdk.ScheduleTargetInput_FromObject(map[string]*string{
		"payload": jsii.String("useful"),
	}),
	Role: Role,
})
Specifying an encryption key

EventBridge Scheduler integrates with AWS Key Management Service (AWS KMS) to encrypt and decrypt your data using an AWS KMS key. EventBridge Scheduler supports two types of KMS keys: AWS owned keys, and customer managed keys.

By default, all events in Scheduler are encrypted with a key that AWS owns and manages. If you wish you can also provide a customer managed key to encrypt and decrypt the payload that your schedule delivers to its target using the key property. Target classes will automatically add AWS kms:Decrypt permission to your schedule's execution role permissions policy.

var key key
var fn function


target := targets.NewLambdaInvoke(fn, &ScheduleTargetBaseProps{
	Input: awscdk.ScheduleTargetInput_FromObject(map[string]*string{
		"payload": jsii.String("useful"),
	}),
})

schedule := awscdk.NewSchedule(this, jsii.String("Schedule"), &ScheduleProps{
	Schedule: awscdk.ScheduleExpression_Rate(awscdk.Duration_Minutes(jsii.Number(10))),
	Target: Target,
	Key: Key,
})

See Data protection in Amazon EventBridge Scheduler for more details.

Configuring flexible time windows

You can configure flexible time windows by specifying the timeWindow property. Flexible time windows are disabled by default.

var target lambdaInvoke


schedule := awscdk.NewSchedule(this, jsii.String("Schedule"), &ScheduleProps{
	Schedule: awscdk.ScheduleExpression_Rate(awscdk.Duration_Hours(jsii.Number(12))),
	Target: Target,
	TimeWindow: awscdk.TimeWindow_Flexible(awscdk.Duration_*Hours(jsii.Number(10))),
})

See Configuring flexible time windows for more details.

Error-handling

You can configure how your schedule handles failures, when EventBridge Scheduler is unable to deliver an event successfully to a target, by using two primary mechanisms: a retry policy, and a dead-letter queue (DLQ).

A retry policy determines the number of times EventBridge Scheduler must retry a failed event, and how long to keep an unprocessed event.

A DLQ is a standard Amazon SQS queue EventBridge Scheduler uses to deliver failed events to, after the retry policy has been exhausted. You can use a DLQ to troubleshoot issues with your schedule or its downstream target. If you've configured a retry policy for your schedule, EventBridge Scheduler delivers the dead-letter event after exhausting the maximum number of retries you set in the retry policy.

var fn function


dlq := sqs.NewQueue(this, jsii.String("DLQ"), &QueueProps{
	QueueName: jsii.String("MyDLQ"),
})

target := targets.NewLambdaInvoke(fn, &ScheduleTargetBaseProps{
	DeadLetterQueue: dlq,
	MaxEventAge: awscdk.Duration_Minutes(jsii.Number(1)),
	RetryAttempts: jsii.Number(3),
})

Monitoring

You can monitor Amazon EventBridge Scheduler using CloudWatch, which collects raw data and processes it into readable, near real-time metrics. EventBridge Scheduler emits a set of metrics for all schedules, and an additional set of metrics for schedules that have an associated dead-letter queue (DLQ). If you configure a DLQ for your schedule, EventBridge Scheduler publishes additional metrics when your schedule exhausts its retry policy.

Metrics for all schedules

The Schedule class provides static methods for accessing all schedules metrics with default configuration, such as metricAllErrors for viewing errors when executing targets.

cloudwatch.NewAlarm(this, jsii.String("SchedulesErrorAlarm"), &AlarmProps{
	Metric: awscdk.Schedule_MetricAllErrors(),
	Threshold: jsii.Number(0),
	EvaluationPeriods: jsii.Number(1),
})
Metrics for a Schedule Group

To view metrics for a specific group you can use methods on class ScheduleGroup:

scheduleGroup := awscdk.NewScheduleGroup(this, jsii.String("ScheduleGroup"), &ScheduleGroupProps{
	ScheduleGroupName: jsii.String("MyScheduleGroup"),
})

cloudwatch.NewAlarm(this, jsii.String("MyGroupErrorAlarm"), &AlarmProps{
	Metric: scheduleGroup.metricTargetErrors(),
	EvaluationPeriods: jsii.Number(1),
	Threshold: jsii.Number(0),
})

// Or use default group
defaultScheduleGroup := awscdk.ScheduleGroup_FromDefaultScheduleGroup(this, jsii.String("DefaultScheduleGroup"))
cloudwatch.NewAlarm(this, jsii.String("DefaultScheduleGroupErrorAlarm"), &AlarmProps{
	Metric: defaultScheduleGroup.MetricTargetErrors(),
	EvaluationPeriods: jsii.Number(1),
	Threshold: jsii.Number(0),
})

See full list of metrics and their description at Monitoring Using CloudWatch Metrics in the AWS EventBridge Scheduler User Guide.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CfnScheduleGroup_CFN_RESOURCE_TYPE_NAME

func CfnScheduleGroup_CFN_RESOURCE_TYPE_NAME() *string

func CfnScheduleGroup_IsCfnElement

func CfnScheduleGroup_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnScheduleGroup_IsCfnResource

func CfnScheduleGroup_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnScheduleGroup_IsConstruct

func CfnScheduleGroup_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnSchedule_CFN_RESOURCE_TYPE_NAME

func CfnSchedule_CFN_RESOURCE_TYPE_NAME() *string

func CfnSchedule_IsCfnElement

func CfnSchedule_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnSchedule_IsCfnResource

func CfnSchedule_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnSchedule_IsConstruct

func CfnSchedule_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func ContextAttribute_AttemptNumber added in v2.186.0

func ContextAttribute_AttemptNumber() *string

func ContextAttribute_ExecutionId added in v2.186.0

func ContextAttribute_ExecutionId() *string

func ContextAttribute_FromName added in v2.186.0

func ContextAttribute_FromName(name *string) *string

Escape hatch for other Context Attributes that may be added in the future.

func ContextAttribute_ScheduleArn added in v2.186.0

func ContextAttribute_ScheduleArn() *string

func ContextAttribute_ScheduledTime added in v2.186.0

func ContextAttribute_ScheduledTime() *string

func NewCfnScheduleGroup_Override

func NewCfnScheduleGroup_Override(c CfnScheduleGroup, scope constructs.Construct, id *string, props *CfnScheduleGroupProps)

func NewCfnSchedule_Override

func NewCfnSchedule_Override(c CfnSchedule, scope constructs.Construct, id *string, props *CfnScheduleProps)

func NewScheduleExpression_Override added in v2.186.0

func NewScheduleExpression_Override(s ScheduleExpression)

func NewScheduleGroup_Override added in v2.186.0

func NewScheduleGroup_Override(s ScheduleGroup, scope constructs.Construct, id *string, props *ScheduleGroupProps)

func NewScheduleTargetInput_Override added in v2.186.0

func NewScheduleTargetInput_Override(s ScheduleTargetInput)

func NewSchedule_Override added in v2.186.0

func NewSchedule_Override(s Schedule, scope constructs.Construct, id *string, props *ScheduleProps)

func ScheduleGroup_IsConstruct added in v2.186.0

func ScheduleGroup_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func ScheduleGroup_IsOwnedResource added in v2.186.0

func ScheduleGroup_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise.

func ScheduleGroup_IsResource added in v2.186.0

func ScheduleGroup_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource.

func Schedule_IsConstruct added in v2.186.0

func Schedule_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func Schedule_IsOwnedResource added in v2.186.0

func Schedule_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise.

func Schedule_IsResource added in v2.186.0

func Schedule_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource.

func Schedule_MetricAll added in v2.186.0

func Schedule_MetricAll(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric

Return the given named metric for all schedules. Default: - sum over 5 minutes.

func Schedule_MetricAllAttempts added in v2.186.0

func Schedule_MetricAllAttempts(props *awscloudwatch.MetricOptions) awscloudwatch.Metric

Metric for all invocation attempts across all schedules. Default: - sum over 5 minutes.

func Schedule_MetricAllDropped added in v2.186.0

func Schedule_MetricAllDropped(props *awscloudwatch.MetricOptions) awscloudwatch.Metric

Metric for dropped invocations when EventBridge Scheduler stops attempting to invoke the target after a schedule's retry policy has been exhausted.

Metric is calculated for all schedules. Default: - sum over 5 minutes.

func Schedule_MetricAllErrors added in v2.186.0

func Schedule_MetricAllErrors(props *awscloudwatch.MetricOptions) awscloudwatch.Metric

Emitted when the target returns an exception after EventBridge Scheduler calls the target API across all schedules. Default: - sum over 5 minutes.

func Schedule_MetricAllFailedToBeSentToDLQ added in v2.186.0

func Schedule_MetricAllFailedToBeSentToDLQ(errorCode *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric

Metric for failed invocations that also failed to deliver to DLQ across all schedules. Default: - sum over 5 minutes.

func Schedule_MetricAllSentToDLQ added in v2.186.0

func Schedule_MetricAllSentToDLQ(props *awscloudwatch.MetricOptions) awscloudwatch.Metric

Metric for invocations delivered to the DLQ across all schedules. Default: - sum over 5 minutes.

func Schedule_MetricAllSentToDLQTruncated added in v2.186.0

func Schedule_MetricAllSentToDLQTruncated(props *awscloudwatch.MetricOptions) awscloudwatch.Metric

Metric for delivery of failed invocations to DLQ when the payload of the event sent to the DLQ exceeds the maximum size allowed by Amazon SQS.

Metric is calculated for all schedules. Default: - sum over 5 minutes.

func Schedule_MetricAllTargetThrottled added in v2.186.0

func Schedule_MetricAllTargetThrottled(props *awscloudwatch.MetricOptions) awscloudwatch.Metric

Metric for invocation failures due to API throttling by the target across all schedules. Default: - sum over 5 minutes.

func Schedule_MetricAllThrottled added in v2.186.0

func Schedule_MetricAllThrottled(props *awscloudwatch.MetricOptions) awscloudwatch.Metric

Metric for the number of invocations that were throttled across all schedules. See: https://docs.aws.amazon.com/scheduler/latest/UserGuide/scheduler-quotas.html

Default: - sum over 5 minutes.

Types

type CfnSchedule

type CfnSchedule interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The Amazon Resource Name (ARN) for the Amazon EventBridge Scheduler schedule.
	AttrArn() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The description you specify for the schedule.
	Description() *string
	SetDescription(val *string)
	// The date, in UTC, before which the schedule can invoke its target.
	EndDate() *string
	SetEndDate(val *string)
	// Allows you to configure a time window during which EventBridge Scheduler invokes the schedule.
	FlexibleTimeWindow() interface{}
	SetFlexibleTimeWindow(val interface{})
	// The name of the schedule group associated with this schedule.
	GroupName() *string
	SetGroupName(val *string)
	// The Amazon Resource Name (ARN) for the customer managed KMS key that EventBridge Scheduler will use to encrypt and decrypt your data.
	KmsKeyArn() *string
	SetKmsKeyArn(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The name of the schedule.
	Name() *string
	SetName(val *string)
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The expression that defines when the schedule runs.
	//
	// The following formats are supported.
	ScheduleExpression() *string
	SetScheduleExpression(val *string)
	// The timezone in which the scheduling expression is evaluated.
	ScheduleExpressionTimezone() *string
	SetScheduleExpressionTimezone(val *string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// The date, in UTC, after which the schedule can begin invoking its target.
	StartDate() *string
	SetStartDate(val *string)
	// Specifies whether the schedule is enabled or disabled.
	State() *string
	SetState(val *string)
	// The schedule's target details.
	Target() interface{}
	SetTarget(val interface{})
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A *schedule* is the main resource you create, configure, and manage using Amazon EventBridge Scheduler.

Every schedule has a *schedule expression* that determines when, and with what frequency, the schedule runs. EventBridge Scheduler supports three types of schedules: rate, cron, and one-time schedules. For more information about different schedule types, see [Schedule types](https://docs.aws.amazon.com/scheduler/latest/UserGuide/schedule-types.html) in the *EventBridge Scheduler User Guide* .

When you create a schedule, you configure a target for the schedule to invoke. A target is an API operation that EventBridge Scheduler calls on your behalf every time your schedule runs. EventBridge Scheduler supports two types of targets: *templated* targets invoke common API operations across a core groups of services, and customizeable *universal* targets that you can use to call more than 6,000 operations across over 270 services. For more information about configuring targets, see [Managing targets](https://docs.aws.amazon.com/scheduler/latest/UserGuide/managing-targets.html) in the *EventBridge Scheduler User Guide* .

For more information about managing schedules, changing the schedule state, setting up flexible time windows, and configuring a dead-letter queue for a schedule, see [Managing a schedule](https://docs.aws.amazon.com/scheduler/latest/UserGuide/managing-schedule.html) in the *EventBridge Scheduler User Guide* .

Example:

// 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"

var tags interface{}

cfnSchedule := awscdk.Aws_scheduler.NewCfnSchedule(this, jsii.String("MyCfnSchedule"), &CfnScheduleProps{
	FlexibleTimeWindow: &FlexibleTimeWindowProperty{
		Mode: jsii.String("mode"),

		// the properties below are optional
		MaximumWindowInMinutes: jsii.Number(123),
	},
	ScheduleExpression: jsii.String("scheduleExpression"),
	Target: &TargetProperty{
		Arn: jsii.String("arn"),
		RoleArn: jsii.String("roleArn"),

		// the properties below are optional
		DeadLetterConfig: &DeadLetterConfigProperty{
			Arn: jsii.String("arn"),
		},
		EcsParameters: &EcsParametersProperty{
			TaskDefinitionArn: jsii.String("taskDefinitionArn"),

			// the properties below are optional
			CapacityProviderStrategy: []interface{}{
				&CapacityProviderStrategyItemProperty{
					CapacityProvider: jsii.String("capacityProvider"),

					// the properties below are optional
					Base: jsii.Number(123),
					Weight: jsii.Number(123),
				},
			},
			EnableEcsManagedTags: jsii.Boolean(false),
			EnableExecuteCommand: jsii.Boolean(false),
			Group: jsii.String("group"),
			LaunchType: jsii.String("launchType"),
			NetworkConfiguration: &NetworkConfigurationProperty{
				AwsvpcConfiguration: &AwsVpcConfigurationProperty{
					Subnets: []*string{
						jsii.String("subnets"),
					},

					// the properties below are optional
					AssignPublicIp: jsii.String("assignPublicIp"),
					SecurityGroups: []*string{
						jsii.String("securityGroups"),
					},
				},
			},
			PlacementConstraints: []interface{}{
				&PlacementConstraintProperty{
					Expression: jsii.String("expression"),
					Type: jsii.String("type"),
				},
			},
			PlacementStrategy: []interface{}{
				&PlacementStrategyProperty{
					Field: jsii.String("field"),
					Type: jsii.String("type"),
				},
			},
			PlatformVersion: jsii.String("platformVersion"),
			PropagateTags: jsii.String("propagateTags"),
			ReferenceId: jsii.String("referenceId"),
			Tags: tags,
			TaskCount: jsii.Number(123),
		},
		EventBridgeParameters: &EventBridgeParametersProperty{
			DetailType: jsii.String("detailType"),
			Source: jsii.String("source"),
		},
		Input: jsii.String("input"),
		KinesisParameters: &KinesisParametersProperty{
			PartitionKey: jsii.String("partitionKey"),
		},
		RetryPolicy: &RetryPolicyProperty{
			MaximumEventAgeInSeconds: jsii.Number(123),
			MaximumRetryAttempts: jsii.Number(123),
		},
		SageMakerPipelineParameters: &SageMakerPipelineParametersProperty{
			PipelineParameterList: []interface{}{
				&SageMakerPipelineParameterProperty{
					Name: jsii.String("name"),
					Value: jsii.String("value"),
				},
			},
		},
		SqsParameters: &SqsParametersProperty{
			MessageGroupId: jsii.String("messageGroupId"),
		},
	},

	// the properties below are optional
	Description: jsii.String("description"),
	EndDate: jsii.String("endDate"),
	GroupName: jsii.String("groupName"),
	KmsKeyArn: jsii.String("kmsKeyArn"),
	Name: jsii.String("name"),
	ScheduleExpressionTimezone: jsii.String("scheduleExpressionTimezone"),
	StartDate: jsii.String("startDate"),
	State: jsii.String("state"),
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html

func NewCfnSchedule

func NewCfnSchedule(scope constructs.Construct, id *string, props *CfnScheduleProps) CfnSchedule

type CfnScheduleGroup

type CfnScheduleGroup interface {
	awscdk.CfnResource
	awscdk.IInspectable
	awscdk.ITaggable
	// The Amazon Resource Name (ARN) of the schedule group.
	AttrArn() *string
	// The date and time at which the schedule group was created.
	AttrCreationDate() *string
	// The time at which the schedule group was last modified.
	AttrLastModificationDate() *string
	// Specifies the state of the schedule group.
	//
	// *Allowed Values* : `ACTIVE` | `DELETING`.
	AttrState() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The name of the schedule group.
	Name() *string
	SetName(val *string)
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Tag Manager which manages the tags for this resource.
	Tags() awscdk.TagManager
	// An array of key-value pairs to apply to this resource.
	TagsRaw() *[]*awscdk.CfnTag
	SetTagsRaw(val *[]*awscdk.CfnTag)
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A *schedule group* is an Amazon EventBridge Scheduler resource you use to organize your schedules.

Your AWS account comes with a `default` scheduler group. You associate a new schedule with the `default` group or with schedule groups that you create and manage. You can create up to [500 schedule groups](https://docs.aws.amazon.com/scheduler/latest/UserGuide/scheduler-quotas.html) in your AWS account. With EventBridge Scheduler, you apply [tags](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) to schedule groups, not to individual schedules to organize your resources.

For more information about managing schedule groups, see [Managing a schedule group](https://docs.aws.amazon.com/scheduler/latest/UserGuide/managing-schedule-group.html) in the *EventBridge Scheduler User Guide* .

Example:

// 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"

cfnScheduleGroup := awscdk.Aws_scheduler.NewCfnScheduleGroup(this, jsii.String("MyCfnScheduleGroup"), &CfnScheduleGroupProps{
	Name: jsii.String("name"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedulegroup.html

func NewCfnScheduleGroup

func NewCfnScheduleGroup(scope constructs.Construct, id *string, props *CfnScheduleGroupProps) CfnScheduleGroup

type CfnScheduleGroupProps

type CfnScheduleGroupProps struct {
	// The name of the schedule group.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedulegroup.html#cfn-scheduler-schedulegroup-name
	//
	Name *string `field:"optional" json:"name" yaml:"name"`
	// An array of key-value pairs to apply to this resource.
	//
	// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedulegroup.html#cfn-scheduler-schedulegroup-tags
	//
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnScheduleGroup`.

Example:

// 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"

cfnScheduleGroupProps := &CfnScheduleGroupProps{
	Name: jsii.String("name"),
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedulegroup.html

type CfnScheduleProps

type CfnScheduleProps struct {
	// Allows you to configure a time window during which EventBridge Scheduler invokes the schedule.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-flexibletimewindow
	//
	FlexibleTimeWindow interface{} `field:"required" json:"flexibleTimeWindow" yaml:"flexibleTimeWindow"`
	// The expression that defines when the schedule runs. The following formats are supported.
	//
	// - `at` expression - `at(yyyy-mm-ddThh:mm:ss)`
	// - `rate` expression - `rate(value unit)`
	// - `cron` expression - `cron(fields)`
	//
	// You can use `at` expressions to create one-time schedules that invoke a target once, at the time and in the time zone, that you specify. You can use `rate` and `cron` expressions to create recurring schedules. Rate-based schedules are useful when you want to invoke a target at regular intervals, such as every 15 minutes or every five days. Cron-based schedules are useful when you want to invoke a target periodically at a specific time, such as at 8:00 am (UTC+0) every 1st day of the month.
	//
	// A `cron` expression consists of six fields separated by white spaces: `(minutes hours day_of_month month day_of_week year)` .
	//
	// A `rate` expression consists of a *value* as a positive integer, and a *unit* with the following options: `minute` | `minutes` | `hour` | `hours` | `day` | `days`
	//
	// For more information and examples, see [Schedule types on EventBridge Scheduler](https://docs.aws.amazon.com/scheduler/latest/UserGuide/schedule-types.html) in the *EventBridge Scheduler User Guide* .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-scheduleexpression
	//
	ScheduleExpression *string `field:"required" json:"scheduleExpression" yaml:"scheduleExpression"`
	// The schedule's target details.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-target
	//
	Target interface{} `field:"required" json:"target" yaml:"target"`
	// The description you specify for the schedule.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-description
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
	// The date, in UTC, before which the schedule can invoke its target.
	//
	// Depending on the schedule's recurrence expression, invocations might stop on, or before, the `EndDate` you specify.
	// EventBridge Scheduler ignores `EndDate` for one-time schedules.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-enddate
	//
	EndDate *string `field:"optional" json:"endDate" yaml:"endDate"`
	// The name of the schedule group associated with this schedule.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-groupname
	//
	GroupName *string `field:"optional" json:"groupName" yaml:"groupName"`
	// The Amazon Resource Name (ARN) for the customer managed KMS key that EventBridge Scheduler will use to encrypt and decrypt your data.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-kmskeyarn
	//
	KmsKeyArn *string `field:"optional" json:"kmsKeyArn" yaml:"kmsKeyArn"`
	// The name of the schedule.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-name
	//
	Name *string `field:"optional" json:"name" yaml:"name"`
	// The timezone in which the scheduling expression is evaluated.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-scheduleexpressiontimezone
	//
	ScheduleExpressionTimezone *string `field:"optional" json:"scheduleExpressionTimezone" yaml:"scheduleExpressionTimezone"`
	// The date, in UTC, after which the schedule can begin invoking its target.
	//
	// Depending on the schedule's recurrence expression, invocations might occur on, or after, the `StartDate` you specify.
	// EventBridge Scheduler ignores `StartDate` for one-time schedules.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-startdate
	//
	StartDate *string `field:"optional" json:"startDate" yaml:"startDate"`
	// Specifies whether the schedule is enabled or disabled.
	//
	// *Allowed Values* : `ENABLED` | `DISABLED`.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-state
	//
	State *string `field:"optional" json:"state" yaml:"state"`
}

Properties for defining a `CfnSchedule`.

Example:

// 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"

var tags interface{}

cfnScheduleProps := &CfnScheduleProps{
	FlexibleTimeWindow: &FlexibleTimeWindowProperty{
		Mode: jsii.String("mode"),

		// the properties below are optional
		MaximumWindowInMinutes: jsii.Number(123),
	},
	ScheduleExpression: jsii.String("scheduleExpression"),
	Target: &TargetProperty{
		Arn: jsii.String("arn"),
		RoleArn: jsii.String("roleArn"),

		// the properties below are optional
		DeadLetterConfig: &DeadLetterConfigProperty{
			Arn: jsii.String("arn"),
		},
		EcsParameters: &EcsParametersProperty{
			TaskDefinitionArn: jsii.String("taskDefinitionArn"),

			// the properties below are optional
			CapacityProviderStrategy: []interface{}{
				&CapacityProviderStrategyItemProperty{
					CapacityProvider: jsii.String("capacityProvider"),

					// the properties below are optional
					Base: jsii.Number(123),
					Weight: jsii.Number(123),
				},
			},
			EnableEcsManagedTags: jsii.Boolean(false),
			EnableExecuteCommand: jsii.Boolean(false),
			Group: jsii.String("group"),
			LaunchType: jsii.String("launchType"),
			NetworkConfiguration: &NetworkConfigurationProperty{
				AwsvpcConfiguration: &AwsVpcConfigurationProperty{
					Subnets: []*string{
						jsii.String("subnets"),
					},

					// the properties below are optional
					AssignPublicIp: jsii.String("assignPublicIp"),
					SecurityGroups: []*string{
						jsii.String("securityGroups"),
					},
				},
			},
			PlacementConstraints: []interface{}{
				&PlacementConstraintProperty{
					Expression: jsii.String("expression"),
					Type: jsii.String("type"),
				},
			},
			PlacementStrategy: []interface{}{
				&PlacementStrategyProperty{
					Field: jsii.String("field"),
					Type: jsii.String("type"),
				},
			},
			PlatformVersion: jsii.String("platformVersion"),
			PropagateTags: jsii.String("propagateTags"),
			ReferenceId: jsii.String("referenceId"),
			Tags: tags,
			TaskCount: jsii.Number(123),
		},
		EventBridgeParameters: &EventBridgeParametersProperty{
			DetailType: jsii.String("detailType"),
			Source: jsii.String("source"),
		},
		Input: jsii.String("input"),
		KinesisParameters: &KinesisParametersProperty{
			PartitionKey: jsii.String("partitionKey"),
		},
		RetryPolicy: &RetryPolicyProperty{
			MaximumEventAgeInSeconds: jsii.Number(123),
			MaximumRetryAttempts: jsii.Number(123),
		},
		SageMakerPipelineParameters: &SageMakerPipelineParametersProperty{
			PipelineParameterList: []interface{}{
				&SageMakerPipelineParameterProperty{
					Name: jsii.String("name"),
					Value: jsii.String("value"),
				},
			},
		},
		SqsParameters: &SqsParametersProperty{
			MessageGroupId: jsii.String("messageGroupId"),
		},
	},

	// the properties below are optional
	Description: jsii.String("description"),
	EndDate: jsii.String("endDate"),
	GroupName: jsii.String("groupName"),
	KmsKeyArn: jsii.String("kmsKeyArn"),
	Name: jsii.String("name"),
	ScheduleExpressionTimezone: jsii.String("scheduleExpressionTimezone"),
	StartDate: jsii.String("startDate"),
	State: jsii.String("state"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html

type CfnSchedule_AwsVpcConfigurationProperty

type CfnSchedule_AwsVpcConfigurationProperty struct {
	// Specifies the subnets associated with the task.
	//
	// These subnets must all be in the same VPC. You can specify as many as 16 subnets.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-awsvpcconfiguration.html#cfn-scheduler-schedule-awsvpcconfiguration-subnets
	//
	Subnets *[]*string `field:"required" json:"subnets" yaml:"subnets"`
	// Specifies whether the task's elastic network interface receives a public IP address.
	//
	// You can specify `ENABLED` only when `LaunchType` in `EcsParameters` is set to `FARGATE` .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-awsvpcconfiguration.html#cfn-scheduler-schedule-awsvpcconfiguration-assignpublicip
	//
	AssignPublicIp *string `field:"optional" json:"assignPublicIp" yaml:"assignPublicIp"`
	// Specifies the security groups associated with the task.
	//
	// These security groups must all be in the same VPC. You can specify as many as five security groups. If you do not specify a security group, the default security group for the VPC is used.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-awsvpcconfiguration.html#cfn-scheduler-schedule-awsvpcconfiguration-securitygroups
	//
	SecurityGroups *[]*string `field:"optional" json:"securityGroups" yaml:"securityGroups"`
}

This structure specifies the VPC subnets and security groups for the task, and whether a public IP address is to be used.

This structure is relevant only for ECS tasks that use the awsvpc network mode.

Example:

// 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"

awsVpcConfigurationProperty := &AwsVpcConfigurationProperty{
	Subnets: []*string{
		jsii.String("subnets"),
	},

	// the properties below are optional
	AssignPublicIp: jsii.String("assignPublicIp"),
	SecurityGroups: []*string{
		jsii.String("securityGroups"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-awsvpcconfiguration.html

type CfnSchedule_CapacityProviderStrategyItemProperty

type CfnSchedule_CapacityProviderStrategyItemProperty struct {
	// The short name of the capacity provider.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-capacityproviderstrategyitem.html#cfn-scheduler-schedule-capacityproviderstrategyitem-capacityprovider
	//
	CapacityProvider *string `field:"required" json:"capacityProvider" yaml:"capacityProvider"`
	// The base value designates how many tasks, at a minimum, to run on the specified capacity provider.
	//
	// Only one capacity provider in a capacity provider strategy can have a base defined. If no value is specified, the default value of `0` is used.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-capacityproviderstrategyitem.html#cfn-scheduler-schedule-capacityproviderstrategyitem-base
	//
	// Default: - 0.
	//
	Base *float64 `field:"optional" json:"base" yaml:"base"`
	// The weight value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider.
	//
	// The weight value is taken into consideration after the base value, if defined, is satisfied.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-capacityproviderstrategyitem.html#cfn-scheduler-schedule-capacityproviderstrategyitem-weight
	//
	// Default: - 0.
	//
	Weight *float64 `field:"optional" json:"weight" yaml:"weight"`
}

The details of a capacity provider strategy.

Example:

// 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"

capacityProviderStrategyItemProperty := &CapacityProviderStrategyItemProperty{
	CapacityProvider: jsii.String("capacityProvider"),

	// the properties below are optional
	Base: jsii.Number(123),
	Weight: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-capacityproviderstrategyitem.html

type CfnSchedule_DeadLetterConfigProperty

type CfnSchedule_DeadLetterConfigProperty struct {
	// The Amazon Resource Name (ARN) of the SQS queue specified as the destination for the dead-letter queue.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-deadletterconfig.html#cfn-scheduler-schedule-deadletterconfig-arn
	//
	Arn *string `field:"optional" json:"arn" yaml:"arn"`
}

An object that contains information about an Amazon SQS queue that EventBridge Scheduler uses as a dead-letter queue for your schedule.

If specified, EventBridge Scheduler delivers failed events that could not be successfully delivered to a target to the queue.

Example:

// 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"

deadLetterConfigProperty := &DeadLetterConfigProperty{
	Arn: jsii.String("arn"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-deadletterconfig.html

type CfnSchedule_EcsParametersProperty

type CfnSchedule_EcsParametersProperty struct {
	// The Amazon Resource Name (ARN) of the task definition to use if the event target is an Amazon ECS task.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-ecsparameters.html#cfn-scheduler-schedule-ecsparameters-taskdefinitionarn
	//
	TaskDefinitionArn *string `field:"required" json:"taskDefinitionArn" yaml:"taskDefinitionArn"`
	// The capacity provider strategy to use for the task.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-ecsparameters.html#cfn-scheduler-schedule-ecsparameters-capacityproviderstrategy
	//
	CapacityProviderStrategy interface{} `field:"optional" json:"capacityProviderStrategy" yaml:"capacityProviderStrategy"`
	// Specifies whether to enable Amazon ECS managed tags for the task.
	//
	// For more information, see [Tagging Your Amazon ECS Resources](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) in the *Amazon ECS Developer Guide* .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-ecsparameters.html#cfn-scheduler-schedule-ecsparameters-enableecsmanagedtags
	//
	EnableEcsManagedTags interface{} `field:"optional" json:"enableEcsManagedTags" yaml:"enableEcsManagedTags"`
	// Whether or not to enable the execute command functionality for the containers in this task.
	//
	// If true, this enables execute command functionality on all containers in the task.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-ecsparameters.html#cfn-scheduler-schedule-ecsparameters-enableexecutecommand
	//
	EnableExecuteCommand interface{} `field:"optional" json:"enableExecuteCommand" yaml:"enableExecuteCommand"`
	// Specifies an Amazon ECS task group for the task.
	//
	// The maximum length is 255 characters.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-ecsparameters.html#cfn-scheduler-schedule-ecsparameters-group
	//
	Group *string `field:"optional" json:"group" yaml:"group"`
	// Specifies the launch type on which your task is running.
	//
	// The launch type that you specify here must match one of the launch type (compatibilities) of the target task. The `FARGATE` value is supported only in the Regions where Fargate with Amazon ECS is supported. For more information, see [AWS Fargate on Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html) in the *Amazon ECS Developer Guide* .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-ecsparameters.html#cfn-scheduler-schedule-ecsparameters-launchtype
	//
	LaunchType *string `field:"optional" json:"launchType" yaml:"launchType"`
	// This structure specifies the network configuration for an ECS task.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-ecsparameters.html#cfn-scheduler-schedule-ecsparameters-networkconfiguration
	//
	NetworkConfiguration interface{} `field:"optional" json:"networkConfiguration" yaml:"networkConfiguration"`
	// An array of placement constraint objects to use for the task.
	//
	// You can specify up to 10 constraints per task (including constraints in the task definition and those specified at runtime).
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-ecsparameters.html#cfn-scheduler-schedule-ecsparameters-placementconstraints
	//
	PlacementConstraints interface{} `field:"optional" json:"placementConstraints" yaml:"placementConstraints"`
	// The task placement strategy for a task or service.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-ecsparameters.html#cfn-scheduler-schedule-ecsparameters-placementstrategy
	//
	PlacementStrategy interface{} `field:"optional" json:"placementStrategy" yaml:"placementStrategy"`
	// Specifies the platform version for the task.
	//
	// Specify only the numeric portion of the platform version, such as `1.1.0` .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-ecsparameters.html#cfn-scheduler-schedule-ecsparameters-platformversion
	//
	PlatformVersion *string `field:"optional" json:"platformVersion" yaml:"platformVersion"`
	// Specifies whether to propagate the tags from the task definition to the task.
	//
	// If no value is specified, the tags are not propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the Amazon ECS [`TagResource`](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-ecsparameters.html#cfn-scheduler-schedule-ecsparameters-propagatetags
	//
	PropagateTags *string `field:"optional" json:"propagateTags" yaml:"propagateTags"`
	// The reference ID to use for the task.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-ecsparameters.html#cfn-scheduler-schedule-ecsparameters-referenceid
	//
	ReferenceId *string `field:"optional" json:"referenceId" yaml:"referenceId"`
	// The metadata that you apply to the task to help you categorize and organize them.
	//
	// Each tag consists of a key and an optional value, both of which you define. For more information, see [`RunTask`](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html) in the *Amazon ECS API Reference* .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-ecsparameters.html#cfn-scheduler-schedule-ecsparameters-tags
	//
	Tags interface{} `field:"optional" json:"tags" yaml:"tags"`
	// The number of tasks to create based on `TaskDefinition` .
	//
	// The default is `1` .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-ecsparameters.html#cfn-scheduler-schedule-ecsparameters-taskcount
	//
	TaskCount *float64 `field:"optional" json:"taskCount" yaml:"taskCount"`
}

The templated target type for the Amazon ECS [`RunTask`](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html) API operation.

Example:

// 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"

var tags interface{}

ecsParametersProperty := &EcsParametersProperty{
	TaskDefinitionArn: jsii.String("taskDefinitionArn"),

	// the properties below are optional
	CapacityProviderStrategy: []interface{}{
		&CapacityProviderStrategyItemProperty{
			CapacityProvider: jsii.String("capacityProvider"),

			// the properties below are optional
			Base: jsii.Number(123),
			Weight: jsii.Number(123),
		},
	},
	EnableEcsManagedTags: jsii.Boolean(false),
	EnableExecuteCommand: jsii.Boolean(false),
	Group: jsii.String("group"),
	LaunchType: jsii.String("launchType"),
	NetworkConfiguration: &NetworkConfigurationProperty{
		AwsvpcConfiguration: &AwsVpcConfigurationProperty{
			Subnets: []*string{
				jsii.String("subnets"),
			},

			// the properties below are optional
			AssignPublicIp: jsii.String("assignPublicIp"),
			SecurityGroups: []*string{
				jsii.String("securityGroups"),
			},
		},
	},
	PlacementConstraints: []interface{}{
		&PlacementConstraintProperty{
			Expression: jsii.String("expression"),
			Type: jsii.String("type"),
		},
	},
	PlacementStrategy: []interface{}{
		&PlacementStrategyProperty{
			Field: jsii.String("field"),
			Type: jsii.String("type"),
		},
	},
	PlatformVersion: jsii.String("platformVersion"),
	PropagateTags: jsii.String("propagateTags"),
	ReferenceId: jsii.String("referenceId"),
	Tags: tags,
	TaskCount: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-ecsparameters.html

type CfnSchedule_EventBridgeParametersProperty

type CfnSchedule_EventBridgeParametersProperty struct {
	// A free-form string, with a maximum of 128 characters, used to decide what fields to expect in the event detail.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-eventbridgeparameters.html#cfn-scheduler-schedule-eventbridgeparameters-detailtype
	//
	DetailType *string `field:"required" json:"detailType" yaml:"detailType"`
	// The source of the event.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-eventbridgeparameters.html#cfn-scheduler-schedule-eventbridgeparameters-source
	//
	Source *string `field:"required" json:"source" yaml:"source"`
}

The templated target type for the EventBridge [`PutEvents`](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html) API operation.

Example:

// 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"

eventBridgeParametersProperty := &EventBridgeParametersProperty{
	DetailType: jsii.String("detailType"),
	Source: jsii.String("source"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-eventbridgeparameters.html

type CfnSchedule_FlexibleTimeWindowProperty

type CfnSchedule_FlexibleTimeWindowProperty struct {
	// Determines whether the schedule is invoked within a flexible time window.
	//
	// You must use quotation marks when you specify this value in your JSON or YAML template.
	//
	// *Allowed Values* : `"OFF"` | `"FLEXIBLE"`.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-flexibletimewindow.html#cfn-scheduler-schedule-flexibletimewindow-mode
	//
	Mode *string `field:"required" json:"mode" yaml:"mode"`
	// The maximum time window during which a schedule can be invoked.
	//
	// *Minimum* : `1`
	//
	// *Maximum* : `1440`.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-flexibletimewindow.html#cfn-scheduler-schedule-flexibletimewindow-maximumwindowinminutes
	//
	MaximumWindowInMinutes *float64 `field:"optional" json:"maximumWindowInMinutes" yaml:"maximumWindowInMinutes"`
}

Allows you to configure a time window during which EventBridge Scheduler invokes the schedule.

Example:

// 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"

flexibleTimeWindowProperty := &FlexibleTimeWindowProperty{
	Mode: jsii.String("mode"),

	// the properties below are optional
	MaximumWindowInMinutes: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-flexibletimewindow.html

type CfnSchedule_KinesisParametersProperty

type CfnSchedule_KinesisParametersProperty struct {
	// Specifies the shard to which EventBridge Scheduler sends the event.
	//
	// For more information, see [Amazon Kinesis Data Streams terminology and concepts](https://docs.aws.amazon.com/streams/latest/dev/key-concepts.html) in the *Amazon Kinesis Streams Developer Guide* .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-kinesisparameters.html#cfn-scheduler-schedule-kinesisparameters-partitionkey
	//
	PartitionKey *string `field:"required" json:"partitionKey" yaml:"partitionKey"`
}

The templated target type for the Amazon Kinesis [`PutRecord`](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecord.html) API operation.

Example:

// 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"

kinesisParametersProperty := &KinesisParametersProperty{
	PartitionKey: jsii.String("partitionKey"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-kinesisparameters.html

type CfnSchedule_NetworkConfigurationProperty

type CfnSchedule_NetworkConfigurationProperty struct {
	// Specifies the Amazon VPC subnets and security groups for the task, and whether a public IP address is to be used.
	//
	// This structure is relevant only for ECS tasks that use the awsvpc network mode.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-networkconfiguration.html#cfn-scheduler-schedule-networkconfiguration-awsvpcconfiguration
	//
	AwsvpcConfiguration interface{} `field:"optional" json:"awsvpcConfiguration" yaml:"awsvpcConfiguration"`
}

Specifies the network configuration for an ECS task.

Example:

// 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"

networkConfigurationProperty := &NetworkConfigurationProperty{
	AwsvpcConfiguration: &AwsVpcConfigurationProperty{
		Subnets: []*string{
			jsii.String("subnets"),
		},

		// the properties below are optional
		AssignPublicIp: jsii.String("assignPublicIp"),
		SecurityGroups: []*string{
			jsii.String("securityGroups"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-networkconfiguration.html

type CfnSchedule_PlacementConstraintProperty

type CfnSchedule_PlacementConstraintProperty struct {
	// A cluster query language expression to apply to the constraint.
	//
	// You cannot specify an expression if the constraint type is `distinctInstance` . For more information, see [Cluster query language](https://docs.aws.amazon.com/latest/developerguide/cluster-query-language.html) in the *Amazon ECS Developer Guide* .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-placementconstraint.html#cfn-scheduler-schedule-placementconstraint-expression
	//
	Expression *string `field:"optional" json:"expression" yaml:"expression"`
	// The type of constraint.
	//
	// Use `distinctInstance` to ensure that each task in a particular group is running on a different container instance. Use `memberOf` to restrict the selection to a group of valid candidates.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-placementconstraint.html#cfn-scheduler-schedule-placementconstraint-type
	//
	Type *string `field:"optional" json:"type" yaml:"type"`
}

An object representing a constraint on task placement.

Example:

// 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"

placementConstraintProperty := &PlacementConstraintProperty{
	Expression: jsii.String("expression"),
	Type: jsii.String("type"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-placementconstraint.html

type CfnSchedule_PlacementStrategyProperty

type CfnSchedule_PlacementStrategyProperty struct {
	// The field to apply the placement strategy against.
	//
	// For the spread placement strategy, valid values are `instanceId` (or `instanceId` , which has the same effect), or any platform or custom attribute that is applied to a container instance, such as `attribute:ecs.availability-zone` . For the binpack placement strategy, valid values are `cpu` and `memory` . For the random placement strategy, this field is not used.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-placementstrategy.html#cfn-scheduler-schedule-placementstrategy-field
	//
	Field *string `field:"optional" json:"field" yaml:"field"`
	// The type of placement strategy.
	//
	// The random placement strategy randomly places tasks on available candidates. The spread placement strategy spreads placement across available candidates evenly based on the field parameter. The binpack strategy places tasks on available candidates that have the least available amount of the resource that is specified with the field parameter. For example, if you binpack on memory, a task is placed on the instance with the least amount of remaining memory (but still enough to run the task).
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-placementstrategy.html#cfn-scheduler-schedule-placementstrategy-type
	//
	Type *string `field:"optional" json:"type" yaml:"type"`
}

The task placement strategy for a task or service.

Example:

// 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"

placementStrategyProperty := &PlacementStrategyProperty{
	Field: jsii.String("field"),
	Type: jsii.String("type"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-placementstrategy.html

type CfnSchedule_RetryPolicyProperty

type CfnSchedule_RetryPolicyProperty struct {
	// The maximum amount of time, in seconds, to continue to make retry attempts.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-retrypolicy.html#cfn-scheduler-schedule-retrypolicy-maximumeventageinseconds
	//
	MaximumEventAgeInSeconds *float64 `field:"optional" json:"maximumEventAgeInSeconds" yaml:"maximumEventAgeInSeconds"`
	// The maximum number of retry attempts to make before the request fails.
	//
	// Retry attempts with exponential backoff continue until either the maximum number of attempts is made or until the duration of the `MaximumEventAgeInSeconds` is reached.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-retrypolicy.html#cfn-scheduler-schedule-retrypolicy-maximumretryattempts
	//
	MaximumRetryAttempts *float64 `field:"optional" json:"maximumRetryAttempts" yaml:"maximumRetryAttempts"`
}

A `RetryPolicy` object that includes information about the retry policy settings, including the maximum age of an event, and the maximum number of times EventBridge Scheduler will try to deliver the event to a target.

Example:

// 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"

retryPolicyProperty := &RetryPolicyProperty{
	MaximumEventAgeInSeconds: jsii.Number(123),
	MaximumRetryAttempts: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-retrypolicy.html

type CfnSchedule_SageMakerPipelineParameterProperty

type CfnSchedule_SageMakerPipelineParameterProperty struct {
	// Name of parameter to start execution of a SageMaker Model Building Pipeline.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-sagemakerpipelineparameter.html#cfn-scheduler-schedule-sagemakerpipelineparameter-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// Value of parameter to start execution of a SageMaker Model Building Pipeline.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-sagemakerpipelineparameter.html#cfn-scheduler-schedule-sagemakerpipelineparameter-value
	//
	Value *string `field:"required" json:"value" yaml:"value"`
}

The name and value pair of a parameter to use to start execution of a SageMaker Model Building Pipeline.

Example:

// 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"

sageMakerPipelineParameterProperty := &SageMakerPipelineParameterProperty{
	Name: jsii.String("name"),
	Value: jsii.String("value"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-sagemakerpipelineparameter.html

type CfnSchedule_SageMakerPipelineParametersProperty

type CfnSchedule_SageMakerPipelineParametersProperty struct {
	// List of parameter names and values to use when executing the SageMaker Model Building Pipeline.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-sagemakerpipelineparameters.html#cfn-scheduler-schedule-sagemakerpipelineparameters-pipelineparameterlist
	//
	PipelineParameterList interface{} `field:"optional" json:"pipelineParameterList" yaml:"pipelineParameterList"`
}

The templated target type for the Amazon SageMaker [`StartPipelineExecution`](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StartPipelineExecution.html) API operation.

Example:

// 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"

sageMakerPipelineParametersProperty := &SageMakerPipelineParametersProperty{
	PipelineParameterList: []interface{}{
		&SageMakerPipelineParameterProperty{
			Name: jsii.String("name"),
			Value: jsii.String("value"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-sagemakerpipelineparameters.html

type CfnSchedule_SqsParametersProperty

type CfnSchedule_SqsParametersProperty struct {
	// The FIFO message group ID to use as the target.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-sqsparameters.html#cfn-scheduler-schedule-sqsparameters-messagegroupid
	//
	MessageGroupId *string `field:"optional" json:"messageGroupId" yaml:"messageGroupId"`
}

The templated target type for the Amazon SQS [`SendMessage`](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html) API operation. Contains the message group ID to use when the target is a FIFO queue. If you specify an Amazon SQS FIFO queue as a target, the queue must have content-based deduplication enabled. For more information, see [Using the Amazon SQS message deduplication ID](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagededuplicationid-property.html) in the *Amazon SQS Developer Guide* .

Example:

// 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"

sqsParametersProperty := &SqsParametersProperty{
	MessageGroupId: jsii.String("messageGroupId"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-sqsparameters.html

type CfnSchedule_TargetProperty

type CfnSchedule_TargetProperty struct {
	// The Amazon Resource Name (ARN) of the target.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-arn
	//
	Arn *string `field:"required" json:"arn" yaml:"arn"`
	// The Amazon Resource Name (ARN) of the IAM role that EventBridge Scheduler will use for this target when the schedule is invoked.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-rolearn
	//
	RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"`
	// An object that contains information about an Amazon SQS queue that EventBridge Scheduler uses as a dead-letter queue for your schedule.
	//
	// If specified, EventBridge Scheduler delivers failed events that could not be successfully delivered to a target to the queue.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-deadletterconfig
	//
	DeadLetterConfig interface{} `field:"optional" json:"deadLetterConfig" yaml:"deadLetterConfig"`
	// The templated target type for the Amazon ECS [`RunTask`](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html) API operation.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-ecsparameters
	//
	EcsParameters interface{} `field:"optional" json:"ecsParameters" yaml:"ecsParameters"`
	// The templated target type for the EventBridge [`PutEvents`](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html) API operation.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-eventbridgeparameters
	//
	EventBridgeParameters interface{} `field:"optional" json:"eventBridgeParameters" yaml:"eventBridgeParameters"`
	// The text, or well-formed JSON, passed to the target.
	//
	// If you are configuring a templated Lambda , AWS Step Functions , or Amazon EventBridge target, the input must be a well-formed JSON. For all other target types, a JSON is not required. If you do not specify anything for this field, Amazon EventBridge Scheduler delivers a default notification to the target.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-input
	//
	Input *string `field:"optional" json:"input" yaml:"input"`
	// The templated target type for the Amazon Kinesis [`PutRecord`](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecord.html) API operation.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-kinesisparameters
	//
	KinesisParameters interface{} `field:"optional" json:"kinesisParameters" yaml:"kinesisParameters"`
	// A `RetryPolicy` object that includes information about the retry policy settings, including the maximum age of an event, and the maximum number of times EventBridge Scheduler will try to deliver the event to a target.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-retrypolicy
	//
	RetryPolicy interface{} `field:"optional" json:"retryPolicy" yaml:"retryPolicy"`
	// The templated target type for the Amazon SageMaker [`StartPipelineExecution`](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StartPipelineExecution.html) API operation.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-sagemakerpipelineparameters
	//
	SageMakerPipelineParameters interface{} `field:"optional" json:"sageMakerPipelineParameters" yaml:"sageMakerPipelineParameters"`
	// The templated target type for the Amazon SQS [`SendMessage`](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html) API operation. Contains the message group ID to use when the target is a FIFO queue. If you specify an Amazon SQS FIFO queue as a target, the queue must have content-based deduplication enabled. For more information, see [Using the Amazon SQS message deduplication ID](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagededuplicationid-property.html) in the *Amazon SQS Developer Guide* .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-sqsparameters
	//
	SqsParameters interface{} `field:"optional" json:"sqsParameters" yaml:"sqsParameters"`
}

The schedule's target.

EventBridge Scheduler supports templated target that invoke common API operations, as well as universal targets that you can customize to invoke over 6,000 API operations across more than 270 services. You can only specify one templated or universal target for a schedule.

Example:

// 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"

var tags interface{}

targetProperty := &TargetProperty{
	Arn: jsii.String("arn"),
	RoleArn: jsii.String("roleArn"),

	// the properties below are optional
	DeadLetterConfig: &DeadLetterConfigProperty{
		Arn: jsii.String("arn"),
	},
	EcsParameters: &EcsParametersProperty{
		TaskDefinitionArn: jsii.String("taskDefinitionArn"),

		// the properties below are optional
		CapacityProviderStrategy: []interface{}{
			&CapacityProviderStrategyItemProperty{
				CapacityProvider: jsii.String("capacityProvider"),

				// the properties below are optional
				Base: jsii.Number(123),
				Weight: jsii.Number(123),
			},
		},
		EnableEcsManagedTags: jsii.Boolean(false),
		EnableExecuteCommand: jsii.Boolean(false),
		Group: jsii.String("group"),
		LaunchType: jsii.String("launchType"),
		NetworkConfiguration: &NetworkConfigurationProperty{
			AwsvpcConfiguration: &AwsVpcConfigurationProperty{
				Subnets: []*string{
					jsii.String("subnets"),
				},

				// the properties below are optional
				AssignPublicIp: jsii.String("assignPublicIp"),
				SecurityGroups: []*string{
					jsii.String("securityGroups"),
				},
			},
		},
		PlacementConstraints: []interface{}{
			&PlacementConstraintProperty{
				Expression: jsii.String("expression"),
				Type: jsii.String("type"),
			},
		},
		PlacementStrategy: []interface{}{
			&PlacementStrategyProperty{
				Field: jsii.String("field"),
				Type: jsii.String("type"),
			},
		},
		PlatformVersion: jsii.String("platformVersion"),
		PropagateTags: jsii.String("propagateTags"),
		ReferenceId: jsii.String("referenceId"),
		Tags: tags,
		TaskCount: jsii.Number(123),
	},
	EventBridgeParameters: &EventBridgeParametersProperty{
		DetailType: jsii.String("detailType"),
		Source: jsii.String("source"),
	},
	Input: jsii.String("input"),
	KinesisParameters: &KinesisParametersProperty{
		PartitionKey: jsii.String("partitionKey"),
	},
	RetryPolicy: &RetryPolicyProperty{
		MaximumEventAgeInSeconds: jsii.Number(123),
		MaximumRetryAttempts: jsii.Number(123),
	},
	SageMakerPipelineParameters: &SageMakerPipelineParametersProperty{
		PipelineParameterList: []interface{}{
			&SageMakerPipelineParameterProperty{
				Name: jsii.String("name"),
				Value: jsii.String("value"),
			},
		},
	},
	SqsParameters: &SqsParametersProperty{
		MessageGroupId: jsii.String("messageGroupId"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html

type ContextAttribute added in v2.186.0

type ContextAttribute interface {
	Name() *string
	// Convert the path to the field in the event pattern to JSON.
	ToString() *string
}

A set of convenient static methods representing the Scheduler Context Attributes.

These Context Attributes keywords can be used inside a ScheduleTargetInput. See: https://docs.aws.amazon.com/scheduler/latest/UserGuide/managing-schedule-context-attributes.html

type CronOptionsWithTimezone added in v2.186.0

type CronOptionsWithTimezone struct {
	// The day of the month to run this rule at.
	// Default: - Every day of the month.
	//
	Day *string `field:"optional" json:"day" yaml:"day"`
	// The hour to run this rule at.
	// Default: - Every hour.
	//
	Hour *string `field:"optional" json:"hour" yaml:"hour"`
	// The minute to run this rule at.
	// Default: - Every minute.
	//
	Minute *string `field:"optional" json:"minute" yaml:"minute"`
	// The month to run this rule at.
	// Default: - Every month.
	//
	Month *string `field:"optional" json:"month" yaml:"month"`
	// The day of the week to run this rule at.
	// Default: - Any day of the week.
	//
	WeekDay *string `field:"optional" json:"weekDay" yaml:"weekDay"`
	// The year to run this rule at.
	// Default: - Every year.
	//
	Year *string `field:"optional" json:"year" yaml:"year"`
	// The timezone to run the schedule in.
	// Default: - TimeZone.ETC_UTC
	//
	TimeZone awscdk.TimeZone `field:"optional" json:"timeZone" yaml:"timeZone"`
}

Options to configure a cron expression.

All fields are strings so you can use complex expressions. Absence of a field implies '*' or '?', whichever one is appropriate.

Example:

var target lambdaInvoke

rateBasedSchedule := awscdk.NewSchedule(this, jsii.String("Schedule"), &ScheduleProps{
	Schedule: awscdk.ScheduleExpression_Rate(awscdk.Duration_Minutes(jsii.Number(10))),
	Target: Target,
	Description: jsii.String("This is a test rate-based schedule"),
})

cronBasedSchedule := awscdk.NewSchedule(this, jsii.String("Schedule"), &ScheduleProps{
	Schedule: awscdk.ScheduleExpression_Cron(&CronOptionsWithTimezone{
		Minute: jsii.String("0"),
		Hour: jsii.String("23"),
		Day: jsii.String("20"),
		Month: jsii.String("11"),
		TimeZone: awscdk.TimeZone_AMERICA_NEW_YORK(),
	}),
	Target: Target,
	Description: jsii.String("This is a test cron-based schedule that will run at 11:00 PM, on day 20 of the month, only in November in New York timezone"),
})

See: https://docs.aws.amazon.com/eventbridge/latest/userguide/scheduled-events.html#cron-expressions

type ISchedule added in v2.186.0

type ISchedule interface {
	awscdk.IResource
	// The arn of the schedule.
	ScheduleArn() *string
	// The schedule group associated with this schedule.
	ScheduleGroup() IScheduleGroup
	// The name of the schedule.
	ScheduleName() *string
}

Interface representing a created or an imported `Schedule`.

func Schedule_FromScheduleArn added in v2.186.0

func Schedule_FromScheduleArn(scope constructs.Construct, id *string, scheduleArn *string) ISchedule

Import an existing schedule using the ARN.

type IScheduleGroup added in v2.186.0

type IScheduleGroup interface {
	awscdk.IResource
	// Grant the indicated permissions on this group to the given principal.
	Grant(grantee awsiam.IGrantable, actions ...*string) awsiam.Grant
	// Grant delete schedule permission for schedules in this group to the given principal.
	GrantDeleteSchedules(identity awsiam.IGrantable) awsiam.Grant
	// Grant list and get schedule permissions for schedules in this group to the given principal.
	GrantReadSchedules(identity awsiam.IGrantable) awsiam.Grant
	// Grant create and update schedule permissions for schedules in this group to the given principal.
	GrantWriteSchedules(identity awsiam.IGrantable) awsiam.Grant
	// Return the given named metric for this group schedules.
	// Default: - sum over 5 minutes.
	//
	Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for all invocation attempts.
	// Default: - sum over 5 minutes.
	//
	MetricAttempts(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for dropped invocations when EventBridge Scheduler stops attempting to invoke the target after a schedule's retry policy has been exhausted.
	// Default: - sum over 5 minutes.
	//
	MetricDropped(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for failed invocations that also failed to deliver to DLQ.
	// Default: - sum over 5 minutes.
	//
	MetricFailedToBeSentToDLQ(errorCode *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for invocations delivered to the DLQ.
	// Default: - sum over 5 minutes.
	//
	MetricSentToDLQ(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for delivery of failed invocations to DLQ when the payload of the event sent to the DLQ exceeds the maximum size allowed by Amazon SQS.
	// Default: - sum over 5 minutes.
	//
	MetricSentToDLQTruncated(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Emitted when the target returns an exception after EventBridge Scheduler calls the target API.
	// Default: - sum over 5 minutes.
	//
	MetricTargetErrors(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for invocation failures due to API throttling by the target.
	// Default: - sum over 5 minutes.
	//
	MetricTargetThrottled(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for the number of invocations that were throttled because it exceeds your service quotas.
	// See: https://docs.aws.amazon.com/scheduler/latest/UserGuide/scheduler-quotas.html
	//
	// Default: - sum over 5 minutes.
	//
	MetricThrottled(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// The arn of the schedule group.
	ScheduleGroupArn() *string
	// The name of the schedule group.
	ScheduleGroupName() *string
}

Interface representing a created or an imported `ScheduleGroup`.

func ScheduleGroup_FromDefaultScheduleGroup added in v2.186.0

func ScheduleGroup_FromDefaultScheduleGroup(scope constructs.Construct, id *string) IScheduleGroup

Import a default schedule group.

func ScheduleGroup_FromScheduleGroupArn added in v2.186.0

func ScheduleGroup_FromScheduleGroupArn(scope constructs.Construct, id *string, scheduleGroupArn *string) IScheduleGroup

Import an external schedule group by ARN.

func ScheduleGroup_FromScheduleGroupName added in v2.186.0

func ScheduleGroup_FromScheduleGroupName(scope constructs.Construct, id *string, scheduleGroupName *string) IScheduleGroup

Import an existing schedule group with a given name.

type IScheduleTarget added in v2.186.0

type IScheduleTarget interface {
	// Returns the schedule target specification.
	Bind(_schedule ISchedule) *ScheduleTargetConfig
}

Interface representing a Event Bridge Schedule Target.

type Schedule added in v2.186.0

type Schedule interface {
	awscdk.Resource
	ISchedule
	// The environment this resource belongs to.
	//
	// For resources that are created and managed by the CDK
	// (generally, those created by creating new class instances like Role, Bucket, etc.),
	// this is always the same as the environment of the stack they belong to;
	// however, for imported resources
	// (those obtained from static methods like fromRoleArn, fromBucketName, etc.),
	// that might be different than the stack they were imported into.
	Env() *awscdk.ResourceEnvironment
	// The customer managed KMS key that EventBridge Scheduler will use to encrypt and decrypt your data.
	Key() awskms.IKey
	// The tree node.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	PhysicalName() *string
	// The arn of the schedule.
	ScheduleArn() *string
	// The schedule group associated with this schedule.
	ScheduleGroup() IScheduleGroup
	// The name of the schedule.
	ScheduleName() *string
	// The stack in which this resource is defined.
	Stack() awscdk.Stack
	// Apply the given removal policy to this resource.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	ToString() *string
}

An EventBridge Schedule.

Example:

import firehose "github.com/aws/aws-cdk-go/awscdk"
var deliveryStream iDeliveryStream

payload := map[string]*string{
	"Data": jsii.String("record"),
}

awscdk.NewSchedule(this, jsii.String("Schedule"), &ScheduleProps{
	Schedule: awscdk.ScheduleExpression_Rate(awscdk.Duration_Minutes(jsii.Number(60))),
	Target: targets.NewFirehosePutRecord(deliveryStream, &ScheduleTargetBaseProps{
		Input: awscdk.ScheduleTargetInput_FromObject(payload),
	}),
})

func NewSchedule added in v2.186.0

func NewSchedule(scope constructs.Construct, id *string, props *ScheduleProps) Schedule

type ScheduleExpression added in v2.186.0

type ScheduleExpression interface {
	// Retrieve the expression for this schedule.
	ExpressionString() *string
	// Retrieve the expression for this schedule.
	TimeZone() awscdk.TimeZone
}

ScheduleExpression for EventBridge Schedule.

You can choose from three schedule types when configuring your schedule: rate-based, cron-based, and one-time schedules. Both rate-based and cron-based schedules are recurring schedules.

Example:

import firehose "github.com/aws/aws-cdk-go/awscdk"
var deliveryStream iDeliveryStream

payload := map[string]*string{
	"Data": jsii.String("record"),
}

awscdk.NewSchedule(this, jsii.String("Schedule"), &ScheduleProps{
	Schedule: awscdk.ScheduleExpression_Rate(awscdk.Duration_Minutes(jsii.Number(60))),
	Target: targets.NewFirehosePutRecord(deliveryStream, &ScheduleTargetBaseProps{
		Input: awscdk.ScheduleTargetInput_FromObject(payload),
	}),
})

See: https://docs.aws.amazon.com/scheduler/latest/UserGuide/schedule-types.html

func ScheduleExpression_At added in v2.186.0

func ScheduleExpression_At(date *time.Time, timeZone awscdk.TimeZone) ScheduleExpression

Construct a one-time schedule from a date.

func ScheduleExpression_Cron added in v2.186.0

func ScheduleExpression_Cron(options *CronOptionsWithTimezone) ScheduleExpression

Create a recurring schedule from a set of cron fields and time zone.

func ScheduleExpression_Expression added in v2.186.0

func ScheduleExpression_Expression(expression *string, timeZone awscdk.TimeZone) ScheduleExpression

Construct a schedule from a literal schedule expression.

func ScheduleExpression_Rate added in v2.186.0

func ScheduleExpression_Rate(duration awscdk.Duration) ScheduleExpression

Construct a recurring schedule from an interval and a time unit.

Rates may be defined with any unit of time, but when converted into minutes, the duration must be a positive whole number of minutes.

type ScheduleGroup added in v2.186.0

type ScheduleGroup interface {
	awscdk.Resource
	IScheduleGroup
	// The environment this resource belongs to.
	//
	// For resources that are created and managed by the CDK
	// (generally, those created by creating new class instances like Role, Bucket, etc.),
	// this is always the same as the environment of the stack they belong to;
	// however, for imported resources
	// (those obtained from static methods like fromRoleArn, fromBucketName, etc.),
	// that might be different than the stack they were imported into.
	Env() *awscdk.ResourceEnvironment
	// The tree node.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	PhysicalName() *string
	// The arn of the schedule group.
	ScheduleGroupArn() *string
	// The name of the schedule group.
	ScheduleGroupName() *string
	// The stack in which this resource is defined.
	Stack() awscdk.Stack
	// Apply the given removal policy to this resource.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	GetResourceNameAttribute(nameAttr *string) *string
	// Grant the indicated permissions on this schedule group to the given principal.
	Grant(grantee awsiam.IGrantable, actions ...*string) awsiam.Grant
	// Grant delete schedule permission for schedules in this group to the given principal.
	GrantDeleteSchedules(identity awsiam.IGrantable) awsiam.Grant
	// Grant list and get schedule permissions for schedules in this group to the given principal.
	GrantReadSchedules(identity awsiam.IGrantable) awsiam.Grant
	// Grant create and update schedule permissions for schedules in this group to the given principal.
	GrantWriteSchedules(identity awsiam.IGrantable) awsiam.Grant
	// Return the given named metric for this schedule group.
	// Default: - sum over 5 minutes.
	//
	Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for all invocation attempts.
	// Default: - sum over 5 minutes.
	//
	MetricAttempts(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for dropped invocations when EventBridge Scheduler stops attempting to invoke the target after a schedule's retry policy has been exhausted.
	// Default: - sum over 5 minutes.
	//
	MetricDropped(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for failed invocations that also failed to deliver to DLQ.
	// Default: - sum over 5 minutes.
	//
	MetricFailedToBeSentToDLQ(errorCode *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for invocations delivered to the DLQ.
	// Default: - sum over 5 minutes.
	//
	MetricSentToDLQ(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for delivery of failed invocations to DLQ when the payload of the event sent to the DLQ exceeds the maximum size allowed by Amazon SQS.
	// Default: - sum over 5 minutes.
	//
	MetricSentToDLQTruncated(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Emitted when the target returns an exception after EventBridge Scheduler calls the target API.
	// Default: - sum over 5 minutes.
	//
	MetricTargetErrors(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for invocation failures due to API throttling by the target.
	// Default: - sum over 5 minutes.
	//
	MetricTargetThrottled(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for the number of invocations that were throttled because it exceeds your service quotas.
	// See: https://docs.aws.amazon.com/scheduler/latest/UserGuide/scheduler-quotas.html
	//
	// Default: - sum over 5 minutes.
	//
	MetricThrottled(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Returns a string representation of this construct.
	ToString() *string
}

A Schedule Group.

Example:

var target lambdaInvoke

scheduleGroup := awscdk.NewScheduleGroup(this, jsii.String("ScheduleGroup"), &ScheduleGroupProps{
	ScheduleGroupName: jsii.String("MyScheduleGroup"),
})

awscdk.NewSchedule(this, jsii.String("Schedule"), &ScheduleProps{
	Schedule: awscdk.ScheduleExpression_Rate(awscdk.Duration_Minutes(jsii.Number(10))),
	Target: Target,
	ScheduleGroup: ScheduleGroup,
})

func NewScheduleGroup added in v2.186.0

func NewScheduleGroup(scope constructs.Construct, id *string, props *ScheduleGroupProps) ScheduleGroup

type ScheduleGroupProps added in v2.186.0

type ScheduleGroupProps struct {
	// The removal policy for the group.
	//
	// If the group is removed also all schedules are removed.
	// Default: RemovalPolicy.RETAIN
	//
	RemovalPolicy awscdk.RemovalPolicy `field:"optional" json:"removalPolicy" yaml:"removalPolicy"`
	// The name of the schedule group.
	//
	// Up to 64 letters (uppercase and lowercase), numbers, hyphens, underscores and dots are allowed.
	// Default: - A unique name will be generated.
	//
	ScheduleGroupName *string `field:"optional" json:"scheduleGroupName" yaml:"scheduleGroupName"`
}

Properties for a Schedule Group.

Example:

var target lambdaInvoke

scheduleGroup := awscdk.NewScheduleGroup(this, jsii.String("ScheduleGroup"), &ScheduleGroupProps{
	ScheduleGroupName: jsii.String("MyScheduleGroup"),
})

awscdk.NewSchedule(this, jsii.String("Schedule"), &ScheduleProps{
	Schedule: awscdk.ScheduleExpression_Rate(awscdk.Duration_Minutes(jsii.Number(10))),
	Target: Target,
	ScheduleGroup: ScheduleGroup,
})

type ScheduleProps added in v2.186.0

type ScheduleProps struct {
	// The expression that defines when the schedule runs.
	//
	// Can be either a `at`, `rate`
	// or `cron` expression.
	Schedule ScheduleExpression `field:"required" json:"schedule" yaml:"schedule"`
	// The schedule's target details.
	Target IScheduleTarget `field:"required" json:"target" yaml:"target"`
	// The description you specify for the schedule.
	// Default: - no value.
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Indicates whether the schedule is enabled.
	// Default: true.
	//
	Enabled *bool `field:"optional" json:"enabled" yaml:"enabled"`
	// The date, in UTC, before which the schedule can invoke its target.
	//
	// EventBridge Scheduler ignores end for one-time schedules.
	// Default: - no value.
	//
	End *time.Time `field:"optional" json:"end" yaml:"end"`
	// The customer managed KMS key that EventBridge Scheduler will use to encrypt and decrypt your data.
	// Default: - All events in Scheduler are encrypted with a key that AWS owns and manages.
	//
	Key awskms.IKey `field:"optional" json:"key" yaml:"key"`
	// The schedule's group.
	// Default: - By default a schedule will be associated with the `default` group.
	//
	ScheduleGroup IScheduleGroup `field:"optional" json:"scheduleGroup" yaml:"scheduleGroup"`
	// The name of the schedule.
	//
	// Up to 64 letters (uppercase and lowercase), numbers, hyphens, underscores and dots are allowed.
	// Default: - A unique name will be generated.
	//
	ScheduleName *string `field:"optional" json:"scheduleName" yaml:"scheduleName"`
	// The date, in UTC, after which the schedule can begin invoking its target.
	//
	// EventBridge Scheduler ignores start for one-time schedules.
	// Default: - no value.
	//
	Start *time.Time `field:"optional" json:"start" yaml:"start"`
	// A time window during which EventBridge Scheduler invokes the schedule.
	// See: https://docs.aws.amazon.com/scheduler/latest/UserGuide/managing-schedule-flexible-time-windows.html
	//
	// Default: TimeWindow.off()
	//
	TimeWindow TimeWindow `field:"optional" json:"timeWindow" yaml:"timeWindow"`
}

Construction properties for `Schedule`.

Example:

import firehose "github.com/aws/aws-cdk-go/awscdk"
var deliveryStream iDeliveryStream

payload := map[string]*string{
	"Data": jsii.String("record"),
}

awscdk.NewSchedule(this, jsii.String("Schedule"), &ScheduleProps{
	Schedule: awscdk.ScheduleExpression_Rate(awscdk.Duration_Minutes(jsii.Number(60))),
	Target: targets.NewFirehosePutRecord(deliveryStream, &ScheduleTargetBaseProps{
		Input: awscdk.ScheduleTargetInput_FromObject(payload),
	}),
})

type ScheduleTargetConfig added in v2.186.0

type ScheduleTargetConfig struct {
	// The Amazon Resource Name (ARN) of the target.
	Arn *string `field:"required" json:"arn" yaml:"arn"`
	// Role to use to invoke this event target.
	Role awsiam.IRole `field:"required" json:"role" yaml:"role"`
	// An object that contains information about an Amazon SQS queue that EventBridge Scheduler uses as a dead-letter queue for your schedule.
	//
	// If specified, EventBridge Scheduler delivers failed events that could not be successfully delivered to a target to the queue.
	// Default: - No dead-letter queue.
	//
	DeadLetterConfig *CfnSchedule_DeadLetterConfigProperty `field:"optional" json:"deadLetterConfig" yaml:"deadLetterConfig"`
	// The templated target type for the Amazon ECS RunTask API Operation.
	// Default: - No parameters.
	//
	EcsParameters *CfnSchedule_EcsParametersProperty `field:"optional" json:"ecsParameters" yaml:"ecsParameters"`
	// The templated target type for the EventBridge PutEvents API operation.
	// Default: - No parameters.
	//
	EventBridgeParameters *CfnSchedule_EventBridgeParametersProperty `field:"optional" json:"eventBridgeParameters" yaml:"eventBridgeParameters"`
	// What input to pass to the target.
	// Default: - No input.
	//
	Input ScheduleTargetInput `field:"optional" json:"input" yaml:"input"`
	// The templated target type for the Amazon Kinesis PutRecord API operation.
	// Default: - No parameters.
	//
	KinesisParameters *CfnSchedule_KinesisParametersProperty `field:"optional" json:"kinesisParameters" yaml:"kinesisParameters"`
	// A `RetryPolicy` object that includes information about the retry policy settings, including the maximum age of an event, and the maximum number of times EventBridge Scheduler will try to deliver the event to a target.
	// Default: - Maximum retry attempts of 185 and maximum age of 86400 seconds (1 day).
	//
	RetryPolicy *CfnSchedule_RetryPolicyProperty `field:"optional" json:"retryPolicy" yaml:"retryPolicy"`
	// The templated target type for the Amazon SageMaker StartPipelineExecution API operation.
	// Default: - No parameters.
	//
	SageMakerPipelineParameters *CfnSchedule_SageMakerPipelineParametersProperty `field:"optional" json:"sageMakerPipelineParameters" yaml:"sageMakerPipelineParameters"`
	// The templated target type for the Amazon SQS SendMessage API Operation.
	// Default: - No parameters.
	//
	SqsParameters *CfnSchedule_SqsParametersProperty `field:"optional" json:"sqsParameters" yaml:"sqsParameters"`
}

Config of a Schedule Target used during initialization of Schedule.

Example:

// 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"

var role role
var scheduleTargetInput scheduleTargetInput
var tags interface{}

scheduleTargetConfig := &ScheduleTargetConfig{
	Arn: jsii.String("arn"),
	Role: role,

	// the properties below are optional
	DeadLetterConfig: &DeadLetterConfigProperty{
		Arn: jsii.String("arn"),
	},
	EcsParameters: &EcsParametersProperty{
		TaskDefinitionArn: jsii.String("taskDefinitionArn"),

		// the properties below are optional
		CapacityProviderStrategy: []interface{}{
			&CapacityProviderStrategyItemProperty{
				CapacityProvider: jsii.String("capacityProvider"),

				// the properties below are optional
				Base: jsii.Number(123),
				Weight: jsii.Number(123),
			},
		},
		EnableEcsManagedTags: jsii.Boolean(false),
		EnableExecuteCommand: jsii.Boolean(false),
		Group: jsii.String("group"),
		LaunchType: jsii.String("launchType"),
		NetworkConfiguration: &NetworkConfigurationProperty{
			AwsvpcConfiguration: &AwsVpcConfigurationProperty{
				Subnets: []*string{
					jsii.String("subnets"),
				},

				// the properties below are optional
				AssignPublicIp: jsii.String("assignPublicIp"),
				SecurityGroups: []*string{
					jsii.String("securityGroups"),
				},
			},
		},
		PlacementConstraints: []interface{}{
			&PlacementConstraintProperty{
				Expression: jsii.String("expression"),
				Type: jsii.String("type"),
			},
		},
		PlacementStrategy: []interface{}{
			&PlacementStrategyProperty{
				Field: jsii.String("field"),
				Type: jsii.String("type"),
			},
		},
		PlatformVersion: jsii.String("platformVersion"),
		PropagateTags: jsii.String("propagateTags"),
		ReferenceId: jsii.String("referenceId"),
		Tags: tags,
		TaskCount: jsii.Number(123),
	},
	EventBridgeParameters: &EventBridgeParametersProperty{
		DetailType: jsii.String("detailType"),
		Source: jsii.String("source"),
	},
	Input: scheduleTargetInput,
	KinesisParameters: &KinesisParametersProperty{
		PartitionKey: jsii.String("partitionKey"),
	},
	RetryPolicy: &RetryPolicyProperty{
		MaximumEventAgeInSeconds: jsii.Number(123),
		MaximumRetryAttempts: jsii.Number(123),
	},
	SageMakerPipelineParameters: &SageMakerPipelineParametersProperty{
		PipelineParameterList: []interface{}{
			&SageMakerPipelineParameterProperty{
				Name: jsii.String("name"),
				Value: jsii.String("value"),
			},
		},
	},
	SqsParameters: &SqsParametersProperty{
		MessageGroupId: jsii.String("messageGroupId"),
	},
}

type ScheduleTargetInput added in v2.186.0

type ScheduleTargetInput interface {
	// Return the input properties for this input object.
	Bind(schedule ISchedule) *string
}

The text or well-formed JSON input passed to the target of the schedule.

Tokens and ContextAttribute may be used in the input.

Example:

import sns "github.com/aws/aws-cdk-go/awscdk"

topic := sns.NewTopic(this, jsii.String("Topic"))

payload := map[string]*string{
	"message": jsii.String("Hello scheduler!"),
}

target := targets.NewSnsPublish(topic, &ScheduleTargetBaseProps{
	Input: awscdk.ScheduleTargetInput_FromObject(payload),
})

awscdk.NewSchedule(this, jsii.String("Schedule"), &ScheduleProps{
	Schedule: awscdk.ScheduleExpression_Rate(awscdk.Duration_Hours(jsii.Number(1))),
	Target: Target,
})

func ScheduleTargetInput_FromObject added in v2.186.0

func ScheduleTargetInput_FromObject(obj interface{}) ScheduleTargetInput

Pass a JSON object to the target.

The object will be transformed into a well-formed JSON string in the final template.

func ScheduleTargetInput_FromText added in v2.186.0

func ScheduleTargetInput_FromText(text *string) ScheduleTargetInput

Pass simple text to the target.

For passing complex values like JSON object to a target use method `ScheduleTargetInput.fromObject()` instead.

type TimeWindow added in v2.186.0

type TimeWindow interface {
	// The maximum time window during which the schedule can be invoked.
	//
	// Must be between 1 to 1440 minutes.
	// Default: - no value.
	//
	MaxWindow() awscdk.Duration
	// Determines whether the schedule is invoked within a flexible time window.
	Mode() *string
}

A time window during which EventBridge Scheduler invokes the schedule.

Example:

var target lambdaInvoke

schedule := awscdk.NewSchedule(this, jsii.String("Schedule"), &ScheduleProps{
	Schedule: awscdk.ScheduleExpression_Rate(awscdk.Duration_Hours(jsii.Number(12))),
	Target: Target,
	TimeWindow: awscdk.TimeWindow_Flexible(awscdk.Duration_*Hours(jsii.Number(10))),
})

func TimeWindow_Flexible added in v2.186.0

func TimeWindow_Flexible(maxWindow awscdk.Duration) TimeWindow

TimeWindow is enabled.

func TimeWindow_Off added in v2.186.0

func TimeWindow_Off() TimeWindow

TimeWindow is disabled.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL