/
Schedule.go
132 lines (111 loc) · 2.84 KB
/
Schedule.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
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
}