package awsevents import ( _init_ "github.com/aws/aws-cdk-go/awscdk/v2/jsii" _jsii_ "github.com/aws/jsii-runtime-go/runtime" "github.com/aws/aws-cdk-go/awscdk/v2" ) // Schedule for scheduled event rules. // // Note that rates cannot be defined in fractions of minutes. // // Example: // import ecs "github.com/aws/aws-cdk-go/awscdk" // // var cluster iCluster // var taskDefinition taskDefinition // // // rule := events.NewRule(this, jsii.String("Rule"), &RuleProps{ // Schedule: events.Schedule_Rate(cdk.Duration_Hours(jsii.Number(1))), // }) // // rule.AddTarget(targets.NewEcsTask(&EcsTaskProps{ // Cluster: Cluster, // TaskDefinition: TaskDefinition, // TaskCount: jsii.Number(1), // ContainerOverrides: []containerOverride{ // &containerOverride{ // ContainerName: jsii.String("TheContainer"), // Command: []*string{ // jsii.String("echo"), // events.EventField_FromPath(jsii.String("$.detail.event")), // }, // }, // }, // EnableExecuteCommand: jsii.Boolean(true), // })) // // See: https://docs.aws.amazon.com/eventbridge/latest/userguide/scheduled-events.html // type Schedule interface { // Retrieve the expression for this schedule. ExpressionString() *string } // The jsii proxy struct for Schedule type jsiiProxy_Schedule struct { _ byte // padding } func (j *jsiiProxy_Schedule) ExpressionString() *string { var returns *string _jsii_.Get( j, "expressionString", &returns, ) return returns } func NewSchedule_Override(s Schedule) { _init_.Initialize() _jsii_.Create( "aws-cdk-lib.aws_events.Schedule", nil, // no parameters s, ) } // Create a schedule from a set of cron fields. func Schedule_Cron(options *CronOptions) Schedule { _init_.Initialize() if err := validateSchedule_CronParameters(options); err != nil { panic(err) } var returns Schedule _jsii_.StaticInvoke( "aws-cdk-lib.aws_events.Schedule", "cron", []interface{}{options}, &returns, ) return returns } // Construct a schedule from a literal schedule expression. func Schedule_Expression(expression *string) Schedule { _init_.Initialize() if err := validateSchedule_ExpressionParameters(expression); err != nil { panic(err) } var returns Schedule _jsii_.StaticInvoke( "aws-cdk-lib.aws_events.Schedule", "expression", []interface{}{expression}, &returns, ) return returns } // Construct a 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. func Schedule_Rate(duration awscdk.Duration) Schedule { _init_.Initialize() if err := validateSchedule_RateParameters(duration); err != nil { panic(err) } var returns Schedule _jsii_.StaticInvoke( "aws-cdk-lib.aws_events.Schedule", "rate", []interface{}{duration}, &returns, ) return returns }