aws-cdk-lib 2.167.1__py3-none-any.whl → 2.168.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of aws-cdk-lib might be problematic. Click here for more details.
- aws_cdk/__init__.py +2081 -0
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.167.1.jsii.tgz → aws-cdk-lib@2.168.0.jsii.tgz} +0 -0
- aws_cdk/aws_applicationautoscaling/__init__.py +1691 -95
- aws_cdk/aws_applicationinsights/__init__.py +41 -0
- aws_cdk/aws_applicationsignals/__init__.py +117 -0
- aws_cdk/aws_autoscaling/__init__.py +441 -6
- aws_cdk/aws_batch/__init__.py +202 -5
- aws_cdk/aws_bedrock/__init__.py +12 -12
- aws_cdk/aws_cleanrooms/__init__.py +17 -8
- aws_cdk/aws_cloudformation/__init__.py +2571 -492
- aws_cdk/aws_cloudfront/__init__.py +231 -0
- aws_cdk/aws_cloudfront/experimental/__init__.py +5 -0
- aws_cdk/aws_cloudfront_origins/__init__.py +714 -132
- aws_cdk/aws_cloudtrail/__init__.py +52 -14
- aws_cdk/aws_codebuild/__init__.py +668 -2
- aws_cdk/aws_connectcampaignsv2/__init__.py +3376 -0
- aws_cdk/aws_dynamodb/__init__.py +332 -11
- aws_cdk/aws_ec2/__init__.py +13 -4
- aws_cdk/aws_ecs/__init__.py +213 -0
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +160 -11
- aws_cdk/aws_fis/__init__.py +495 -0
- aws_cdk/aws_gamelift/__init__.py +3101 -1135
- aws_cdk/aws_kinesisfirehose/__init__.py +696 -5
- aws_cdk/aws_lambda/__init__.py +634 -259
- aws_cdk/aws_lambda_destinations/__init__.py +73 -0
- aws_cdk/aws_lambda_event_sources/__init__.py +102 -2
- aws_cdk/aws_location/__init__.py +18 -18
- aws_cdk/aws_mediastore/__init__.py +22 -10
- aws_cdk/aws_opensearchservice/__init__.py +6 -0
- aws_cdk/aws_quicksight/__init__.py +35 -19
- aws_cdk/aws_rds/__init__.py +51 -3
- aws_cdk/aws_securityhub/__init__.py +11 -14
- aws_cdk/aws_ses/__init__.py +58 -5
- aws_cdk/aws_stepfunctions_tasks/__init__.py +1601 -8
- aws_cdk/aws_transfer/__init__.py +0 -8
- aws_cdk/aws_vpclattice/__init__.py +39 -0
- aws_cdk/aws_wisdom/__init__.py +134 -85
- aws_cdk/cx_api/__init__.py +6 -6
- {aws_cdk_lib-2.167.1.dist-info → aws_cdk_lib-2.168.0.dist-info}/METADATA +1 -1
- {aws_cdk_lib-2.167.1.dist-info → aws_cdk_lib-2.168.0.dist-info}/RECORD +45 -44
- {aws_cdk_lib-2.167.1.dist-info → aws_cdk_lib-2.168.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.167.1.dist-info → aws_cdk_lib-2.168.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.167.1.dist-info → aws_cdk_lib-2.168.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.167.1.dist-info → aws_cdk_lib-2.168.0.dist-info}/top_level.txt +0 -0
|
@@ -1292,6 +1292,62 @@ tasks.EventBridgePutEvents(self, "Send an event to EventBridge",
|
|
|
1292
1292
|
)
|
|
1293
1293
|
```
|
|
1294
1294
|
|
|
1295
|
+
## EventBridge Scheduler
|
|
1296
|
+
|
|
1297
|
+
You can call EventBridge Scheduler APIs from a `Task` state.
|
|
1298
|
+
Read more about calling Scheduler APIs [here](https://docs.aws.amazon.com/scheduler/latest/APIReference/API_Operations.html)
|
|
1299
|
+
|
|
1300
|
+
### Create Scheduler
|
|
1301
|
+
|
|
1302
|
+
The [CreateSchedule](https://docs.aws.amazon.com/scheduler/latest/APIReference/API_CreateSchedule.html) API creates a new schedule.
|
|
1303
|
+
|
|
1304
|
+
Here is an example of how to create a schedule that puts an event to SQS queue every 5 minutes:
|
|
1305
|
+
|
|
1306
|
+
```python
|
|
1307
|
+
import aws_cdk.aws_scheduler as scheduler
|
|
1308
|
+
import aws_cdk.aws_kms as kms
|
|
1309
|
+
|
|
1310
|
+
# key: kms.Key
|
|
1311
|
+
# schedule_group: scheduler.CfnScheduleGroup
|
|
1312
|
+
# target_queue: sqs.Queue
|
|
1313
|
+
# dead_letter_queue: sqs.Queue
|
|
1314
|
+
|
|
1315
|
+
|
|
1316
|
+
scheduler_role = iam.Role(self, "SchedulerRole",
|
|
1317
|
+
assumed_by=iam.ServicePrincipal("scheduler.amazonaws.com")
|
|
1318
|
+
)
|
|
1319
|
+
# To send the message to the queue
|
|
1320
|
+
# This policy changes depending on the type of target.
|
|
1321
|
+
scheduler_role.add_to_principal_policy(iam.PolicyStatement(
|
|
1322
|
+
actions=["sqs:SendMessage"],
|
|
1323
|
+
resources=[target_queue.queue_arn]
|
|
1324
|
+
))
|
|
1325
|
+
|
|
1326
|
+
create_schedule_task1 = tasks.EventBridgeSchedulerCreateScheduleTask(self, "createSchedule",
|
|
1327
|
+
schedule_name="TestSchedule",
|
|
1328
|
+
action_after_completion=tasks.ActionAfterCompletion.NONE,
|
|
1329
|
+
client_token="testToken",
|
|
1330
|
+
description="TestDescription",
|
|
1331
|
+
start_date=Date(),
|
|
1332
|
+
end_date=Date(Date().get_time() + 1000 * 60 * 60),
|
|
1333
|
+
flexible_time_window=Duration.minutes(5),
|
|
1334
|
+
group_name=schedule_group.ref,
|
|
1335
|
+
kms_key=key,
|
|
1336
|
+
schedule=tasks.Schedule.rate(Duration.minutes(5)),
|
|
1337
|
+
timezone="UTC",
|
|
1338
|
+
enabled=True,
|
|
1339
|
+
target=tasks.EventBridgeSchedulerTarget(
|
|
1340
|
+
arn=target_queue.queue_arn,
|
|
1341
|
+
role=scheduler_role,
|
|
1342
|
+
retry_policy=tasks.RetryPolicy(
|
|
1343
|
+
maximum_retry_attempts=2,
|
|
1344
|
+
maximum_event_age=Duration.minutes(5)
|
|
1345
|
+
),
|
|
1346
|
+
dead_letter_queue=dead_letter_queue
|
|
1347
|
+
)
|
|
1348
|
+
)
|
|
1349
|
+
```
|
|
1350
|
+
|
|
1295
1351
|
## Glue
|
|
1296
1352
|
|
|
1297
1353
|
Step Functions supports [AWS Glue](https://docs.aws.amazon.com/step-functions/latest/dg/connect-glue.html) through the service integration pattern.
|
|
@@ -2082,6 +2138,64 @@ class AcceleratorType(
|
|
|
2082
2138
|
return typing.cast(builtins.str, jsii.invoke(self, "toString", []))
|
|
2083
2139
|
|
|
2084
2140
|
|
|
2141
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.ActionAfterCompletion")
|
|
2142
|
+
class ActionAfterCompletion(enum.Enum):
|
|
2143
|
+
'''The action that EventBridge Scheduler applies to the schedule after the schedule completes invoking the target.
|
|
2144
|
+
|
|
2145
|
+
:exampleMetadata: infused
|
|
2146
|
+
|
|
2147
|
+
Example::
|
|
2148
|
+
|
|
2149
|
+
import aws_cdk.aws_scheduler as scheduler
|
|
2150
|
+
import aws_cdk.aws_kms as kms
|
|
2151
|
+
|
|
2152
|
+
# key: kms.Key
|
|
2153
|
+
# schedule_group: scheduler.CfnScheduleGroup
|
|
2154
|
+
# target_queue: sqs.Queue
|
|
2155
|
+
# dead_letter_queue: sqs.Queue
|
|
2156
|
+
|
|
2157
|
+
|
|
2158
|
+
scheduler_role = iam.Role(self, "SchedulerRole",
|
|
2159
|
+
assumed_by=iam.ServicePrincipal("scheduler.amazonaws.com")
|
|
2160
|
+
)
|
|
2161
|
+
# To send the message to the queue
|
|
2162
|
+
# This policy changes depending on the type of target.
|
|
2163
|
+
scheduler_role.add_to_principal_policy(iam.PolicyStatement(
|
|
2164
|
+
actions=["sqs:SendMessage"],
|
|
2165
|
+
resources=[target_queue.queue_arn]
|
|
2166
|
+
))
|
|
2167
|
+
|
|
2168
|
+
create_schedule_task1 = tasks.EventBridgeSchedulerCreateScheduleTask(self, "createSchedule",
|
|
2169
|
+
schedule_name="TestSchedule",
|
|
2170
|
+
action_after_completion=tasks.ActionAfterCompletion.NONE,
|
|
2171
|
+
client_token="testToken",
|
|
2172
|
+
description="TestDescription",
|
|
2173
|
+
start_date=Date(),
|
|
2174
|
+
end_date=Date(Date().get_time() + 1000 * 60 * 60),
|
|
2175
|
+
flexible_time_window=Duration.minutes(5),
|
|
2176
|
+
group_name=schedule_group.ref,
|
|
2177
|
+
kms_key=key,
|
|
2178
|
+
schedule=tasks.Schedule.rate(Duration.minutes(5)),
|
|
2179
|
+
timezone="UTC",
|
|
2180
|
+
enabled=True,
|
|
2181
|
+
target=tasks.EventBridgeSchedulerTarget(
|
|
2182
|
+
arn=target_queue.queue_arn,
|
|
2183
|
+
role=scheduler_role,
|
|
2184
|
+
retry_policy=tasks.RetryPolicy(
|
|
2185
|
+
maximum_retry_attempts=2,
|
|
2186
|
+
maximum_event_age=Duration.minutes(5)
|
|
2187
|
+
),
|
|
2188
|
+
dead_letter_queue=dead_letter_queue
|
|
2189
|
+
)
|
|
2190
|
+
)
|
|
2191
|
+
'''
|
|
2192
|
+
|
|
2193
|
+
NONE = "NONE"
|
|
2194
|
+
'''Takes no action.'''
|
|
2195
|
+
DELETE = "DELETE"
|
|
2196
|
+
'''Deletes the schedule.'''
|
|
2197
|
+
|
|
2198
|
+
|
|
2085
2199
|
@jsii.enum(jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.ActionOnFailure")
|
|
2086
2200
|
class ActionOnFailure(enum.Enum):
|
|
2087
2201
|
'''The action to take when the cluster step fails.
|
|
@@ -9807,6 +9921,147 @@ class ContainerOverrides:
|
|
|
9807
9921
|
)
|
|
9808
9922
|
|
|
9809
9923
|
|
|
9924
|
+
@jsii.data_type(
|
|
9925
|
+
jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.CronOptions",
|
|
9926
|
+
jsii_struct_bases=[],
|
|
9927
|
+
name_mapping={
|
|
9928
|
+
"day": "day",
|
|
9929
|
+
"hour": "hour",
|
|
9930
|
+
"minute": "minute",
|
|
9931
|
+
"month": "month",
|
|
9932
|
+
"week_day": "weekDay",
|
|
9933
|
+
"year": "year",
|
|
9934
|
+
},
|
|
9935
|
+
)
|
|
9936
|
+
class CronOptions:
|
|
9937
|
+
def __init__(
|
|
9938
|
+
self,
|
|
9939
|
+
*,
|
|
9940
|
+
day: typing.Optional[builtins.str] = None,
|
|
9941
|
+
hour: typing.Optional[builtins.str] = None,
|
|
9942
|
+
minute: typing.Optional[builtins.str] = None,
|
|
9943
|
+
month: typing.Optional[builtins.str] = None,
|
|
9944
|
+
week_day: typing.Optional[builtins.str] = None,
|
|
9945
|
+
year: typing.Optional[builtins.str] = None,
|
|
9946
|
+
) -> None:
|
|
9947
|
+
'''Options to configure a cron expression.
|
|
9948
|
+
|
|
9949
|
+
All fields are strings so you can use complex expressions. Absence of
|
|
9950
|
+
a field implies '*' or '?', whichever one is appropriate.
|
|
9951
|
+
|
|
9952
|
+
:param day: The day of the month to run this rule at. Default: - Every day of the month
|
|
9953
|
+
:param hour: The hour to run this rule at. Default: - Every hour
|
|
9954
|
+
:param minute: The minute to run this rule at. Default: - Every minute
|
|
9955
|
+
:param month: The month to run this rule at. Default: - Every month
|
|
9956
|
+
:param week_day: The day of the week to run this rule at. Default: - Whichever day of the week that ``day`` falls on
|
|
9957
|
+
:param year: The year to run this rule at. Default: - Every year
|
|
9958
|
+
|
|
9959
|
+
:see: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_cron.html
|
|
9960
|
+
:exampleMetadata: fixture=_generated
|
|
9961
|
+
|
|
9962
|
+
Example::
|
|
9963
|
+
|
|
9964
|
+
# The code below shows an example of how to instantiate this type.
|
|
9965
|
+
# The values are placeholders you should change.
|
|
9966
|
+
from aws_cdk import aws_stepfunctions_tasks as stepfunctions_tasks
|
|
9967
|
+
|
|
9968
|
+
cron_options = stepfunctions_tasks.CronOptions(
|
|
9969
|
+
day="day",
|
|
9970
|
+
hour="hour",
|
|
9971
|
+
minute="minute",
|
|
9972
|
+
month="month",
|
|
9973
|
+
week_day="weekDay",
|
|
9974
|
+
year="year"
|
|
9975
|
+
)
|
|
9976
|
+
'''
|
|
9977
|
+
if __debug__:
|
|
9978
|
+
type_hints = typing.get_type_hints(_typecheckingstub__3ded07e1f80001916cedf33047f0de79b459fade9caa718d154ce12553ccfd4b)
|
|
9979
|
+
check_type(argname="argument day", value=day, expected_type=type_hints["day"])
|
|
9980
|
+
check_type(argname="argument hour", value=hour, expected_type=type_hints["hour"])
|
|
9981
|
+
check_type(argname="argument minute", value=minute, expected_type=type_hints["minute"])
|
|
9982
|
+
check_type(argname="argument month", value=month, expected_type=type_hints["month"])
|
|
9983
|
+
check_type(argname="argument week_day", value=week_day, expected_type=type_hints["week_day"])
|
|
9984
|
+
check_type(argname="argument year", value=year, expected_type=type_hints["year"])
|
|
9985
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
9986
|
+
if day is not None:
|
|
9987
|
+
self._values["day"] = day
|
|
9988
|
+
if hour is not None:
|
|
9989
|
+
self._values["hour"] = hour
|
|
9990
|
+
if minute is not None:
|
|
9991
|
+
self._values["minute"] = minute
|
|
9992
|
+
if month is not None:
|
|
9993
|
+
self._values["month"] = month
|
|
9994
|
+
if week_day is not None:
|
|
9995
|
+
self._values["week_day"] = week_day
|
|
9996
|
+
if year is not None:
|
|
9997
|
+
self._values["year"] = year
|
|
9998
|
+
|
|
9999
|
+
@builtins.property
|
|
10000
|
+
def day(self) -> typing.Optional[builtins.str]:
|
|
10001
|
+
'''The day of the month to run this rule at.
|
|
10002
|
+
|
|
10003
|
+
:default: - Every day of the month
|
|
10004
|
+
'''
|
|
10005
|
+
result = self._values.get("day")
|
|
10006
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
10007
|
+
|
|
10008
|
+
@builtins.property
|
|
10009
|
+
def hour(self) -> typing.Optional[builtins.str]:
|
|
10010
|
+
'''The hour to run this rule at.
|
|
10011
|
+
|
|
10012
|
+
:default: - Every hour
|
|
10013
|
+
'''
|
|
10014
|
+
result = self._values.get("hour")
|
|
10015
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
10016
|
+
|
|
10017
|
+
@builtins.property
|
|
10018
|
+
def minute(self) -> typing.Optional[builtins.str]:
|
|
10019
|
+
'''The minute to run this rule at.
|
|
10020
|
+
|
|
10021
|
+
:default: - Every minute
|
|
10022
|
+
'''
|
|
10023
|
+
result = self._values.get("minute")
|
|
10024
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
10025
|
+
|
|
10026
|
+
@builtins.property
|
|
10027
|
+
def month(self) -> typing.Optional[builtins.str]:
|
|
10028
|
+
'''The month to run this rule at.
|
|
10029
|
+
|
|
10030
|
+
:default: - Every month
|
|
10031
|
+
'''
|
|
10032
|
+
result = self._values.get("month")
|
|
10033
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
10034
|
+
|
|
10035
|
+
@builtins.property
|
|
10036
|
+
def week_day(self) -> typing.Optional[builtins.str]:
|
|
10037
|
+
'''The day of the week to run this rule at.
|
|
10038
|
+
|
|
10039
|
+
:default: - Whichever day of the week that ``day`` falls on
|
|
10040
|
+
'''
|
|
10041
|
+
result = self._values.get("week_day")
|
|
10042
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
10043
|
+
|
|
10044
|
+
@builtins.property
|
|
10045
|
+
def year(self) -> typing.Optional[builtins.str]:
|
|
10046
|
+
'''The year to run this rule at.
|
|
10047
|
+
|
|
10048
|
+
:default: - Every year
|
|
10049
|
+
'''
|
|
10050
|
+
result = self._values.get("year")
|
|
10051
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
10052
|
+
|
|
10053
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
10054
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
10055
|
+
|
|
10056
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
10057
|
+
return not (rhs == self)
|
|
10058
|
+
|
|
10059
|
+
def __repr__(self) -> str:
|
|
10060
|
+
return "CronOptions(%s)" % ", ".join(
|
|
10061
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
10062
|
+
)
|
|
10063
|
+
|
|
10064
|
+
|
|
9810
10065
|
@jsii.data_type(
|
|
9811
10066
|
jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.DataSource",
|
|
9812
10067
|
jsii_struct_bases=[],
|
|
@@ -23271,15 +23526,683 @@ class EventBridgePutEventsProps(_TaskStateBaseProps_3a62b6d0):
|
|
|
23271
23526
|
return typing.cast(typing.Optional[_Duration_4839e8c3], result)
|
|
23272
23527
|
|
|
23273
23528
|
@builtins.property
|
|
23274
|
-
def entries(self) -> typing.List[EventBridgePutEventsEntry]:
|
|
23275
|
-
'''The entries that will be sent.
|
|
23529
|
+
def entries(self) -> typing.List[EventBridgePutEventsEntry]:
|
|
23530
|
+
'''The entries that will be sent.
|
|
23531
|
+
|
|
23532
|
+
Minimum number of entries is 1 and maximum is 10,
|
|
23533
|
+
unless `PutEvents API limit <https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html#API_PutEvents_RequestSyntax>`_ has changed.
|
|
23534
|
+
'''
|
|
23535
|
+
result = self._values.get("entries")
|
|
23536
|
+
assert result is not None, "Required property 'entries' is missing"
|
|
23537
|
+
return typing.cast(typing.List[EventBridgePutEventsEntry], result)
|
|
23538
|
+
|
|
23539
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
23540
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
23541
|
+
|
|
23542
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
23543
|
+
return not (rhs == self)
|
|
23544
|
+
|
|
23545
|
+
def __repr__(self) -> str:
|
|
23546
|
+
return "EventBridgePutEventsProps(%s)" % ", ".join(
|
|
23547
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
23548
|
+
)
|
|
23549
|
+
|
|
23550
|
+
|
|
23551
|
+
class EventBridgeSchedulerCreateScheduleTask(
|
|
23552
|
+
_TaskStateBase_b5c0a816,
|
|
23553
|
+
metaclass=jsii.JSIIMeta,
|
|
23554
|
+
jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.EventBridgeSchedulerCreateScheduleTask",
|
|
23555
|
+
):
|
|
23556
|
+
'''Create a new AWS EventBridge Scheduler schedule.
|
|
23557
|
+
|
|
23558
|
+
:see: https://docs.aws.amazon.com/scheduler/latest/APIReference/API_CreateSchedule.html
|
|
23559
|
+
:exampleMetadata: infused
|
|
23560
|
+
|
|
23561
|
+
Example::
|
|
23562
|
+
|
|
23563
|
+
import aws_cdk.aws_scheduler as scheduler
|
|
23564
|
+
import aws_cdk.aws_kms as kms
|
|
23565
|
+
|
|
23566
|
+
# key: kms.Key
|
|
23567
|
+
# schedule_group: scheduler.CfnScheduleGroup
|
|
23568
|
+
# target_queue: sqs.Queue
|
|
23569
|
+
# dead_letter_queue: sqs.Queue
|
|
23570
|
+
|
|
23571
|
+
|
|
23572
|
+
scheduler_role = iam.Role(self, "SchedulerRole",
|
|
23573
|
+
assumed_by=iam.ServicePrincipal("scheduler.amazonaws.com")
|
|
23574
|
+
)
|
|
23575
|
+
# To send the message to the queue
|
|
23576
|
+
# This policy changes depending on the type of target.
|
|
23577
|
+
scheduler_role.add_to_principal_policy(iam.PolicyStatement(
|
|
23578
|
+
actions=["sqs:SendMessage"],
|
|
23579
|
+
resources=[target_queue.queue_arn]
|
|
23580
|
+
))
|
|
23581
|
+
|
|
23582
|
+
create_schedule_task1 = tasks.EventBridgeSchedulerCreateScheduleTask(self, "createSchedule",
|
|
23583
|
+
schedule_name="TestSchedule",
|
|
23584
|
+
action_after_completion=tasks.ActionAfterCompletion.NONE,
|
|
23585
|
+
client_token="testToken",
|
|
23586
|
+
description="TestDescription",
|
|
23587
|
+
start_date=Date(),
|
|
23588
|
+
end_date=Date(Date().get_time() + 1000 * 60 * 60),
|
|
23589
|
+
flexible_time_window=Duration.minutes(5),
|
|
23590
|
+
group_name=schedule_group.ref,
|
|
23591
|
+
kms_key=key,
|
|
23592
|
+
schedule=tasks.Schedule.rate(Duration.minutes(5)),
|
|
23593
|
+
timezone="UTC",
|
|
23594
|
+
enabled=True,
|
|
23595
|
+
target=tasks.EventBridgeSchedulerTarget(
|
|
23596
|
+
arn=target_queue.queue_arn,
|
|
23597
|
+
role=scheduler_role,
|
|
23598
|
+
retry_policy=tasks.RetryPolicy(
|
|
23599
|
+
maximum_retry_attempts=2,
|
|
23600
|
+
maximum_event_age=Duration.minutes(5)
|
|
23601
|
+
),
|
|
23602
|
+
dead_letter_queue=dead_letter_queue
|
|
23603
|
+
)
|
|
23604
|
+
)
|
|
23605
|
+
'''
|
|
23606
|
+
|
|
23607
|
+
def __init__(
|
|
23608
|
+
self,
|
|
23609
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
23610
|
+
id: builtins.str,
|
|
23611
|
+
*,
|
|
23612
|
+
schedule: "Schedule",
|
|
23613
|
+
schedule_name: builtins.str,
|
|
23614
|
+
target: "EventBridgeSchedulerTarget",
|
|
23615
|
+
action_after_completion: typing.Optional[ActionAfterCompletion] = None,
|
|
23616
|
+
client_token: typing.Optional[builtins.str] = None,
|
|
23617
|
+
description: typing.Optional[builtins.str] = None,
|
|
23618
|
+
enabled: typing.Optional[builtins.bool] = None,
|
|
23619
|
+
end_date: typing.Optional[datetime.datetime] = None,
|
|
23620
|
+
flexible_time_window: typing.Optional[_Duration_4839e8c3] = None,
|
|
23621
|
+
group_name: typing.Optional[builtins.str] = None,
|
|
23622
|
+
kms_key: typing.Optional[_IKey_5f11635f] = None,
|
|
23623
|
+
start_date: typing.Optional[datetime.datetime] = None,
|
|
23624
|
+
timezone: typing.Optional[builtins.str] = None,
|
|
23625
|
+
comment: typing.Optional[builtins.str] = None,
|
|
23626
|
+
credentials: typing.Optional[typing.Union[_Credentials_2cd64c6b, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
23627
|
+
heartbeat: typing.Optional[_Duration_4839e8c3] = None,
|
|
23628
|
+
heartbeat_timeout: typing.Optional[_Timeout_d7c10551] = None,
|
|
23629
|
+
input_path: typing.Optional[builtins.str] = None,
|
|
23630
|
+
integration_pattern: typing.Optional[_IntegrationPattern_949291bc] = None,
|
|
23631
|
+
output_path: typing.Optional[builtins.str] = None,
|
|
23632
|
+
result_path: typing.Optional[builtins.str] = None,
|
|
23633
|
+
result_selector: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
|
|
23634
|
+
state_name: typing.Optional[builtins.str] = None,
|
|
23635
|
+
task_timeout: typing.Optional[_Timeout_d7c10551] = None,
|
|
23636
|
+
timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
23637
|
+
) -> None:
|
|
23638
|
+
'''
|
|
23639
|
+
:param scope: -
|
|
23640
|
+
:param id: Descriptive identifier for this chainable.
|
|
23641
|
+
:param schedule: The schedule that defines when the schedule will trigger.
|
|
23642
|
+
:param schedule_name: Schedule name.
|
|
23643
|
+
:param target: The schedule's target.
|
|
23644
|
+
:param action_after_completion: Specifies the action that EventBridge Scheduler applies to the schedule after the schedule completes invoking the target. Default: ActionAfterCompletion.NONE
|
|
23645
|
+
:param client_token: Unique, case-sensitive identifier to ensure the idempotency of the request. Default: - Automatically generated
|
|
23646
|
+
:param description: The description for the schedule. Default: - No description
|
|
23647
|
+
:param enabled: Specifies whether the schedule is enabled or disabled. Default: true
|
|
23648
|
+
:param end_date: 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. Default: - No end date
|
|
23649
|
+
:param flexible_time_window: The maximum time window during which a schedule can be invoked. Minimum value is 1 minute. Maximum value is 1440 minutes (1 day). Default: - Flexible time window is not enabled.
|
|
23650
|
+
:param group_name: The name of the schedule group to associate with this schedule. Default: - The default schedule group is used.
|
|
23651
|
+
:param kms_key: The customer managed KMS key that EventBridge Scheduler will use to encrypt and decrypt payload. Default: - Use automatically generated KMS key
|
|
23652
|
+
:param start_date: 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. Default: - No start date
|
|
23653
|
+
:param timezone: The timezone in which the scheduling expression is evaluated. Default: - UTC
|
|
23654
|
+
:param comment: An optional description for this state. Default: - No comment
|
|
23655
|
+
:param credentials: Credentials for an IAM Role that the State Machine assumes for executing the task. This enables cross-account resource invocations. Default: - None (Task is executed using the State Machine's execution role)
|
|
23656
|
+
:param heartbeat: (deprecated) Timeout for the heartbeat. Default: - None
|
|
23657
|
+
:param heartbeat_timeout: Timeout for the heartbeat. [disable-awslint:duration-prop-type] is needed because all props interface in aws-stepfunctions-tasks extend this interface Default: - None
|
|
23658
|
+
:param input_path: JSONPath expression to select part of the state to be the input to this state. May also be the special value JsonPath.DISCARD, which will cause the effective input to be the empty object {}. Default: - The entire task input (JSON path '$')
|
|
23659
|
+
:param integration_pattern: AWS Step Functions integrates with services directly in the Amazon States Language. You can control these AWS services using service integration patterns. Depending on the AWS Service, the Service Integration Pattern availability will vary. Default: - ``IntegrationPattern.REQUEST_RESPONSE`` for most tasks. ``IntegrationPattern.RUN_JOB`` for the following exceptions: ``BatchSubmitJob``, ``EmrAddStep``, ``EmrCreateCluster``, ``EmrTerminationCluster``, and ``EmrContainersStartJobRun``.
|
|
23660
|
+
:param output_path: JSONPath expression to select select a portion of the state output to pass to the next state. May also be the special value JsonPath.DISCARD, which will cause the effective output to be the empty object {}. Default: - The entire JSON node determined by the state input, the task result, and resultPath is passed to the next state (JSON path '$')
|
|
23661
|
+
:param result_path: JSONPath expression to indicate where to inject the state's output. May also be the special value JsonPath.DISCARD, which will cause the state's input to become its output. Default: - Replaces the entire input with the result (JSON path '$')
|
|
23662
|
+
:param result_selector: The JSON that will replace the state's raw result and become the effective result before ResultPath is applied. You can use ResultSelector to create a payload with values that are static or selected from the state's raw result. Default: - None
|
|
23663
|
+
:param state_name: Optional name for this state. Default: - The construct ID will be used as state name
|
|
23664
|
+
:param task_timeout: Timeout for the task. [disable-awslint:duration-prop-type] is needed because all props interface in aws-stepfunctions-tasks extend this interface Default: - None
|
|
23665
|
+
:param timeout: (deprecated) Timeout for the task. Default: - None
|
|
23666
|
+
'''
|
|
23667
|
+
if __debug__:
|
|
23668
|
+
type_hints = typing.get_type_hints(_typecheckingstub__d4cb892d1936cdb9cedbfb77092003022fa30c87f9067911038653144e7000e1)
|
|
23669
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
23670
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
23671
|
+
props = EventBridgeSchedulerCreateScheduleTaskProps(
|
|
23672
|
+
schedule=schedule,
|
|
23673
|
+
schedule_name=schedule_name,
|
|
23674
|
+
target=target,
|
|
23675
|
+
action_after_completion=action_after_completion,
|
|
23676
|
+
client_token=client_token,
|
|
23677
|
+
description=description,
|
|
23678
|
+
enabled=enabled,
|
|
23679
|
+
end_date=end_date,
|
|
23680
|
+
flexible_time_window=flexible_time_window,
|
|
23681
|
+
group_name=group_name,
|
|
23682
|
+
kms_key=kms_key,
|
|
23683
|
+
start_date=start_date,
|
|
23684
|
+
timezone=timezone,
|
|
23685
|
+
comment=comment,
|
|
23686
|
+
credentials=credentials,
|
|
23687
|
+
heartbeat=heartbeat,
|
|
23688
|
+
heartbeat_timeout=heartbeat_timeout,
|
|
23689
|
+
input_path=input_path,
|
|
23690
|
+
integration_pattern=integration_pattern,
|
|
23691
|
+
output_path=output_path,
|
|
23692
|
+
result_path=result_path,
|
|
23693
|
+
result_selector=result_selector,
|
|
23694
|
+
state_name=state_name,
|
|
23695
|
+
task_timeout=task_timeout,
|
|
23696
|
+
timeout=timeout,
|
|
23697
|
+
)
|
|
23698
|
+
|
|
23699
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
23700
|
+
|
|
23701
|
+
@builtins.property
|
|
23702
|
+
@jsii.member(jsii_name="taskMetrics")
|
|
23703
|
+
def _task_metrics(self) -> typing.Optional[_TaskMetricsConfig_32ea9403]:
|
|
23704
|
+
return typing.cast(typing.Optional[_TaskMetricsConfig_32ea9403], jsii.get(self, "taskMetrics"))
|
|
23705
|
+
|
|
23706
|
+
@builtins.property
|
|
23707
|
+
@jsii.member(jsii_name="taskPolicies")
|
|
23708
|
+
def _task_policies(self) -> typing.Optional[typing.List[_PolicyStatement_0fe33853]]:
|
|
23709
|
+
return typing.cast(typing.Optional[typing.List[_PolicyStatement_0fe33853]], jsii.get(self, "taskPolicies"))
|
|
23710
|
+
|
|
23711
|
+
|
|
23712
|
+
@jsii.data_type(
|
|
23713
|
+
jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.EventBridgeSchedulerCreateScheduleTaskProps",
|
|
23714
|
+
jsii_struct_bases=[_TaskStateBaseProps_3a62b6d0],
|
|
23715
|
+
name_mapping={
|
|
23716
|
+
"comment": "comment",
|
|
23717
|
+
"credentials": "credentials",
|
|
23718
|
+
"heartbeat": "heartbeat",
|
|
23719
|
+
"heartbeat_timeout": "heartbeatTimeout",
|
|
23720
|
+
"input_path": "inputPath",
|
|
23721
|
+
"integration_pattern": "integrationPattern",
|
|
23722
|
+
"output_path": "outputPath",
|
|
23723
|
+
"result_path": "resultPath",
|
|
23724
|
+
"result_selector": "resultSelector",
|
|
23725
|
+
"state_name": "stateName",
|
|
23726
|
+
"task_timeout": "taskTimeout",
|
|
23727
|
+
"timeout": "timeout",
|
|
23728
|
+
"schedule": "schedule",
|
|
23729
|
+
"schedule_name": "scheduleName",
|
|
23730
|
+
"target": "target",
|
|
23731
|
+
"action_after_completion": "actionAfterCompletion",
|
|
23732
|
+
"client_token": "clientToken",
|
|
23733
|
+
"description": "description",
|
|
23734
|
+
"enabled": "enabled",
|
|
23735
|
+
"end_date": "endDate",
|
|
23736
|
+
"flexible_time_window": "flexibleTimeWindow",
|
|
23737
|
+
"group_name": "groupName",
|
|
23738
|
+
"kms_key": "kmsKey",
|
|
23739
|
+
"start_date": "startDate",
|
|
23740
|
+
"timezone": "timezone",
|
|
23741
|
+
},
|
|
23742
|
+
)
|
|
23743
|
+
class EventBridgeSchedulerCreateScheduleTaskProps(_TaskStateBaseProps_3a62b6d0):
|
|
23744
|
+
def __init__(
|
|
23745
|
+
self,
|
|
23746
|
+
*,
|
|
23747
|
+
comment: typing.Optional[builtins.str] = None,
|
|
23748
|
+
credentials: typing.Optional[typing.Union[_Credentials_2cd64c6b, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
23749
|
+
heartbeat: typing.Optional[_Duration_4839e8c3] = None,
|
|
23750
|
+
heartbeat_timeout: typing.Optional[_Timeout_d7c10551] = None,
|
|
23751
|
+
input_path: typing.Optional[builtins.str] = None,
|
|
23752
|
+
integration_pattern: typing.Optional[_IntegrationPattern_949291bc] = None,
|
|
23753
|
+
output_path: typing.Optional[builtins.str] = None,
|
|
23754
|
+
result_path: typing.Optional[builtins.str] = None,
|
|
23755
|
+
result_selector: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
|
|
23756
|
+
state_name: typing.Optional[builtins.str] = None,
|
|
23757
|
+
task_timeout: typing.Optional[_Timeout_d7c10551] = None,
|
|
23758
|
+
timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
23759
|
+
schedule: "Schedule",
|
|
23760
|
+
schedule_name: builtins.str,
|
|
23761
|
+
target: "EventBridgeSchedulerTarget",
|
|
23762
|
+
action_after_completion: typing.Optional[ActionAfterCompletion] = None,
|
|
23763
|
+
client_token: typing.Optional[builtins.str] = None,
|
|
23764
|
+
description: typing.Optional[builtins.str] = None,
|
|
23765
|
+
enabled: typing.Optional[builtins.bool] = None,
|
|
23766
|
+
end_date: typing.Optional[datetime.datetime] = None,
|
|
23767
|
+
flexible_time_window: typing.Optional[_Duration_4839e8c3] = None,
|
|
23768
|
+
group_name: typing.Optional[builtins.str] = None,
|
|
23769
|
+
kms_key: typing.Optional[_IKey_5f11635f] = None,
|
|
23770
|
+
start_date: typing.Optional[datetime.datetime] = None,
|
|
23771
|
+
timezone: typing.Optional[builtins.str] = None,
|
|
23772
|
+
) -> None:
|
|
23773
|
+
'''Properties for creating an AWS EventBridge Scheduler schedule.
|
|
23774
|
+
|
|
23775
|
+
:param comment: An optional description for this state. Default: - No comment
|
|
23776
|
+
:param credentials: Credentials for an IAM Role that the State Machine assumes for executing the task. This enables cross-account resource invocations. Default: - None (Task is executed using the State Machine's execution role)
|
|
23777
|
+
:param heartbeat: (deprecated) Timeout for the heartbeat. Default: - None
|
|
23778
|
+
:param heartbeat_timeout: Timeout for the heartbeat. [disable-awslint:duration-prop-type] is needed because all props interface in aws-stepfunctions-tasks extend this interface Default: - None
|
|
23779
|
+
:param input_path: JSONPath expression to select part of the state to be the input to this state. May also be the special value JsonPath.DISCARD, which will cause the effective input to be the empty object {}. Default: - The entire task input (JSON path '$')
|
|
23780
|
+
:param integration_pattern: AWS Step Functions integrates with services directly in the Amazon States Language. You can control these AWS services using service integration patterns. Depending on the AWS Service, the Service Integration Pattern availability will vary. Default: - ``IntegrationPattern.REQUEST_RESPONSE`` for most tasks. ``IntegrationPattern.RUN_JOB`` for the following exceptions: ``BatchSubmitJob``, ``EmrAddStep``, ``EmrCreateCluster``, ``EmrTerminationCluster``, and ``EmrContainersStartJobRun``.
|
|
23781
|
+
:param output_path: JSONPath expression to select select a portion of the state output to pass to the next state. May also be the special value JsonPath.DISCARD, which will cause the effective output to be the empty object {}. Default: - The entire JSON node determined by the state input, the task result, and resultPath is passed to the next state (JSON path '$')
|
|
23782
|
+
:param result_path: JSONPath expression to indicate where to inject the state's output. May also be the special value JsonPath.DISCARD, which will cause the state's input to become its output. Default: - Replaces the entire input with the result (JSON path '$')
|
|
23783
|
+
:param result_selector: The JSON that will replace the state's raw result and become the effective result before ResultPath is applied. You can use ResultSelector to create a payload with values that are static or selected from the state's raw result. Default: - None
|
|
23784
|
+
:param state_name: Optional name for this state. Default: - The construct ID will be used as state name
|
|
23785
|
+
:param task_timeout: Timeout for the task. [disable-awslint:duration-prop-type] is needed because all props interface in aws-stepfunctions-tasks extend this interface Default: - None
|
|
23786
|
+
:param timeout: (deprecated) Timeout for the task. Default: - None
|
|
23787
|
+
:param schedule: The schedule that defines when the schedule will trigger.
|
|
23788
|
+
:param schedule_name: Schedule name.
|
|
23789
|
+
:param target: The schedule's target.
|
|
23790
|
+
:param action_after_completion: Specifies the action that EventBridge Scheduler applies to the schedule after the schedule completes invoking the target. Default: ActionAfterCompletion.NONE
|
|
23791
|
+
:param client_token: Unique, case-sensitive identifier to ensure the idempotency of the request. Default: - Automatically generated
|
|
23792
|
+
:param description: The description for the schedule. Default: - No description
|
|
23793
|
+
:param enabled: Specifies whether the schedule is enabled or disabled. Default: true
|
|
23794
|
+
:param end_date: 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. Default: - No end date
|
|
23795
|
+
:param flexible_time_window: The maximum time window during which a schedule can be invoked. Minimum value is 1 minute. Maximum value is 1440 minutes (1 day). Default: - Flexible time window is not enabled.
|
|
23796
|
+
:param group_name: The name of the schedule group to associate with this schedule. Default: - The default schedule group is used.
|
|
23797
|
+
:param kms_key: The customer managed KMS key that EventBridge Scheduler will use to encrypt and decrypt payload. Default: - Use automatically generated KMS key
|
|
23798
|
+
:param start_date: 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. Default: - No start date
|
|
23799
|
+
:param timezone: The timezone in which the scheduling expression is evaluated. Default: - UTC
|
|
23800
|
+
|
|
23801
|
+
:exampleMetadata: infused
|
|
23802
|
+
|
|
23803
|
+
Example::
|
|
23804
|
+
|
|
23805
|
+
import aws_cdk.aws_scheduler as scheduler
|
|
23806
|
+
import aws_cdk.aws_kms as kms
|
|
23807
|
+
|
|
23808
|
+
# key: kms.Key
|
|
23809
|
+
# schedule_group: scheduler.CfnScheduleGroup
|
|
23810
|
+
# target_queue: sqs.Queue
|
|
23811
|
+
# dead_letter_queue: sqs.Queue
|
|
23812
|
+
|
|
23813
|
+
|
|
23814
|
+
scheduler_role = iam.Role(self, "SchedulerRole",
|
|
23815
|
+
assumed_by=iam.ServicePrincipal("scheduler.amazonaws.com")
|
|
23816
|
+
)
|
|
23817
|
+
# To send the message to the queue
|
|
23818
|
+
# This policy changes depending on the type of target.
|
|
23819
|
+
scheduler_role.add_to_principal_policy(iam.PolicyStatement(
|
|
23820
|
+
actions=["sqs:SendMessage"],
|
|
23821
|
+
resources=[target_queue.queue_arn]
|
|
23822
|
+
))
|
|
23823
|
+
|
|
23824
|
+
create_schedule_task1 = tasks.EventBridgeSchedulerCreateScheduleTask(self, "createSchedule",
|
|
23825
|
+
schedule_name="TestSchedule",
|
|
23826
|
+
action_after_completion=tasks.ActionAfterCompletion.NONE,
|
|
23827
|
+
client_token="testToken",
|
|
23828
|
+
description="TestDescription",
|
|
23829
|
+
start_date=Date(),
|
|
23830
|
+
end_date=Date(Date().get_time() + 1000 * 60 * 60),
|
|
23831
|
+
flexible_time_window=Duration.minutes(5),
|
|
23832
|
+
group_name=schedule_group.ref,
|
|
23833
|
+
kms_key=key,
|
|
23834
|
+
schedule=tasks.Schedule.rate(Duration.minutes(5)),
|
|
23835
|
+
timezone="UTC",
|
|
23836
|
+
enabled=True,
|
|
23837
|
+
target=tasks.EventBridgeSchedulerTarget(
|
|
23838
|
+
arn=target_queue.queue_arn,
|
|
23839
|
+
role=scheduler_role,
|
|
23840
|
+
retry_policy=tasks.RetryPolicy(
|
|
23841
|
+
maximum_retry_attempts=2,
|
|
23842
|
+
maximum_event_age=Duration.minutes(5)
|
|
23843
|
+
),
|
|
23844
|
+
dead_letter_queue=dead_letter_queue
|
|
23845
|
+
)
|
|
23846
|
+
)
|
|
23847
|
+
'''
|
|
23848
|
+
if isinstance(credentials, dict):
|
|
23849
|
+
credentials = _Credentials_2cd64c6b(**credentials)
|
|
23850
|
+
if __debug__:
|
|
23851
|
+
type_hints = typing.get_type_hints(_typecheckingstub__2ca0e1f6c70f9052670025ee76f1aee1aa07fd94e10b6fa83ff1c51c8304e804)
|
|
23852
|
+
check_type(argname="argument comment", value=comment, expected_type=type_hints["comment"])
|
|
23853
|
+
check_type(argname="argument credentials", value=credentials, expected_type=type_hints["credentials"])
|
|
23854
|
+
check_type(argname="argument heartbeat", value=heartbeat, expected_type=type_hints["heartbeat"])
|
|
23855
|
+
check_type(argname="argument heartbeat_timeout", value=heartbeat_timeout, expected_type=type_hints["heartbeat_timeout"])
|
|
23856
|
+
check_type(argname="argument input_path", value=input_path, expected_type=type_hints["input_path"])
|
|
23857
|
+
check_type(argname="argument integration_pattern", value=integration_pattern, expected_type=type_hints["integration_pattern"])
|
|
23858
|
+
check_type(argname="argument output_path", value=output_path, expected_type=type_hints["output_path"])
|
|
23859
|
+
check_type(argname="argument result_path", value=result_path, expected_type=type_hints["result_path"])
|
|
23860
|
+
check_type(argname="argument result_selector", value=result_selector, expected_type=type_hints["result_selector"])
|
|
23861
|
+
check_type(argname="argument state_name", value=state_name, expected_type=type_hints["state_name"])
|
|
23862
|
+
check_type(argname="argument task_timeout", value=task_timeout, expected_type=type_hints["task_timeout"])
|
|
23863
|
+
check_type(argname="argument timeout", value=timeout, expected_type=type_hints["timeout"])
|
|
23864
|
+
check_type(argname="argument schedule", value=schedule, expected_type=type_hints["schedule"])
|
|
23865
|
+
check_type(argname="argument schedule_name", value=schedule_name, expected_type=type_hints["schedule_name"])
|
|
23866
|
+
check_type(argname="argument target", value=target, expected_type=type_hints["target"])
|
|
23867
|
+
check_type(argname="argument action_after_completion", value=action_after_completion, expected_type=type_hints["action_after_completion"])
|
|
23868
|
+
check_type(argname="argument client_token", value=client_token, expected_type=type_hints["client_token"])
|
|
23869
|
+
check_type(argname="argument description", value=description, expected_type=type_hints["description"])
|
|
23870
|
+
check_type(argname="argument enabled", value=enabled, expected_type=type_hints["enabled"])
|
|
23871
|
+
check_type(argname="argument end_date", value=end_date, expected_type=type_hints["end_date"])
|
|
23872
|
+
check_type(argname="argument flexible_time_window", value=flexible_time_window, expected_type=type_hints["flexible_time_window"])
|
|
23873
|
+
check_type(argname="argument group_name", value=group_name, expected_type=type_hints["group_name"])
|
|
23874
|
+
check_type(argname="argument kms_key", value=kms_key, expected_type=type_hints["kms_key"])
|
|
23875
|
+
check_type(argname="argument start_date", value=start_date, expected_type=type_hints["start_date"])
|
|
23876
|
+
check_type(argname="argument timezone", value=timezone, expected_type=type_hints["timezone"])
|
|
23877
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
23878
|
+
"schedule": schedule,
|
|
23879
|
+
"schedule_name": schedule_name,
|
|
23880
|
+
"target": target,
|
|
23881
|
+
}
|
|
23882
|
+
if comment is not None:
|
|
23883
|
+
self._values["comment"] = comment
|
|
23884
|
+
if credentials is not None:
|
|
23885
|
+
self._values["credentials"] = credentials
|
|
23886
|
+
if heartbeat is not None:
|
|
23887
|
+
self._values["heartbeat"] = heartbeat
|
|
23888
|
+
if heartbeat_timeout is not None:
|
|
23889
|
+
self._values["heartbeat_timeout"] = heartbeat_timeout
|
|
23890
|
+
if input_path is not None:
|
|
23891
|
+
self._values["input_path"] = input_path
|
|
23892
|
+
if integration_pattern is not None:
|
|
23893
|
+
self._values["integration_pattern"] = integration_pattern
|
|
23894
|
+
if output_path is not None:
|
|
23895
|
+
self._values["output_path"] = output_path
|
|
23896
|
+
if result_path is not None:
|
|
23897
|
+
self._values["result_path"] = result_path
|
|
23898
|
+
if result_selector is not None:
|
|
23899
|
+
self._values["result_selector"] = result_selector
|
|
23900
|
+
if state_name is not None:
|
|
23901
|
+
self._values["state_name"] = state_name
|
|
23902
|
+
if task_timeout is not None:
|
|
23903
|
+
self._values["task_timeout"] = task_timeout
|
|
23904
|
+
if timeout is not None:
|
|
23905
|
+
self._values["timeout"] = timeout
|
|
23906
|
+
if action_after_completion is not None:
|
|
23907
|
+
self._values["action_after_completion"] = action_after_completion
|
|
23908
|
+
if client_token is not None:
|
|
23909
|
+
self._values["client_token"] = client_token
|
|
23910
|
+
if description is not None:
|
|
23911
|
+
self._values["description"] = description
|
|
23912
|
+
if enabled is not None:
|
|
23913
|
+
self._values["enabled"] = enabled
|
|
23914
|
+
if end_date is not None:
|
|
23915
|
+
self._values["end_date"] = end_date
|
|
23916
|
+
if flexible_time_window is not None:
|
|
23917
|
+
self._values["flexible_time_window"] = flexible_time_window
|
|
23918
|
+
if group_name is not None:
|
|
23919
|
+
self._values["group_name"] = group_name
|
|
23920
|
+
if kms_key is not None:
|
|
23921
|
+
self._values["kms_key"] = kms_key
|
|
23922
|
+
if start_date is not None:
|
|
23923
|
+
self._values["start_date"] = start_date
|
|
23924
|
+
if timezone is not None:
|
|
23925
|
+
self._values["timezone"] = timezone
|
|
23926
|
+
|
|
23927
|
+
@builtins.property
|
|
23928
|
+
def comment(self) -> typing.Optional[builtins.str]:
|
|
23929
|
+
'''An optional description for this state.
|
|
23930
|
+
|
|
23931
|
+
:default: - No comment
|
|
23932
|
+
'''
|
|
23933
|
+
result = self._values.get("comment")
|
|
23934
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
23935
|
+
|
|
23936
|
+
@builtins.property
|
|
23937
|
+
def credentials(self) -> typing.Optional[_Credentials_2cd64c6b]:
|
|
23938
|
+
'''Credentials for an IAM Role that the State Machine assumes for executing the task.
|
|
23939
|
+
|
|
23940
|
+
This enables cross-account resource invocations.
|
|
23941
|
+
|
|
23942
|
+
:default: - None (Task is executed using the State Machine's execution role)
|
|
23943
|
+
|
|
23944
|
+
:see: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-access-cross-acct-resources.html
|
|
23945
|
+
'''
|
|
23946
|
+
result = self._values.get("credentials")
|
|
23947
|
+
return typing.cast(typing.Optional[_Credentials_2cd64c6b], result)
|
|
23948
|
+
|
|
23949
|
+
@builtins.property
|
|
23950
|
+
def heartbeat(self) -> typing.Optional[_Duration_4839e8c3]:
|
|
23951
|
+
'''(deprecated) Timeout for the heartbeat.
|
|
23952
|
+
|
|
23953
|
+
:default: - None
|
|
23954
|
+
|
|
23955
|
+
:deprecated: use ``heartbeatTimeout``
|
|
23956
|
+
|
|
23957
|
+
:stability: deprecated
|
|
23958
|
+
'''
|
|
23959
|
+
result = self._values.get("heartbeat")
|
|
23960
|
+
return typing.cast(typing.Optional[_Duration_4839e8c3], result)
|
|
23961
|
+
|
|
23962
|
+
@builtins.property
|
|
23963
|
+
def heartbeat_timeout(self) -> typing.Optional[_Timeout_d7c10551]:
|
|
23964
|
+
'''Timeout for the heartbeat.
|
|
23965
|
+
|
|
23966
|
+
[disable-awslint:duration-prop-type] is needed because all props interface in
|
|
23967
|
+
aws-stepfunctions-tasks extend this interface
|
|
23968
|
+
|
|
23969
|
+
:default: - None
|
|
23970
|
+
'''
|
|
23971
|
+
result = self._values.get("heartbeat_timeout")
|
|
23972
|
+
return typing.cast(typing.Optional[_Timeout_d7c10551], result)
|
|
23973
|
+
|
|
23974
|
+
@builtins.property
|
|
23975
|
+
def input_path(self) -> typing.Optional[builtins.str]:
|
|
23976
|
+
'''JSONPath expression to select part of the state to be the input to this state.
|
|
23977
|
+
|
|
23978
|
+
May also be the special value JsonPath.DISCARD, which will cause the effective
|
|
23979
|
+
input to be the empty object {}.
|
|
23980
|
+
|
|
23981
|
+
:default: - The entire task input (JSON path '$')
|
|
23982
|
+
'''
|
|
23983
|
+
result = self._values.get("input_path")
|
|
23984
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
23985
|
+
|
|
23986
|
+
@builtins.property
|
|
23987
|
+
def integration_pattern(self) -> typing.Optional[_IntegrationPattern_949291bc]:
|
|
23988
|
+
'''AWS Step Functions integrates with services directly in the Amazon States Language.
|
|
23989
|
+
|
|
23990
|
+
You can control these AWS services using service integration patterns.
|
|
23991
|
+
|
|
23992
|
+
Depending on the AWS Service, the Service Integration Pattern availability will vary.
|
|
23993
|
+
|
|
23994
|
+
:default:
|
|
23995
|
+
|
|
23996
|
+
- ``IntegrationPattern.REQUEST_RESPONSE`` for most tasks.
|
|
23997
|
+
``IntegrationPattern.RUN_JOB`` for the following exceptions:
|
|
23998
|
+
``BatchSubmitJob``, ``EmrAddStep``, ``EmrCreateCluster``, ``EmrTerminationCluster``, and ``EmrContainersStartJobRun``.
|
|
23999
|
+
|
|
24000
|
+
:see: https://docs.aws.amazon.com/step-functions/latest/dg/connect-supported-services.html
|
|
24001
|
+
'''
|
|
24002
|
+
result = self._values.get("integration_pattern")
|
|
24003
|
+
return typing.cast(typing.Optional[_IntegrationPattern_949291bc], result)
|
|
24004
|
+
|
|
24005
|
+
@builtins.property
|
|
24006
|
+
def output_path(self) -> typing.Optional[builtins.str]:
|
|
24007
|
+
'''JSONPath expression to select select a portion of the state output to pass to the next state.
|
|
24008
|
+
|
|
24009
|
+
May also be the special value JsonPath.DISCARD, which will cause the effective
|
|
24010
|
+
output to be the empty object {}.
|
|
24011
|
+
|
|
24012
|
+
:default:
|
|
24013
|
+
|
|
24014
|
+
- The entire JSON node determined by the state input, the task result,
|
|
24015
|
+
and resultPath is passed to the next state (JSON path '$')
|
|
24016
|
+
'''
|
|
24017
|
+
result = self._values.get("output_path")
|
|
24018
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
24019
|
+
|
|
24020
|
+
@builtins.property
|
|
24021
|
+
def result_path(self) -> typing.Optional[builtins.str]:
|
|
24022
|
+
'''JSONPath expression to indicate where to inject the state's output.
|
|
24023
|
+
|
|
24024
|
+
May also be the special value JsonPath.DISCARD, which will cause the state's
|
|
24025
|
+
input to become its output.
|
|
24026
|
+
|
|
24027
|
+
:default: - Replaces the entire input with the result (JSON path '$')
|
|
24028
|
+
'''
|
|
24029
|
+
result = self._values.get("result_path")
|
|
24030
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
24031
|
+
|
|
24032
|
+
@builtins.property
|
|
24033
|
+
def result_selector(
|
|
24034
|
+
self,
|
|
24035
|
+
) -> typing.Optional[typing.Mapping[builtins.str, typing.Any]]:
|
|
24036
|
+
'''The JSON that will replace the state's raw result and become the effective result before ResultPath is applied.
|
|
24037
|
+
|
|
24038
|
+
You can use ResultSelector to create a payload with values that are static
|
|
24039
|
+
or selected from the state's raw result.
|
|
24040
|
+
|
|
24041
|
+
:default: - None
|
|
24042
|
+
|
|
24043
|
+
:see: https://docs.aws.amazon.com/step-functions/latest/dg/input-output-inputpath-params.html#input-output-resultselector
|
|
24044
|
+
'''
|
|
24045
|
+
result = self._values.get("result_selector")
|
|
24046
|
+
return typing.cast(typing.Optional[typing.Mapping[builtins.str, typing.Any]], result)
|
|
24047
|
+
|
|
24048
|
+
@builtins.property
|
|
24049
|
+
def state_name(self) -> typing.Optional[builtins.str]:
|
|
24050
|
+
'''Optional name for this state.
|
|
24051
|
+
|
|
24052
|
+
:default: - The construct ID will be used as state name
|
|
24053
|
+
'''
|
|
24054
|
+
result = self._values.get("state_name")
|
|
24055
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
24056
|
+
|
|
24057
|
+
@builtins.property
|
|
24058
|
+
def task_timeout(self) -> typing.Optional[_Timeout_d7c10551]:
|
|
24059
|
+
'''Timeout for the task.
|
|
24060
|
+
|
|
24061
|
+
[disable-awslint:duration-prop-type] is needed because all props interface in
|
|
24062
|
+
aws-stepfunctions-tasks extend this interface
|
|
24063
|
+
|
|
24064
|
+
:default: - None
|
|
24065
|
+
'''
|
|
24066
|
+
result = self._values.get("task_timeout")
|
|
24067
|
+
return typing.cast(typing.Optional[_Timeout_d7c10551], result)
|
|
24068
|
+
|
|
24069
|
+
@builtins.property
|
|
24070
|
+
def timeout(self) -> typing.Optional[_Duration_4839e8c3]:
|
|
24071
|
+
'''(deprecated) Timeout for the task.
|
|
24072
|
+
|
|
24073
|
+
:default: - None
|
|
24074
|
+
|
|
24075
|
+
:deprecated: use ``taskTimeout``
|
|
24076
|
+
|
|
24077
|
+
:stability: deprecated
|
|
24078
|
+
'''
|
|
24079
|
+
result = self._values.get("timeout")
|
|
24080
|
+
return typing.cast(typing.Optional[_Duration_4839e8c3], result)
|
|
24081
|
+
|
|
24082
|
+
@builtins.property
|
|
24083
|
+
def schedule(self) -> "Schedule":
|
|
24084
|
+
'''The schedule that defines when the schedule will trigger.
|
|
23276
24085
|
|
|
23277
|
-
|
|
23278
|
-
unless `PutEvents API limit <https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html#API_PutEvents_RequestSyntax>`_ has changed.
|
|
24086
|
+
:see: https://docs.aws.amazon.com/scheduler/latest/UserGuide/schedule-types.html
|
|
23279
24087
|
'''
|
|
23280
|
-
result = self._values.get("
|
|
23281
|
-
assert result is not None, "Required property '
|
|
23282
|
-
return typing.cast(
|
|
24088
|
+
result = self._values.get("schedule")
|
|
24089
|
+
assert result is not None, "Required property 'schedule' is missing"
|
|
24090
|
+
return typing.cast("Schedule", result)
|
|
24091
|
+
|
|
24092
|
+
@builtins.property
|
|
24093
|
+
def schedule_name(self) -> builtins.str:
|
|
24094
|
+
'''Schedule name.'''
|
|
24095
|
+
result = self._values.get("schedule_name")
|
|
24096
|
+
assert result is not None, "Required property 'schedule_name' is missing"
|
|
24097
|
+
return typing.cast(builtins.str, result)
|
|
24098
|
+
|
|
24099
|
+
@builtins.property
|
|
24100
|
+
def target(self) -> "EventBridgeSchedulerTarget":
|
|
24101
|
+
'''The schedule's target.'''
|
|
24102
|
+
result = self._values.get("target")
|
|
24103
|
+
assert result is not None, "Required property 'target' is missing"
|
|
24104
|
+
return typing.cast("EventBridgeSchedulerTarget", result)
|
|
24105
|
+
|
|
24106
|
+
@builtins.property
|
|
24107
|
+
def action_after_completion(self) -> typing.Optional[ActionAfterCompletion]:
|
|
24108
|
+
'''Specifies the action that EventBridge Scheduler applies to the schedule after the schedule completes invoking the target.
|
|
24109
|
+
|
|
24110
|
+
:default: ActionAfterCompletion.NONE
|
|
24111
|
+
'''
|
|
24112
|
+
result = self._values.get("action_after_completion")
|
|
24113
|
+
return typing.cast(typing.Optional[ActionAfterCompletion], result)
|
|
24114
|
+
|
|
24115
|
+
@builtins.property
|
|
24116
|
+
def client_token(self) -> typing.Optional[builtins.str]:
|
|
24117
|
+
'''Unique, case-sensitive identifier to ensure the idempotency of the request.
|
|
24118
|
+
|
|
24119
|
+
:default: - Automatically generated
|
|
24120
|
+
'''
|
|
24121
|
+
result = self._values.get("client_token")
|
|
24122
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
24123
|
+
|
|
24124
|
+
@builtins.property
|
|
24125
|
+
def description(self) -> typing.Optional[builtins.str]:
|
|
24126
|
+
'''The description for the schedule.
|
|
24127
|
+
|
|
24128
|
+
:default: - No description
|
|
24129
|
+
'''
|
|
24130
|
+
result = self._values.get("description")
|
|
24131
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
24132
|
+
|
|
24133
|
+
@builtins.property
|
|
24134
|
+
def enabled(self) -> typing.Optional[builtins.bool]:
|
|
24135
|
+
'''Specifies whether the schedule is enabled or disabled.
|
|
24136
|
+
|
|
24137
|
+
:default: true
|
|
24138
|
+
'''
|
|
24139
|
+
result = self._values.get("enabled")
|
|
24140
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
24141
|
+
|
|
24142
|
+
@builtins.property
|
|
24143
|
+
def end_date(self) -> typing.Optional[datetime.datetime]:
|
|
24144
|
+
'''The date, in UTC, before which the schedule can invoke its target.
|
|
24145
|
+
|
|
24146
|
+
Depending on the schedule's recurrence expression, invocations might stop on, or before, the EndDate you specify.
|
|
24147
|
+
EventBridge Scheduler ignores EndDate for one-time schedules.
|
|
24148
|
+
|
|
24149
|
+
:default: - No end date
|
|
24150
|
+
'''
|
|
24151
|
+
result = self._values.get("end_date")
|
|
24152
|
+
return typing.cast(typing.Optional[datetime.datetime], result)
|
|
24153
|
+
|
|
24154
|
+
@builtins.property
|
|
24155
|
+
def flexible_time_window(self) -> typing.Optional[_Duration_4839e8c3]:
|
|
24156
|
+
'''The maximum time window during which a schedule can be invoked.
|
|
24157
|
+
|
|
24158
|
+
Minimum value is 1 minute.
|
|
24159
|
+
Maximum value is 1440 minutes (1 day).
|
|
24160
|
+
|
|
24161
|
+
:default: - Flexible time window is not enabled.
|
|
24162
|
+
'''
|
|
24163
|
+
result = self._values.get("flexible_time_window")
|
|
24164
|
+
return typing.cast(typing.Optional[_Duration_4839e8c3], result)
|
|
24165
|
+
|
|
24166
|
+
@builtins.property
|
|
24167
|
+
def group_name(self) -> typing.Optional[builtins.str]:
|
|
24168
|
+
'''The name of the schedule group to associate with this schedule.
|
|
24169
|
+
|
|
24170
|
+
:default: - The default schedule group is used.
|
|
24171
|
+
'''
|
|
24172
|
+
result = self._values.get("group_name")
|
|
24173
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
24174
|
+
|
|
24175
|
+
@builtins.property
|
|
24176
|
+
def kms_key(self) -> typing.Optional[_IKey_5f11635f]:
|
|
24177
|
+
'''The customer managed KMS key that EventBridge Scheduler will use to encrypt and decrypt payload.
|
|
24178
|
+
|
|
24179
|
+
:default: - Use automatically generated KMS key
|
|
24180
|
+
|
|
24181
|
+
:see: https://docs.aws.amazon.com/scheduler/latest/UserGuide/encryption-rest.html
|
|
24182
|
+
'''
|
|
24183
|
+
result = self._values.get("kms_key")
|
|
24184
|
+
return typing.cast(typing.Optional[_IKey_5f11635f], result)
|
|
24185
|
+
|
|
24186
|
+
@builtins.property
|
|
24187
|
+
def start_date(self) -> typing.Optional[datetime.datetime]:
|
|
24188
|
+
'''The date, in UTC, after which the schedule can begin invoking its target.
|
|
24189
|
+
|
|
24190
|
+
Depending on the schedule's recurrence expression, invocations might occur on, or after, the StartDate you specify.
|
|
24191
|
+
EventBridge Scheduler ignores StartDate for one-time schedules.
|
|
24192
|
+
|
|
24193
|
+
:default: - No start date
|
|
24194
|
+
'''
|
|
24195
|
+
result = self._values.get("start_date")
|
|
24196
|
+
return typing.cast(typing.Optional[datetime.datetime], result)
|
|
24197
|
+
|
|
24198
|
+
@builtins.property
|
|
24199
|
+
def timezone(self) -> typing.Optional[builtins.str]:
|
|
24200
|
+
'''The timezone in which the scheduling expression is evaluated.
|
|
24201
|
+
|
|
24202
|
+
:default: - UTC
|
|
24203
|
+
'''
|
|
24204
|
+
result = self._values.get("timezone")
|
|
24205
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
23283
24206
|
|
|
23284
24207
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
23285
24208
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -23288,7 +24211,311 @@ class EventBridgePutEventsProps(_TaskStateBaseProps_3a62b6d0):
|
|
|
23288
24211
|
return not (rhs == self)
|
|
23289
24212
|
|
|
23290
24213
|
def __repr__(self) -> str:
|
|
23291
|
-
return "
|
|
24214
|
+
return "EventBridgeSchedulerCreateScheduleTaskProps(%s)" % ", ".join(
|
|
24215
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
24216
|
+
)
|
|
24217
|
+
|
|
24218
|
+
|
|
24219
|
+
class EventBridgeSchedulerTarget(
|
|
24220
|
+
metaclass=jsii.JSIIMeta,
|
|
24221
|
+
jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.EventBridgeSchedulerTarget",
|
|
24222
|
+
):
|
|
24223
|
+
'''The target that EventBridge Scheduler will invoke.
|
|
24224
|
+
|
|
24225
|
+
:exampleMetadata: infused
|
|
24226
|
+
|
|
24227
|
+
Example::
|
|
24228
|
+
|
|
24229
|
+
import aws_cdk.aws_scheduler as scheduler
|
|
24230
|
+
import aws_cdk.aws_kms as kms
|
|
24231
|
+
|
|
24232
|
+
# key: kms.Key
|
|
24233
|
+
# schedule_group: scheduler.CfnScheduleGroup
|
|
24234
|
+
# target_queue: sqs.Queue
|
|
24235
|
+
# dead_letter_queue: sqs.Queue
|
|
24236
|
+
|
|
24237
|
+
|
|
24238
|
+
scheduler_role = iam.Role(self, "SchedulerRole",
|
|
24239
|
+
assumed_by=iam.ServicePrincipal("scheduler.amazonaws.com")
|
|
24240
|
+
)
|
|
24241
|
+
# To send the message to the queue
|
|
24242
|
+
# This policy changes depending on the type of target.
|
|
24243
|
+
scheduler_role.add_to_principal_policy(iam.PolicyStatement(
|
|
24244
|
+
actions=["sqs:SendMessage"],
|
|
24245
|
+
resources=[target_queue.queue_arn]
|
|
24246
|
+
))
|
|
24247
|
+
|
|
24248
|
+
create_schedule_task1 = tasks.EventBridgeSchedulerCreateScheduleTask(self, "createSchedule",
|
|
24249
|
+
schedule_name="TestSchedule",
|
|
24250
|
+
action_after_completion=tasks.ActionAfterCompletion.NONE,
|
|
24251
|
+
client_token="testToken",
|
|
24252
|
+
description="TestDescription",
|
|
24253
|
+
start_date=Date(),
|
|
24254
|
+
end_date=Date(Date().get_time() + 1000 * 60 * 60),
|
|
24255
|
+
flexible_time_window=Duration.minutes(5),
|
|
24256
|
+
group_name=schedule_group.ref,
|
|
24257
|
+
kms_key=key,
|
|
24258
|
+
schedule=tasks.Schedule.rate(Duration.minutes(5)),
|
|
24259
|
+
timezone="UTC",
|
|
24260
|
+
enabled=True,
|
|
24261
|
+
target=tasks.EventBridgeSchedulerTarget(
|
|
24262
|
+
arn=target_queue.queue_arn,
|
|
24263
|
+
role=scheduler_role,
|
|
24264
|
+
retry_policy=tasks.RetryPolicy(
|
|
24265
|
+
maximum_retry_attempts=2,
|
|
24266
|
+
maximum_event_age=Duration.minutes(5)
|
|
24267
|
+
),
|
|
24268
|
+
dead_letter_queue=dead_letter_queue
|
|
24269
|
+
)
|
|
24270
|
+
)
|
|
24271
|
+
'''
|
|
24272
|
+
|
|
24273
|
+
def __init__(
|
|
24274
|
+
self,
|
|
24275
|
+
*,
|
|
24276
|
+
arn: builtins.str,
|
|
24277
|
+
role: _IRole_235f5d8e,
|
|
24278
|
+
dead_letter_queue: typing.Optional[_IQueue_7ed6f679] = None,
|
|
24279
|
+
input: typing.Optional[builtins.str] = None,
|
|
24280
|
+
retry_policy: typing.Optional[typing.Union["RetryPolicy", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
24281
|
+
) -> None:
|
|
24282
|
+
'''
|
|
24283
|
+
:param arn: The Amazon Resource Name (ARN) of the target.
|
|
24284
|
+
:param role: The IAM role that EventBridge Scheduler will use for this target when the schedule is invoked.
|
|
24285
|
+
:param dead_letter_queue: Dead letter queue for failed events. Default: - No dead letter queue
|
|
24286
|
+
:param input: The input to the target. Default: - EventBridge Scheduler delivers a default notification to the target
|
|
24287
|
+
:param retry_policy: The retry policy settings. Default: - Do not retry
|
|
24288
|
+
'''
|
|
24289
|
+
props = EventBridgeSchedulerTargetProps(
|
|
24290
|
+
arn=arn,
|
|
24291
|
+
role=role,
|
|
24292
|
+
dead_letter_queue=dead_letter_queue,
|
|
24293
|
+
input=input,
|
|
24294
|
+
retry_policy=retry_policy,
|
|
24295
|
+
)
|
|
24296
|
+
|
|
24297
|
+
jsii.create(self.__class__, self, [props])
|
|
24298
|
+
|
|
24299
|
+
@jsii.member(jsii_name="renderTargetObject")
|
|
24300
|
+
def render_target_object(self) -> typing.Any:
|
|
24301
|
+
'''return the target object for the EventBridge Scheduler.'''
|
|
24302
|
+
return typing.cast(typing.Any, jsii.invoke(self, "renderTargetObject", []))
|
|
24303
|
+
|
|
24304
|
+
@builtins.property
|
|
24305
|
+
@jsii.member(jsii_name="arn")
|
|
24306
|
+
def arn(self) -> builtins.str:
|
|
24307
|
+
'''The Amazon Resource Name (ARN) of the target.'''
|
|
24308
|
+
return typing.cast(builtins.str, jsii.get(self, "arn"))
|
|
24309
|
+
|
|
24310
|
+
@arn.setter
|
|
24311
|
+
def arn(self, value: builtins.str) -> None:
|
|
24312
|
+
if __debug__:
|
|
24313
|
+
type_hints = typing.get_type_hints(_typecheckingstub__08399721dc3339ea162c3eb58b966c2135f7b985764627b33d6165699f2fe7a9)
|
|
24314
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
24315
|
+
jsii.set(self, "arn", value) # pyright: ignore[reportArgumentType]
|
|
24316
|
+
|
|
24317
|
+
@builtins.property
|
|
24318
|
+
@jsii.member(jsii_name="role")
|
|
24319
|
+
def role(self) -> _IRole_235f5d8e:
|
|
24320
|
+
'''The IAM role that EventBridge Scheduler will use for this target when the schedule is invoked.'''
|
|
24321
|
+
return typing.cast(_IRole_235f5d8e, jsii.get(self, "role"))
|
|
24322
|
+
|
|
24323
|
+
@role.setter
|
|
24324
|
+
def role(self, value: _IRole_235f5d8e) -> None:
|
|
24325
|
+
if __debug__:
|
|
24326
|
+
type_hints = typing.get_type_hints(_typecheckingstub__279822f7cb0eddabb17ddd4de4d374b62ac9aec5de2b4f5127c638cfacf8183d)
|
|
24327
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
24328
|
+
jsii.set(self, "role", value) # pyright: ignore[reportArgumentType]
|
|
24329
|
+
|
|
24330
|
+
@builtins.property
|
|
24331
|
+
@jsii.member(jsii_name="deadLetterQueue")
|
|
24332
|
+
def dead_letter_queue(self) -> typing.Optional[_IQueue_7ed6f679]:
|
|
24333
|
+
'''Dead letter queue for failed events.'''
|
|
24334
|
+
return typing.cast(typing.Optional[_IQueue_7ed6f679], jsii.get(self, "deadLetterQueue"))
|
|
24335
|
+
|
|
24336
|
+
@dead_letter_queue.setter
|
|
24337
|
+
def dead_letter_queue(self, value: typing.Optional[_IQueue_7ed6f679]) -> None:
|
|
24338
|
+
if __debug__:
|
|
24339
|
+
type_hints = typing.get_type_hints(_typecheckingstub__2740fb9a1bb904a28e993d62d6f1a5fc12667d92b6515d4d2433e2b8e8903e3e)
|
|
24340
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
24341
|
+
jsii.set(self, "deadLetterQueue", value) # pyright: ignore[reportArgumentType]
|
|
24342
|
+
|
|
24343
|
+
@builtins.property
|
|
24344
|
+
@jsii.member(jsii_name="input")
|
|
24345
|
+
def input(self) -> typing.Optional[builtins.str]:
|
|
24346
|
+
'''The input to the target.'''
|
|
24347
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "input"))
|
|
24348
|
+
|
|
24349
|
+
@input.setter
|
|
24350
|
+
def input(self, value: typing.Optional[builtins.str]) -> None:
|
|
24351
|
+
if __debug__:
|
|
24352
|
+
type_hints = typing.get_type_hints(_typecheckingstub__47114e604ac28a24d6cd14b23a4c054ce75fcb98cde7d3563faee1c1c77ae510)
|
|
24353
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
24354
|
+
jsii.set(self, "input", value) # pyright: ignore[reportArgumentType]
|
|
24355
|
+
|
|
24356
|
+
@builtins.property
|
|
24357
|
+
@jsii.member(jsii_name="retryPolicy")
|
|
24358
|
+
def retry_policy(self) -> typing.Optional["RetryPolicy"]:
|
|
24359
|
+
'''The retry policy settings.'''
|
|
24360
|
+
return typing.cast(typing.Optional["RetryPolicy"], jsii.get(self, "retryPolicy"))
|
|
24361
|
+
|
|
24362
|
+
@retry_policy.setter
|
|
24363
|
+
def retry_policy(self, value: typing.Optional["RetryPolicy"]) -> None:
|
|
24364
|
+
if __debug__:
|
|
24365
|
+
type_hints = typing.get_type_hints(_typecheckingstub__132145ba0a6d11089eaa41ce28ee78b1e93e936cf0e454686be50ef9ffcd6629)
|
|
24366
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
24367
|
+
jsii.set(self, "retryPolicy", value) # pyright: ignore[reportArgumentType]
|
|
24368
|
+
|
|
24369
|
+
|
|
24370
|
+
@jsii.data_type(
|
|
24371
|
+
jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.EventBridgeSchedulerTargetProps",
|
|
24372
|
+
jsii_struct_bases=[],
|
|
24373
|
+
name_mapping={
|
|
24374
|
+
"arn": "arn",
|
|
24375
|
+
"role": "role",
|
|
24376
|
+
"dead_letter_queue": "deadLetterQueue",
|
|
24377
|
+
"input": "input",
|
|
24378
|
+
"retry_policy": "retryPolicy",
|
|
24379
|
+
},
|
|
24380
|
+
)
|
|
24381
|
+
class EventBridgeSchedulerTargetProps:
|
|
24382
|
+
def __init__(
|
|
24383
|
+
self,
|
|
24384
|
+
*,
|
|
24385
|
+
arn: builtins.str,
|
|
24386
|
+
role: _IRole_235f5d8e,
|
|
24387
|
+
dead_letter_queue: typing.Optional[_IQueue_7ed6f679] = None,
|
|
24388
|
+
input: typing.Optional[builtins.str] = None,
|
|
24389
|
+
retry_policy: typing.Optional[typing.Union["RetryPolicy", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
24390
|
+
) -> None:
|
|
24391
|
+
'''Properties for ``EventBridgeSchedulerTarget``.
|
|
24392
|
+
|
|
24393
|
+
:param arn: The Amazon Resource Name (ARN) of the target.
|
|
24394
|
+
:param role: The IAM role that EventBridge Scheduler will use for this target when the schedule is invoked.
|
|
24395
|
+
:param dead_letter_queue: Dead letter queue for failed events. Default: - No dead letter queue
|
|
24396
|
+
:param input: The input to the target. Default: - EventBridge Scheduler delivers a default notification to the target
|
|
24397
|
+
:param retry_policy: The retry policy settings. Default: - Do not retry
|
|
24398
|
+
|
|
24399
|
+
:see: https://docs.aws.amazon.com/scheduler/latest/APIReference/API_Target.html#API_Target_Contents
|
|
24400
|
+
:exampleMetadata: infused
|
|
24401
|
+
|
|
24402
|
+
Example::
|
|
24403
|
+
|
|
24404
|
+
import aws_cdk.aws_scheduler as scheduler
|
|
24405
|
+
import aws_cdk.aws_kms as kms
|
|
24406
|
+
|
|
24407
|
+
# key: kms.Key
|
|
24408
|
+
# schedule_group: scheduler.CfnScheduleGroup
|
|
24409
|
+
# target_queue: sqs.Queue
|
|
24410
|
+
# dead_letter_queue: sqs.Queue
|
|
24411
|
+
|
|
24412
|
+
|
|
24413
|
+
scheduler_role = iam.Role(self, "SchedulerRole",
|
|
24414
|
+
assumed_by=iam.ServicePrincipal("scheduler.amazonaws.com")
|
|
24415
|
+
)
|
|
24416
|
+
# To send the message to the queue
|
|
24417
|
+
# This policy changes depending on the type of target.
|
|
24418
|
+
scheduler_role.add_to_principal_policy(iam.PolicyStatement(
|
|
24419
|
+
actions=["sqs:SendMessage"],
|
|
24420
|
+
resources=[target_queue.queue_arn]
|
|
24421
|
+
))
|
|
24422
|
+
|
|
24423
|
+
create_schedule_task1 = tasks.EventBridgeSchedulerCreateScheduleTask(self, "createSchedule",
|
|
24424
|
+
schedule_name="TestSchedule",
|
|
24425
|
+
action_after_completion=tasks.ActionAfterCompletion.NONE,
|
|
24426
|
+
client_token="testToken",
|
|
24427
|
+
description="TestDescription",
|
|
24428
|
+
start_date=Date(),
|
|
24429
|
+
end_date=Date(Date().get_time() + 1000 * 60 * 60),
|
|
24430
|
+
flexible_time_window=Duration.minutes(5),
|
|
24431
|
+
group_name=schedule_group.ref,
|
|
24432
|
+
kms_key=key,
|
|
24433
|
+
schedule=tasks.Schedule.rate(Duration.minutes(5)),
|
|
24434
|
+
timezone="UTC",
|
|
24435
|
+
enabled=True,
|
|
24436
|
+
target=tasks.EventBridgeSchedulerTarget(
|
|
24437
|
+
arn=target_queue.queue_arn,
|
|
24438
|
+
role=scheduler_role,
|
|
24439
|
+
retry_policy=tasks.RetryPolicy(
|
|
24440
|
+
maximum_retry_attempts=2,
|
|
24441
|
+
maximum_event_age=Duration.minutes(5)
|
|
24442
|
+
),
|
|
24443
|
+
dead_letter_queue=dead_letter_queue
|
|
24444
|
+
)
|
|
24445
|
+
)
|
|
24446
|
+
'''
|
|
24447
|
+
if isinstance(retry_policy, dict):
|
|
24448
|
+
retry_policy = RetryPolicy(**retry_policy)
|
|
24449
|
+
if __debug__:
|
|
24450
|
+
type_hints = typing.get_type_hints(_typecheckingstub__83724652ee20223ac0a080d8bf422dd2f7054179bab61153de248e08ef4efb52)
|
|
24451
|
+
check_type(argname="argument arn", value=arn, expected_type=type_hints["arn"])
|
|
24452
|
+
check_type(argname="argument role", value=role, expected_type=type_hints["role"])
|
|
24453
|
+
check_type(argname="argument dead_letter_queue", value=dead_letter_queue, expected_type=type_hints["dead_letter_queue"])
|
|
24454
|
+
check_type(argname="argument input", value=input, expected_type=type_hints["input"])
|
|
24455
|
+
check_type(argname="argument retry_policy", value=retry_policy, expected_type=type_hints["retry_policy"])
|
|
24456
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
24457
|
+
"arn": arn,
|
|
24458
|
+
"role": role,
|
|
24459
|
+
}
|
|
24460
|
+
if dead_letter_queue is not None:
|
|
24461
|
+
self._values["dead_letter_queue"] = dead_letter_queue
|
|
24462
|
+
if input is not None:
|
|
24463
|
+
self._values["input"] = input
|
|
24464
|
+
if retry_policy is not None:
|
|
24465
|
+
self._values["retry_policy"] = retry_policy
|
|
24466
|
+
|
|
24467
|
+
@builtins.property
|
|
24468
|
+
def arn(self) -> builtins.str:
|
|
24469
|
+
'''The Amazon Resource Name (ARN) of the target.
|
|
24470
|
+
|
|
24471
|
+
:see: https://docs.aws.amazon.com/scheduler/latest/UserGuide/managing-targets.html
|
|
24472
|
+
'''
|
|
24473
|
+
result = self._values.get("arn")
|
|
24474
|
+
assert result is not None, "Required property 'arn' is missing"
|
|
24475
|
+
return typing.cast(builtins.str, result)
|
|
24476
|
+
|
|
24477
|
+
@builtins.property
|
|
24478
|
+
def role(self) -> _IRole_235f5d8e:
|
|
24479
|
+
'''The IAM role that EventBridge Scheduler will use for this target when the schedule is invoked.'''
|
|
24480
|
+
result = self._values.get("role")
|
|
24481
|
+
assert result is not None, "Required property 'role' is missing"
|
|
24482
|
+
return typing.cast(_IRole_235f5d8e, result)
|
|
24483
|
+
|
|
24484
|
+
@builtins.property
|
|
24485
|
+
def dead_letter_queue(self) -> typing.Optional[_IQueue_7ed6f679]:
|
|
24486
|
+
'''Dead letter queue for failed events.
|
|
24487
|
+
|
|
24488
|
+
:default: - No dead letter queue
|
|
24489
|
+
'''
|
|
24490
|
+
result = self._values.get("dead_letter_queue")
|
|
24491
|
+
return typing.cast(typing.Optional[_IQueue_7ed6f679], result)
|
|
24492
|
+
|
|
24493
|
+
@builtins.property
|
|
24494
|
+
def input(self) -> typing.Optional[builtins.str]:
|
|
24495
|
+
'''The input to the target.
|
|
24496
|
+
|
|
24497
|
+
:default: - EventBridge Scheduler delivers a default notification to the target
|
|
24498
|
+
'''
|
|
24499
|
+
result = self._values.get("input")
|
|
24500
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
24501
|
+
|
|
24502
|
+
@builtins.property
|
|
24503
|
+
def retry_policy(self) -> typing.Optional["RetryPolicy"]:
|
|
24504
|
+
'''The retry policy settings.
|
|
24505
|
+
|
|
24506
|
+
:default: - Do not retry
|
|
24507
|
+
'''
|
|
24508
|
+
result = self._values.get("retry_policy")
|
|
24509
|
+
return typing.cast(typing.Optional["RetryPolicy"], result)
|
|
24510
|
+
|
|
24511
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
24512
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
24513
|
+
|
|
24514
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
24515
|
+
return not (rhs == self)
|
|
24516
|
+
|
|
24517
|
+
def __repr__(self) -> str:
|
|
24518
|
+
return "EventBridgeSchedulerTargetProps(%s)" % ", ".join(
|
|
23292
24519
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
23293
24520
|
)
|
|
23294
24521
|
|
|
@@ -27690,6 +28917,108 @@ class ResultConfiguration:
|
|
|
27690
28917
|
)
|
|
27691
28918
|
|
|
27692
28919
|
|
|
28920
|
+
@jsii.data_type(
|
|
28921
|
+
jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.RetryPolicy",
|
|
28922
|
+
jsii_struct_bases=[],
|
|
28923
|
+
name_mapping={
|
|
28924
|
+
"maximum_event_age": "maximumEventAge",
|
|
28925
|
+
"maximum_retry_attempts": "maximumRetryAttempts",
|
|
28926
|
+
},
|
|
28927
|
+
)
|
|
28928
|
+
class RetryPolicy:
|
|
28929
|
+
def __init__(
|
|
28930
|
+
self,
|
|
28931
|
+
*,
|
|
28932
|
+
maximum_event_age: _Duration_4839e8c3,
|
|
28933
|
+
maximum_retry_attempts: jsii.Number,
|
|
28934
|
+
) -> None:
|
|
28935
|
+
'''The information about the retry policy settings.
|
|
28936
|
+
|
|
28937
|
+
:param maximum_event_age: The maximum amount of time to continue to make retry attempts.
|
|
28938
|
+
:param maximum_retry_attempts: The maximum number of retry attempts to make before the request fails.
|
|
28939
|
+
|
|
28940
|
+
:exampleMetadata: infused
|
|
28941
|
+
|
|
28942
|
+
Example::
|
|
28943
|
+
|
|
28944
|
+
import aws_cdk.aws_scheduler as scheduler
|
|
28945
|
+
import aws_cdk.aws_kms as kms
|
|
28946
|
+
|
|
28947
|
+
# key: kms.Key
|
|
28948
|
+
# schedule_group: scheduler.CfnScheduleGroup
|
|
28949
|
+
# target_queue: sqs.Queue
|
|
28950
|
+
# dead_letter_queue: sqs.Queue
|
|
28951
|
+
|
|
28952
|
+
|
|
28953
|
+
scheduler_role = iam.Role(self, "SchedulerRole",
|
|
28954
|
+
assumed_by=iam.ServicePrincipal("scheduler.amazonaws.com")
|
|
28955
|
+
)
|
|
28956
|
+
# To send the message to the queue
|
|
28957
|
+
# This policy changes depending on the type of target.
|
|
28958
|
+
scheduler_role.add_to_principal_policy(iam.PolicyStatement(
|
|
28959
|
+
actions=["sqs:SendMessage"],
|
|
28960
|
+
resources=[target_queue.queue_arn]
|
|
28961
|
+
))
|
|
28962
|
+
|
|
28963
|
+
create_schedule_task1 = tasks.EventBridgeSchedulerCreateScheduleTask(self, "createSchedule",
|
|
28964
|
+
schedule_name="TestSchedule",
|
|
28965
|
+
action_after_completion=tasks.ActionAfterCompletion.NONE,
|
|
28966
|
+
client_token="testToken",
|
|
28967
|
+
description="TestDescription",
|
|
28968
|
+
start_date=Date(),
|
|
28969
|
+
end_date=Date(Date().get_time() + 1000 * 60 * 60),
|
|
28970
|
+
flexible_time_window=Duration.minutes(5),
|
|
28971
|
+
group_name=schedule_group.ref,
|
|
28972
|
+
kms_key=key,
|
|
28973
|
+
schedule=tasks.Schedule.rate(Duration.minutes(5)),
|
|
28974
|
+
timezone="UTC",
|
|
28975
|
+
enabled=True,
|
|
28976
|
+
target=tasks.EventBridgeSchedulerTarget(
|
|
28977
|
+
arn=target_queue.queue_arn,
|
|
28978
|
+
role=scheduler_role,
|
|
28979
|
+
retry_policy=tasks.RetryPolicy(
|
|
28980
|
+
maximum_retry_attempts=2,
|
|
28981
|
+
maximum_event_age=Duration.minutes(5)
|
|
28982
|
+
),
|
|
28983
|
+
dead_letter_queue=dead_letter_queue
|
|
28984
|
+
)
|
|
28985
|
+
)
|
|
28986
|
+
'''
|
|
28987
|
+
if __debug__:
|
|
28988
|
+
type_hints = typing.get_type_hints(_typecheckingstub__98d7f08183c8521e775b42fe55de270346af99ef79758a7f11f3b7f46644a8ed)
|
|
28989
|
+
check_type(argname="argument maximum_event_age", value=maximum_event_age, expected_type=type_hints["maximum_event_age"])
|
|
28990
|
+
check_type(argname="argument maximum_retry_attempts", value=maximum_retry_attempts, expected_type=type_hints["maximum_retry_attempts"])
|
|
28991
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
28992
|
+
"maximum_event_age": maximum_event_age,
|
|
28993
|
+
"maximum_retry_attempts": maximum_retry_attempts,
|
|
28994
|
+
}
|
|
28995
|
+
|
|
28996
|
+
@builtins.property
|
|
28997
|
+
def maximum_event_age(self) -> _Duration_4839e8c3:
|
|
28998
|
+
'''The maximum amount of time to continue to make retry attempts.'''
|
|
28999
|
+
result = self._values.get("maximum_event_age")
|
|
29000
|
+
assert result is not None, "Required property 'maximum_event_age' is missing"
|
|
29001
|
+
return typing.cast(_Duration_4839e8c3, result)
|
|
29002
|
+
|
|
29003
|
+
@builtins.property
|
|
29004
|
+
def maximum_retry_attempts(self) -> jsii.Number:
|
|
29005
|
+
'''The maximum number of retry attempts to make before the request fails.'''
|
|
29006
|
+
result = self._values.get("maximum_retry_attempts")
|
|
29007
|
+
assert result is not None, "Required property 'maximum_retry_attempts' is missing"
|
|
29008
|
+
return typing.cast(jsii.Number, result)
|
|
29009
|
+
|
|
29010
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
29011
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
29012
|
+
|
|
29013
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
29014
|
+
return not (rhs == self)
|
|
29015
|
+
|
|
29016
|
+
def __repr__(self) -> str:
|
|
29017
|
+
return "RetryPolicy(%s)" % ", ".join(
|
|
29018
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
29019
|
+
)
|
|
29020
|
+
|
|
29021
|
+
|
|
27693
29022
|
@jsii.enum(jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.S3DataDistributionType")
|
|
27694
29023
|
class S3DataDistributionType(enum.Enum):
|
|
27695
29024
|
'''S3 Data Distribution Type.'''
|
|
@@ -31141,6 +32470,125 @@ class SageMakerUpdateEndpointProps(_TaskStateBaseProps_3a62b6d0):
|
|
|
31141
32470
|
)
|
|
31142
32471
|
|
|
31143
32472
|
|
|
32473
|
+
class Schedule(
|
|
32474
|
+
metaclass=jsii.JSIIMeta,
|
|
32475
|
+
jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.Schedule",
|
|
32476
|
+
):
|
|
32477
|
+
'''Schedule for EventBridge Scheduler.
|
|
32478
|
+
|
|
32479
|
+
:exampleMetadata: infused
|
|
32480
|
+
|
|
32481
|
+
Example::
|
|
32482
|
+
|
|
32483
|
+
import aws_cdk.aws_scheduler as scheduler
|
|
32484
|
+
import aws_cdk.aws_kms as kms
|
|
32485
|
+
|
|
32486
|
+
# key: kms.Key
|
|
32487
|
+
# schedule_group: scheduler.CfnScheduleGroup
|
|
32488
|
+
# target_queue: sqs.Queue
|
|
32489
|
+
# dead_letter_queue: sqs.Queue
|
|
32490
|
+
|
|
32491
|
+
|
|
32492
|
+
scheduler_role = iam.Role(self, "SchedulerRole",
|
|
32493
|
+
assumed_by=iam.ServicePrincipal("scheduler.amazonaws.com")
|
|
32494
|
+
)
|
|
32495
|
+
# To send the message to the queue
|
|
32496
|
+
# This policy changes depending on the type of target.
|
|
32497
|
+
scheduler_role.add_to_principal_policy(iam.PolicyStatement(
|
|
32498
|
+
actions=["sqs:SendMessage"],
|
|
32499
|
+
resources=[target_queue.queue_arn]
|
|
32500
|
+
))
|
|
32501
|
+
|
|
32502
|
+
create_schedule_task1 = tasks.EventBridgeSchedulerCreateScheduleTask(self, "createSchedule",
|
|
32503
|
+
schedule_name="TestSchedule",
|
|
32504
|
+
action_after_completion=tasks.ActionAfterCompletion.NONE,
|
|
32505
|
+
client_token="testToken",
|
|
32506
|
+
description="TestDescription",
|
|
32507
|
+
start_date=Date(),
|
|
32508
|
+
end_date=Date(Date().get_time() + 1000 * 60 * 60),
|
|
32509
|
+
flexible_time_window=Duration.minutes(5),
|
|
32510
|
+
group_name=schedule_group.ref,
|
|
32511
|
+
kms_key=key,
|
|
32512
|
+
schedule=tasks.Schedule.rate(Duration.minutes(5)),
|
|
32513
|
+
timezone="UTC",
|
|
32514
|
+
enabled=True,
|
|
32515
|
+
target=tasks.EventBridgeSchedulerTarget(
|
|
32516
|
+
arn=target_queue.queue_arn,
|
|
32517
|
+
role=scheduler_role,
|
|
32518
|
+
retry_policy=tasks.RetryPolicy(
|
|
32519
|
+
maximum_retry_attempts=2,
|
|
32520
|
+
maximum_event_age=Duration.minutes(5)
|
|
32521
|
+
),
|
|
32522
|
+
dead_letter_queue=dead_letter_queue
|
|
32523
|
+
)
|
|
32524
|
+
)
|
|
32525
|
+
'''
|
|
32526
|
+
|
|
32527
|
+
@jsii.member(jsii_name="cron")
|
|
32528
|
+
@builtins.classmethod
|
|
32529
|
+
def cron(
|
|
32530
|
+
cls,
|
|
32531
|
+
*,
|
|
32532
|
+
day: typing.Optional[builtins.str] = None,
|
|
32533
|
+
hour: typing.Optional[builtins.str] = None,
|
|
32534
|
+
minute: typing.Optional[builtins.str] = None,
|
|
32535
|
+
month: typing.Optional[builtins.str] = None,
|
|
32536
|
+
week_day: typing.Optional[builtins.str] = None,
|
|
32537
|
+
year: typing.Optional[builtins.str] = None,
|
|
32538
|
+
) -> "Schedule":
|
|
32539
|
+
'''Create a cron-based schedule from a set of cron fields.
|
|
32540
|
+
|
|
32541
|
+
:param day: The day of the month to run this rule at. Default: - Every day of the month
|
|
32542
|
+
:param hour: The hour to run this rule at. Default: - Every hour
|
|
32543
|
+
:param minute: The minute to run this rule at. Default: - Every minute
|
|
32544
|
+
:param month: The month to run this rule at. Default: - Every month
|
|
32545
|
+
:param week_day: The day of the week to run this rule at. Default: - Whichever day of the week that ``day`` falls on
|
|
32546
|
+
:param year: The year to run this rule at. Default: - Every year
|
|
32547
|
+
'''
|
|
32548
|
+
options = CronOptions(
|
|
32549
|
+
day=day,
|
|
32550
|
+
hour=hour,
|
|
32551
|
+
minute=minute,
|
|
32552
|
+
month=month,
|
|
32553
|
+
week_day=week_day,
|
|
32554
|
+
year=year,
|
|
32555
|
+
)
|
|
32556
|
+
|
|
32557
|
+
return typing.cast("Schedule", jsii.sinvoke(cls, "cron", [options]))
|
|
32558
|
+
|
|
32559
|
+
@jsii.member(jsii_name="oneTime")
|
|
32560
|
+
@builtins.classmethod
|
|
32561
|
+
def one_time(cls, time: datetime.datetime) -> "Schedule":
|
|
32562
|
+
'''Construct a one-time schedule from a Date.
|
|
32563
|
+
|
|
32564
|
+
:param time: -
|
|
32565
|
+
'''
|
|
32566
|
+
if __debug__:
|
|
32567
|
+
type_hints = typing.get_type_hints(_typecheckingstub__5d9c36e51b3ea0cf38a1d8aa35ba2b2f487b3e663a742ee4c205897aaac84602)
|
|
32568
|
+
check_type(argname="argument time", value=time, expected_type=type_hints["time"])
|
|
32569
|
+
return typing.cast("Schedule", jsii.sinvoke(cls, "oneTime", [time]))
|
|
32570
|
+
|
|
32571
|
+
@jsii.member(jsii_name="rate")
|
|
32572
|
+
@builtins.classmethod
|
|
32573
|
+
def rate(cls, duration: _Duration_4839e8c3) -> "Schedule":
|
|
32574
|
+
'''Construct a rate-based schedule from an interval.
|
|
32575
|
+
|
|
32576
|
+
The minimum interval is 1 minute.
|
|
32577
|
+
|
|
32578
|
+
:param duration: -
|
|
32579
|
+
'''
|
|
32580
|
+
if __debug__:
|
|
32581
|
+
type_hints = typing.get_type_hints(_typecheckingstub__ee7a5ee61b7c1e1eb0d0eb44a69b770e429c08e40f6e65c26a812408764e2260)
|
|
32582
|
+
check_type(argname="argument duration", value=duration, expected_type=type_hints["duration"])
|
|
32583
|
+
return typing.cast("Schedule", jsii.sinvoke(cls, "rate", [duration]))
|
|
32584
|
+
|
|
32585
|
+
@builtins.property
|
|
32586
|
+
@jsii.member(jsii_name="expressionString")
|
|
32587
|
+
def expression_string(self) -> builtins.str:
|
|
32588
|
+
'''The Schedule expression.'''
|
|
32589
|
+
return typing.cast(builtins.str, jsii.get(self, "expressionString"))
|
|
32590
|
+
|
|
32591
|
+
|
|
31144
32592
|
@jsii.data_type(
|
|
31145
32593
|
jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.ShuffleConfig",
|
|
31146
32594
|
jsii_struct_bases=[],
|
|
@@ -34364,6 +35812,7 @@ class EcsFargateLaunchTarget(
|
|
|
34364
35812
|
__all__ = [
|
|
34365
35813
|
"AcceleratorClass",
|
|
34366
35814
|
"AcceleratorType",
|
|
35815
|
+
"ActionAfterCompletion",
|
|
34367
35816
|
"ActionOnFailure",
|
|
34368
35817
|
"AlgorithmSpecification",
|
|
34369
35818
|
"ApplicationConfiguration",
|
|
@@ -34408,6 +35857,7 @@ __all__ = [
|
|
|
34408
35857
|
"ContainerDefinitionOptions",
|
|
34409
35858
|
"ContainerOverride",
|
|
34410
35859
|
"ContainerOverrides",
|
|
35860
|
+
"CronOptions",
|
|
34411
35861
|
"DataSource",
|
|
34412
35862
|
"DockerImage",
|
|
34413
35863
|
"DockerImageConfig",
|
|
@@ -34461,6 +35911,10 @@ __all__ = [
|
|
|
34461
35911
|
"EventBridgePutEvents",
|
|
34462
35912
|
"EventBridgePutEventsEntry",
|
|
34463
35913
|
"EventBridgePutEventsProps",
|
|
35914
|
+
"EventBridgeSchedulerCreateScheduleTask",
|
|
35915
|
+
"EventBridgeSchedulerCreateScheduleTaskProps",
|
|
35916
|
+
"EventBridgeSchedulerTarget",
|
|
35917
|
+
"EventBridgeSchedulerTargetProps",
|
|
34464
35918
|
"ExecutionClass",
|
|
34465
35919
|
"GlueDataBrewStartJobRun",
|
|
34466
35920
|
"GlueDataBrewStartJobRunProps",
|
|
@@ -34498,6 +35952,7 @@ __all__ = [
|
|
|
34498
35952
|
"ReleaseLabel",
|
|
34499
35953
|
"ResourceConfig",
|
|
34500
35954
|
"ResultConfiguration",
|
|
35955
|
+
"RetryPolicy",
|
|
34501
35956
|
"S3DataDistributionType",
|
|
34502
35957
|
"S3DataSource",
|
|
34503
35958
|
"S3DataType",
|
|
@@ -34516,6 +35971,7 @@ __all__ = [
|
|
|
34516
35971
|
"SageMakerCreateTransformJobProps",
|
|
34517
35972
|
"SageMakerUpdateEndpoint",
|
|
34518
35973
|
"SageMakerUpdateEndpointProps",
|
|
35974
|
+
"Schedule",
|
|
34519
35975
|
"ShuffleConfig",
|
|
34520
35976
|
"SnsPublish",
|
|
34521
35977
|
"SnsPublishProps",
|
|
@@ -35299,6 +36755,18 @@ def _typecheckingstub__01041943486aae0759ebb5eb0da770a79ece9051da7b1da79c5ca4956
|
|
|
35299
36755
|
"""Type checking stubs"""
|
|
35300
36756
|
pass
|
|
35301
36757
|
|
|
36758
|
+
def _typecheckingstub__3ded07e1f80001916cedf33047f0de79b459fade9caa718d154ce12553ccfd4b(
|
|
36759
|
+
*,
|
|
36760
|
+
day: typing.Optional[builtins.str] = None,
|
|
36761
|
+
hour: typing.Optional[builtins.str] = None,
|
|
36762
|
+
minute: typing.Optional[builtins.str] = None,
|
|
36763
|
+
month: typing.Optional[builtins.str] = None,
|
|
36764
|
+
week_day: typing.Optional[builtins.str] = None,
|
|
36765
|
+
year: typing.Optional[builtins.str] = None,
|
|
36766
|
+
) -> None:
|
|
36767
|
+
"""Type checking stubs"""
|
|
36768
|
+
pass
|
|
36769
|
+
|
|
35302
36770
|
def _typecheckingstub__ae608c3d9d2fb12a77379a82dd6b04cdafe048a3cd431a1c95d472c19c1cbcd4(
|
|
35303
36771
|
*,
|
|
35304
36772
|
s3_data_source: typing.Union[S3DataSource, typing.Dict[builtins.str, typing.Any]],
|
|
@@ -36677,6 +38145,111 @@ def _typecheckingstub__3d1533e2221776c3bad646394bc560a4c2723f94942ecd3f4dacdb6c7
|
|
|
36677
38145
|
"""Type checking stubs"""
|
|
36678
38146
|
pass
|
|
36679
38147
|
|
|
38148
|
+
def _typecheckingstub__d4cb892d1936cdb9cedbfb77092003022fa30c87f9067911038653144e7000e1(
|
|
38149
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
38150
|
+
id: builtins.str,
|
|
38151
|
+
*,
|
|
38152
|
+
schedule: Schedule,
|
|
38153
|
+
schedule_name: builtins.str,
|
|
38154
|
+
target: EventBridgeSchedulerTarget,
|
|
38155
|
+
action_after_completion: typing.Optional[ActionAfterCompletion] = None,
|
|
38156
|
+
client_token: typing.Optional[builtins.str] = None,
|
|
38157
|
+
description: typing.Optional[builtins.str] = None,
|
|
38158
|
+
enabled: typing.Optional[builtins.bool] = None,
|
|
38159
|
+
end_date: typing.Optional[datetime.datetime] = None,
|
|
38160
|
+
flexible_time_window: typing.Optional[_Duration_4839e8c3] = None,
|
|
38161
|
+
group_name: typing.Optional[builtins.str] = None,
|
|
38162
|
+
kms_key: typing.Optional[_IKey_5f11635f] = None,
|
|
38163
|
+
start_date: typing.Optional[datetime.datetime] = None,
|
|
38164
|
+
timezone: typing.Optional[builtins.str] = None,
|
|
38165
|
+
comment: typing.Optional[builtins.str] = None,
|
|
38166
|
+
credentials: typing.Optional[typing.Union[_Credentials_2cd64c6b, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
38167
|
+
heartbeat: typing.Optional[_Duration_4839e8c3] = None,
|
|
38168
|
+
heartbeat_timeout: typing.Optional[_Timeout_d7c10551] = None,
|
|
38169
|
+
input_path: typing.Optional[builtins.str] = None,
|
|
38170
|
+
integration_pattern: typing.Optional[_IntegrationPattern_949291bc] = None,
|
|
38171
|
+
output_path: typing.Optional[builtins.str] = None,
|
|
38172
|
+
result_path: typing.Optional[builtins.str] = None,
|
|
38173
|
+
result_selector: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
|
|
38174
|
+
state_name: typing.Optional[builtins.str] = None,
|
|
38175
|
+
task_timeout: typing.Optional[_Timeout_d7c10551] = None,
|
|
38176
|
+
timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
38177
|
+
) -> None:
|
|
38178
|
+
"""Type checking stubs"""
|
|
38179
|
+
pass
|
|
38180
|
+
|
|
38181
|
+
def _typecheckingstub__2ca0e1f6c70f9052670025ee76f1aee1aa07fd94e10b6fa83ff1c51c8304e804(
|
|
38182
|
+
*,
|
|
38183
|
+
comment: typing.Optional[builtins.str] = None,
|
|
38184
|
+
credentials: typing.Optional[typing.Union[_Credentials_2cd64c6b, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
38185
|
+
heartbeat: typing.Optional[_Duration_4839e8c3] = None,
|
|
38186
|
+
heartbeat_timeout: typing.Optional[_Timeout_d7c10551] = None,
|
|
38187
|
+
input_path: typing.Optional[builtins.str] = None,
|
|
38188
|
+
integration_pattern: typing.Optional[_IntegrationPattern_949291bc] = None,
|
|
38189
|
+
output_path: typing.Optional[builtins.str] = None,
|
|
38190
|
+
result_path: typing.Optional[builtins.str] = None,
|
|
38191
|
+
result_selector: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
|
|
38192
|
+
state_name: typing.Optional[builtins.str] = None,
|
|
38193
|
+
task_timeout: typing.Optional[_Timeout_d7c10551] = None,
|
|
38194
|
+
timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
38195
|
+
schedule: Schedule,
|
|
38196
|
+
schedule_name: builtins.str,
|
|
38197
|
+
target: EventBridgeSchedulerTarget,
|
|
38198
|
+
action_after_completion: typing.Optional[ActionAfterCompletion] = None,
|
|
38199
|
+
client_token: typing.Optional[builtins.str] = None,
|
|
38200
|
+
description: typing.Optional[builtins.str] = None,
|
|
38201
|
+
enabled: typing.Optional[builtins.bool] = None,
|
|
38202
|
+
end_date: typing.Optional[datetime.datetime] = None,
|
|
38203
|
+
flexible_time_window: typing.Optional[_Duration_4839e8c3] = None,
|
|
38204
|
+
group_name: typing.Optional[builtins.str] = None,
|
|
38205
|
+
kms_key: typing.Optional[_IKey_5f11635f] = None,
|
|
38206
|
+
start_date: typing.Optional[datetime.datetime] = None,
|
|
38207
|
+
timezone: typing.Optional[builtins.str] = None,
|
|
38208
|
+
) -> None:
|
|
38209
|
+
"""Type checking stubs"""
|
|
38210
|
+
pass
|
|
38211
|
+
|
|
38212
|
+
def _typecheckingstub__08399721dc3339ea162c3eb58b966c2135f7b985764627b33d6165699f2fe7a9(
|
|
38213
|
+
value: builtins.str,
|
|
38214
|
+
) -> None:
|
|
38215
|
+
"""Type checking stubs"""
|
|
38216
|
+
pass
|
|
38217
|
+
|
|
38218
|
+
def _typecheckingstub__279822f7cb0eddabb17ddd4de4d374b62ac9aec5de2b4f5127c638cfacf8183d(
|
|
38219
|
+
value: _IRole_235f5d8e,
|
|
38220
|
+
) -> None:
|
|
38221
|
+
"""Type checking stubs"""
|
|
38222
|
+
pass
|
|
38223
|
+
|
|
38224
|
+
def _typecheckingstub__2740fb9a1bb904a28e993d62d6f1a5fc12667d92b6515d4d2433e2b8e8903e3e(
|
|
38225
|
+
value: typing.Optional[_IQueue_7ed6f679],
|
|
38226
|
+
) -> None:
|
|
38227
|
+
"""Type checking stubs"""
|
|
38228
|
+
pass
|
|
38229
|
+
|
|
38230
|
+
def _typecheckingstub__47114e604ac28a24d6cd14b23a4c054ce75fcb98cde7d3563faee1c1c77ae510(
|
|
38231
|
+
value: typing.Optional[builtins.str],
|
|
38232
|
+
) -> None:
|
|
38233
|
+
"""Type checking stubs"""
|
|
38234
|
+
pass
|
|
38235
|
+
|
|
38236
|
+
def _typecheckingstub__132145ba0a6d11089eaa41ce28ee78b1e93e936cf0e454686be50ef9ffcd6629(
|
|
38237
|
+
value: typing.Optional[RetryPolicy],
|
|
38238
|
+
) -> None:
|
|
38239
|
+
"""Type checking stubs"""
|
|
38240
|
+
pass
|
|
38241
|
+
|
|
38242
|
+
def _typecheckingstub__83724652ee20223ac0a080d8bf422dd2f7054179bab61153de248e08ef4efb52(
|
|
38243
|
+
*,
|
|
38244
|
+
arn: builtins.str,
|
|
38245
|
+
role: _IRole_235f5d8e,
|
|
38246
|
+
dead_letter_queue: typing.Optional[_IQueue_7ed6f679] = None,
|
|
38247
|
+
input: typing.Optional[builtins.str] = None,
|
|
38248
|
+
retry_policy: typing.Optional[typing.Union[RetryPolicy, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
38249
|
+
) -> None:
|
|
38250
|
+
"""Type checking stubs"""
|
|
38251
|
+
pass
|
|
38252
|
+
|
|
36680
38253
|
def _typecheckingstub__cb07757b4483ab674eb60feab8180666aaf3693f5b2c5fc2b5f17e759f97ba8d(
|
|
36681
38254
|
scope: _constructs_77d1e7e8.Construct,
|
|
36682
38255
|
id: builtins.str,
|
|
@@ -37091,6 +38664,14 @@ def _typecheckingstub__33c555cfffa7974fe2e6e47bc31ab2d676beaae1a0049f46abb78a457
|
|
|
37091
38664
|
"""Type checking stubs"""
|
|
37092
38665
|
pass
|
|
37093
38666
|
|
|
38667
|
+
def _typecheckingstub__98d7f08183c8521e775b42fe55de270346af99ef79758a7f11f3b7f46644a8ed(
|
|
38668
|
+
*,
|
|
38669
|
+
maximum_event_age: _Duration_4839e8c3,
|
|
38670
|
+
maximum_retry_attempts: jsii.Number,
|
|
38671
|
+
) -> None:
|
|
38672
|
+
"""Type checking stubs"""
|
|
38673
|
+
pass
|
|
38674
|
+
|
|
37094
38675
|
def _typecheckingstub__b838b12481cb765d7b3deab25659b461e3b016333b3e6eee25210622bbfb9c08(
|
|
37095
38676
|
*,
|
|
37096
38677
|
s3_location: S3Location,
|
|
@@ -37460,6 +39041,18 @@ def _typecheckingstub__d96c2c0df56e3dc1707e4ba9fa8a1542b52a2238b392b5de5c6a4cfd8
|
|
|
37460
39041
|
"""Type checking stubs"""
|
|
37461
39042
|
pass
|
|
37462
39043
|
|
|
39044
|
+
def _typecheckingstub__5d9c36e51b3ea0cf38a1d8aa35ba2b2f487b3e663a742ee4c205897aaac84602(
|
|
39045
|
+
time: datetime.datetime,
|
|
39046
|
+
) -> None:
|
|
39047
|
+
"""Type checking stubs"""
|
|
39048
|
+
pass
|
|
39049
|
+
|
|
39050
|
+
def _typecheckingstub__ee7a5ee61b7c1e1eb0d0eb44a69b770e429c08e40f6e65c26a812408764e2260(
|
|
39051
|
+
duration: _Duration_4839e8c3,
|
|
39052
|
+
) -> None:
|
|
39053
|
+
"""Type checking stubs"""
|
|
39054
|
+
pass
|
|
39055
|
+
|
|
37463
39056
|
def _typecheckingstub__faecfc8e3e10593c0b9f5870adc72dfc618190f143d051af9133af1842024ed2(
|
|
37464
39057
|
*,
|
|
37465
39058
|
seed: jsii.Number,
|