aws-cdk-lib 2.199.0__py3-none-any.whl → 2.200.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.

Files changed (49) hide show
  1. aws_cdk/__init__.py +22 -24
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.199.0.jsii.tgz → aws-cdk-lib@2.200.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_acmpca/__init__.py +1 -1
  5. aws_cdk/aws_apigateway/__init__.py +1 -1
  6. aws_cdk/aws_applicationautoscaling/__init__.py +4 -4
  7. aws_cdk/aws_aps/__init__.py +38 -30
  8. aws_cdk/aws_autoscaling/__init__.py +4 -4
  9. aws_cdk/aws_bedrock/__init__.py +73 -48
  10. aws_cdk/aws_cloudformation/__init__.py +17 -23
  11. aws_cdk/aws_cloudfront_origins/__init__.py +1 -1
  12. aws_cdk/aws_cloudtrail/__init__.py +4 -4
  13. aws_cdk/aws_cloudwatch/__init__.py +50 -1
  14. aws_cdk/aws_codebuild/__init__.py +116 -0
  15. aws_cdk/aws_datazone/__init__.py +699 -9
  16. aws_cdk/aws_deadline/__init__.py +38 -10
  17. aws_cdk/aws_ec2/__init__.py +78 -20
  18. aws_cdk/aws_elasticloadbalancingv2/__init__.py +7 -7
  19. aws_cdk/aws_emr/__init__.py +36 -2
  20. aws_cdk/aws_fsx/__init__.py +122 -0
  21. aws_cdk/aws_glue/__init__.py +55 -26
  22. aws_cdk/aws_iam/__init__.py +376 -2
  23. aws_cdk/aws_iot/__init__.py +57 -5
  24. aws_cdk/aws_kinesisfirehose/__init__.py +5 -1
  25. aws_cdk/aws_lambda/__init__.py +65 -45
  26. aws_cdk/aws_lex/__init__.py +27 -13
  27. aws_cdk/aws_lightsail/__init__.py +452 -0
  28. aws_cdk/aws_medialive/__init__.py +699 -497
  29. aws_cdk/aws_msk/__init__.py +4 -4
  30. aws_cdk/aws_networkfirewall/__init__.py +9 -5
  31. aws_cdk/aws_nimblestudio/__init__.py +208 -400
  32. aws_cdk/aws_panorama/__init__.py +30 -3
  33. aws_cdk/aws_pcs/__init__.py +12 -5
  34. aws_cdk/aws_rds/__init__.py +22 -10
  35. aws_cdk/aws_s3/__init__.py +367 -6
  36. aws_cdk/aws_s3express/__init__.py +789 -0
  37. aws_cdk/aws_ses/__init__.py +300 -32
  38. aws_cdk/aws_sns_subscriptions/__init__.py +256 -1
  39. aws_cdk/aws_stepfunctions/__init__.py +55 -17
  40. aws_cdk/aws_synthetics/__init__.py +26 -16
  41. aws_cdk/aws_voiceid/__init__.py +13 -3
  42. aws_cdk/cloud_assembly_schema/__init__.py +137 -42
  43. aws_cdk/cx_api/__init__.py +7 -7
  44. {aws_cdk_lib-2.199.0.dist-info → aws_cdk_lib-2.200.0.dist-info}/METADATA +2 -2
  45. {aws_cdk_lib-2.199.0.dist-info → aws_cdk_lib-2.200.0.dist-info}/RECORD +49 -49
  46. {aws_cdk_lib-2.199.0.dist-info → aws_cdk_lib-2.200.0.dist-info}/LICENSE +0 -0
  47. {aws_cdk_lib-2.199.0.dist-info → aws_cdk_lib-2.200.0.dist-info}/NOTICE +0 -0
  48. {aws_cdk_lib-2.199.0.dist-info → aws_cdk_lib-2.200.0.dist-info}/WHEEL +0 -0
  49. {aws_cdk_lib-2.199.0.dist-info → aws_cdk_lib-2.200.0.dist-info}/top_level.txt +0 -0
@@ -13,8 +13,9 @@ Subscriptions can be added to the following endpoints:
13
13
  * AWS Lambda
14
14
  * Email
15
15
  * SMS
16
+ * Amazon Data Firehose
16
17
 
17
- Subscriptions to Amazon SQS and AWS Lambda can be added on topics across regions.
18
+ Subscriptions to Amazon SQS, AWS Lambda and Amazon Data Firehose can be added on topics across regions.
18
19
 
19
20
  Create an Amazon SNS Topic to add subscriptions.
20
21
 
@@ -143,6 +144,34 @@ sms_number = CfnParameter(self, "sms-param")
143
144
 
144
145
  my_topic.add_subscription(subscriptions.SmsSubscription(sms_number.value_as_string))
145
146
  ```
147
+
148
+ ### Amazon Data Firehose
149
+
150
+ Subscribe an Amazon Data Firehose delivery stream to your topic:
151
+
152
+ ```python
153
+ import aws_cdk.aws_kinesisfirehose as firehose
154
+ # stream: firehose.DeliveryStream
155
+
156
+
157
+ my_topic = sns.Topic(self, "Topic")
158
+
159
+ my_topic.add_subscription(subscriptions.FirehoseSubscription(stream))
160
+ ```
161
+
162
+ To remove any Amazon SNS metadata from published messages, specify `rawMessageDelivery` to true.
163
+
164
+ ```python
165
+ import aws_cdk.aws_kinesisfirehose as firehose
166
+ # stream: firehose.DeliveryStream
167
+
168
+
169
+ my_topic = sns.Topic(self, "Topic")
170
+
171
+ my_topic.add_subscription(subscriptions.FirehoseSubscription(stream,
172
+ raw_message_delivery=True
173
+ ))
174
+ ```
146
175
  '''
147
176
  from pkgutil import extend_path
148
177
  __path__ = extend_path(__path__, __name__)
@@ -176,6 +205,8 @@ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing
176
205
 
177
206
  from .._jsii import *
178
207
 
208
+ from ..aws_iam import IRole as _IRole_235f5d8e
209
+ from ..aws_kinesisfirehose import IDeliveryStream as _IDeliveryStream_8f118861
179
210
  from ..aws_lambda import IFunction as _IFunction_6adb0ab8
180
211
  from ..aws_sns import (
181
212
  DeliveryPolicy as _DeliveryPolicy_76b14b4e,
@@ -248,6 +279,70 @@ class EmailSubscription(
248
279
  return typing.cast(_TopicSubscriptionConfig_3a01016e, jsii.invoke(self, "bind", [_topic]))
249
280
 
250
281
 
282
+ @jsii.implements(_ITopicSubscription_363a9426)
283
+ class FirehoseSubscription(
284
+ metaclass=jsii.JSIIMeta,
285
+ jsii_type="aws-cdk-lib.aws_sns_subscriptions.FirehoseSubscription",
286
+ ):
287
+ '''Use an Amazon Data Firehose delivery stream as a subscription target.
288
+
289
+ :see: https://docs.aws.amazon.com/sns/latest/dg/sns-firehose-as-subscriber.html
290
+ :exampleMetadata: infused
291
+
292
+ Example::
293
+
294
+ import aws_cdk.aws_kinesisfirehose as firehose
295
+ # stream: firehose.DeliveryStream
296
+
297
+
298
+ my_topic = sns.Topic(self, "Topic")
299
+
300
+ my_topic.add_subscription(subscriptions.FirehoseSubscription(stream))
301
+ '''
302
+
303
+ def __init__(
304
+ self,
305
+ delivery_stream: _IDeliveryStream_8f118861,
306
+ *,
307
+ raw_message_delivery: typing.Optional[builtins.bool] = None,
308
+ role: typing.Optional[_IRole_235f5d8e] = None,
309
+ dead_letter_queue: typing.Optional[_IQueue_7ed6f679] = None,
310
+ filter_policy: typing.Optional[typing.Mapping[builtins.str, _SubscriptionFilter_8e774360]] = None,
311
+ filter_policy_with_message_body: typing.Optional[typing.Mapping[builtins.str, _FilterOrPolicy_ad79be59]] = None,
312
+ ) -> None:
313
+ '''
314
+ :param delivery_stream: -
315
+ :param raw_message_delivery: Whether to remove any Amazon SNS metadata from published messages. Default: false
316
+ :param role: The role to assume to write messages to the Amazon Data Firehose delivery stream. Default: - A new Role is created
317
+ :param dead_letter_queue: Queue to be used as dead letter queue. If not passed no dead letter queue is enabled. Default: - No dead letter queue enabled.
318
+ :param filter_policy: The filter policy. Default: - all messages are delivered
319
+ :param filter_policy_with_message_body: The filter policy that is applied on the message body. To apply a filter policy to the message attributes, use ``filterPolicy``. A maximum of one of ``filterPolicyWithMessageBody`` and ``filterPolicy`` may be used. Default: - all messages are delivered
320
+ '''
321
+ if __debug__:
322
+ type_hints = typing.get_type_hints(_typecheckingstub__eb284a753df4f96d68b5336d14cffbd9183054fb6ebd06d8ae9d19e34dadca66)
323
+ check_type(argname="argument delivery_stream", value=delivery_stream, expected_type=type_hints["delivery_stream"])
324
+ props = FirehoseSubscriptionProps(
325
+ raw_message_delivery=raw_message_delivery,
326
+ role=role,
327
+ dead_letter_queue=dead_letter_queue,
328
+ filter_policy=filter_policy,
329
+ filter_policy_with_message_body=filter_policy_with_message_body,
330
+ )
331
+
332
+ jsii.create(self.__class__, self, [delivery_stream, props])
333
+
334
+ @jsii.member(jsii_name="bind")
335
+ def bind(self, topic: _ITopic_9eca4852) -> _TopicSubscriptionConfig_3a01016e:
336
+ '''Returns a configuration for a Lambda function to subscribe to an SNS topic.
337
+
338
+ :param topic: -
339
+ '''
340
+ if __debug__:
341
+ type_hints = typing.get_type_hints(_typecheckingstub__4451ffe60ee55af18e7cd4f32871e3dcb229ecdc56cfab772a77a55ca36a43d2)
342
+ check_type(argname="argument topic", value=topic, expected_type=type_hints["topic"])
343
+ return typing.cast(_TopicSubscriptionConfig_3a01016e, jsii.invoke(self, "bind", [topic]))
344
+
345
+
251
346
  @jsii.implements(_ITopicSubscription_363a9426)
252
347
  class LambdaSubscription(
253
348
  metaclass=jsii.JSIIMeta,
@@ -884,6 +979,135 @@ class EmailSubscriptionProps(SubscriptionProps):
884
979
  )
885
980
 
886
981
 
982
+ @jsii.data_type(
983
+ jsii_type="aws-cdk-lib.aws_sns_subscriptions.FirehoseSubscriptionProps",
984
+ jsii_struct_bases=[SubscriptionProps],
985
+ name_mapping={
986
+ "dead_letter_queue": "deadLetterQueue",
987
+ "filter_policy": "filterPolicy",
988
+ "filter_policy_with_message_body": "filterPolicyWithMessageBody",
989
+ "raw_message_delivery": "rawMessageDelivery",
990
+ "role": "role",
991
+ },
992
+ )
993
+ class FirehoseSubscriptionProps(SubscriptionProps):
994
+ def __init__(
995
+ self,
996
+ *,
997
+ dead_letter_queue: typing.Optional[_IQueue_7ed6f679] = None,
998
+ filter_policy: typing.Optional[typing.Mapping[builtins.str, _SubscriptionFilter_8e774360]] = None,
999
+ filter_policy_with_message_body: typing.Optional[typing.Mapping[builtins.str, _FilterOrPolicy_ad79be59]] = None,
1000
+ raw_message_delivery: typing.Optional[builtins.bool] = None,
1001
+ role: typing.Optional[_IRole_235f5d8e] = None,
1002
+ ) -> None:
1003
+ '''Properties for an Amazon Data Firehose subscription.
1004
+
1005
+ :param dead_letter_queue: Queue to be used as dead letter queue. If not passed no dead letter queue is enabled. Default: - No dead letter queue enabled.
1006
+ :param filter_policy: The filter policy. Default: - all messages are delivered
1007
+ :param filter_policy_with_message_body: The filter policy that is applied on the message body. To apply a filter policy to the message attributes, use ``filterPolicy``. A maximum of one of ``filterPolicyWithMessageBody`` and ``filterPolicy`` may be used. Default: - all messages are delivered
1008
+ :param raw_message_delivery: Whether to remove any Amazon SNS metadata from published messages. Default: false
1009
+ :param role: The role to assume to write messages to the Amazon Data Firehose delivery stream. Default: - A new Role is created
1010
+
1011
+ :exampleMetadata: infused
1012
+
1013
+ Example::
1014
+
1015
+ import aws_cdk.aws_kinesisfirehose as firehose
1016
+ # stream: firehose.DeliveryStream
1017
+
1018
+
1019
+ my_topic = sns.Topic(self, "Topic")
1020
+
1021
+ my_topic.add_subscription(subscriptions.FirehoseSubscription(stream,
1022
+ raw_message_delivery=True
1023
+ ))
1024
+ '''
1025
+ if __debug__:
1026
+ type_hints = typing.get_type_hints(_typecheckingstub__985141d3216aa767af7319f266fa3eda68db2fc5132677f99b8aeb05d240609c)
1027
+ check_type(argname="argument dead_letter_queue", value=dead_letter_queue, expected_type=type_hints["dead_letter_queue"])
1028
+ check_type(argname="argument filter_policy", value=filter_policy, expected_type=type_hints["filter_policy"])
1029
+ check_type(argname="argument filter_policy_with_message_body", value=filter_policy_with_message_body, expected_type=type_hints["filter_policy_with_message_body"])
1030
+ check_type(argname="argument raw_message_delivery", value=raw_message_delivery, expected_type=type_hints["raw_message_delivery"])
1031
+ check_type(argname="argument role", value=role, expected_type=type_hints["role"])
1032
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1033
+ if dead_letter_queue is not None:
1034
+ self._values["dead_letter_queue"] = dead_letter_queue
1035
+ if filter_policy is not None:
1036
+ self._values["filter_policy"] = filter_policy
1037
+ if filter_policy_with_message_body is not None:
1038
+ self._values["filter_policy_with_message_body"] = filter_policy_with_message_body
1039
+ if raw_message_delivery is not None:
1040
+ self._values["raw_message_delivery"] = raw_message_delivery
1041
+ if role is not None:
1042
+ self._values["role"] = role
1043
+
1044
+ @builtins.property
1045
+ def dead_letter_queue(self) -> typing.Optional[_IQueue_7ed6f679]:
1046
+ '''Queue to be used as dead letter queue.
1047
+
1048
+ If not passed no dead letter queue is enabled.
1049
+
1050
+ :default: - No dead letter queue enabled.
1051
+ '''
1052
+ result = self._values.get("dead_letter_queue")
1053
+ return typing.cast(typing.Optional[_IQueue_7ed6f679], result)
1054
+
1055
+ @builtins.property
1056
+ def filter_policy(
1057
+ self,
1058
+ ) -> typing.Optional[typing.Mapping[builtins.str, _SubscriptionFilter_8e774360]]:
1059
+ '''The filter policy.
1060
+
1061
+ :default: - all messages are delivered
1062
+ '''
1063
+ result = self._values.get("filter_policy")
1064
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, _SubscriptionFilter_8e774360]], result)
1065
+
1066
+ @builtins.property
1067
+ def filter_policy_with_message_body(
1068
+ self,
1069
+ ) -> typing.Optional[typing.Mapping[builtins.str, _FilterOrPolicy_ad79be59]]:
1070
+ '''The filter policy that is applied on the message body.
1071
+
1072
+ To apply a filter policy to the message attributes, use ``filterPolicy``. A maximum of one of ``filterPolicyWithMessageBody`` and ``filterPolicy`` may be used.
1073
+
1074
+ :default: - all messages are delivered
1075
+ '''
1076
+ result = self._values.get("filter_policy_with_message_body")
1077
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, _FilterOrPolicy_ad79be59]], result)
1078
+
1079
+ @builtins.property
1080
+ def raw_message_delivery(self) -> typing.Optional[builtins.bool]:
1081
+ '''Whether to remove any Amazon SNS metadata from published messages.
1082
+
1083
+ :default: false
1084
+
1085
+ :see: https://docs.aws.amazon.com/sns/latest/dg/sns-large-payload-raw-message-delivery.html
1086
+ '''
1087
+ result = self._values.get("raw_message_delivery")
1088
+ return typing.cast(typing.Optional[builtins.bool], result)
1089
+
1090
+ @builtins.property
1091
+ def role(self) -> typing.Optional[_IRole_235f5d8e]:
1092
+ '''The role to assume to write messages to the Amazon Data Firehose delivery stream.
1093
+
1094
+ :default: - A new Role is created
1095
+ '''
1096
+ result = self._values.get("role")
1097
+ return typing.cast(typing.Optional[_IRole_235f5d8e], result)
1098
+
1099
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1100
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1101
+
1102
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1103
+ return not (rhs == self)
1104
+
1105
+ def __repr__(self) -> str:
1106
+ return "FirehoseSubscriptionProps(%s)" % ", ".join(
1107
+ k + "=" + repr(v) for k, v in self._values.items()
1108
+ )
1109
+
1110
+
887
1111
  @jsii.data_type(
888
1112
  jsii_type="aws-cdk-lib.aws_sns_subscriptions.LambdaSubscriptionProps",
889
1113
  jsii_struct_bases=[SubscriptionProps],
@@ -1235,6 +1459,8 @@ class SqsSubscriptionProps(SubscriptionProps):
1235
1459
  __all__ = [
1236
1460
  "EmailSubscription",
1237
1461
  "EmailSubscriptionProps",
1462
+ "FirehoseSubscription",
1463
+ "FirehoseSubscriptionProps",
1238
1464
  "LambdaSubscription",
1239
1465
  "LambdaSubscriptionProps",
1240
1466
  "SmsSubscription",
@@ -1265,6 +1491,24 @@ def _typecheckingstub__8196047448e43839102a9b8698847e0dced23efba9bc4c3183517832e
1265
1491
  """Type checking stubs"""
1266
1492
  pass
1267
1493
 
1494
+ def _typecheckingstub__eb284a753df4f96d68b5336d14cffbd9183054fb6ebd06d8ae9d19e34dadca66(
1495
+ delivery_stream: _IDeliveryStream_8f118861,
1496
+ *,
1497
+ raw_message_delivery: typing.Optional[builtins.bool] = None,
1498
+ role: typing.Optional[_IRole_235f5d8e] = None,
1499
+ dead_letter_queue: typing.Optional[_IQueue_7ed6f679] = None,
1500
+ filter_policy: typing.Optional[typing.Mapping[builtins.str, _SubscriptionFilter_8e774360]] = None,
1501
+ filter_policy_with_message_body: typing.Optional[typing.Mapping[builtins.str, _FilterOrPolicy_ad79be59]] = None,
1502
+ ) -> None:
1503
+ """Type checking stubs"""
1504
+ pass
1505
+
1506
+ def _typecheckingstub__4451ffe60ee55af18e7cd4f32871e3dcb229ecdc56cfab772a77a55ca36a43d2(
1507
+ topic: _ITopic_9eca4852,
1508
+ ) -> None:
1509
+ """Type checking stubs"""
1510
+ pass
1511
+
1268
1512
  def _typecheckingstub__c6c58b72bfa1ffbf274b6dab576c34931fb67721a57d2059607f1e3269d774cc(
1269
1513
  fn: _IFunction_6adb0ab8,
1270
1514
  *,
@@ -1364,6 +1608,17 @@ def _typecheckingstub__4a78d2c696d1babec6ccfebac17827b1b6ba6f90d62674866fc5b2df7
1364
1608
  """Type checking stubs"""
1365
1609
  pass
1366
1610
 
1611
+ def _typecheckingstub__985141d3216aa767af7319f266fa3eda68db2fc5132677f99b8aeb05d240609c(
1612
+ *,
1613
+ dead_letter_queue: typing.Optional[_IQueue_7ed6f679] = None,
1614
+ filter_policy: typing.Optional[typing.Mapping[builtins.str, _SubscriptionFilter_8e774360]] = None,
1615
+ filter_policy_with_message_body: typing.Optional[typing.Mapping[builtins.str, _FilterOrPolicy_ad79be59]] = None,
1616
+ raw_message_delivery: typing.Optional[builtins.bool] = None,
1617
+ role: typing.Optional[_IRole_235f5d8e] = None,
1618
+ ) -> None:
1619
+ """Type checking stubs"""
1620
+ pass
1621
+
1367
1622
  def _typecheckingstub__38ecc690db1f9c84ad1bee66614e7fd336ee231d47fb11fd9782c269149d5b19(
1368
1623
  *,
1369
1624
  dead_letter_queue: typing.Optional[_IQueue_7ed6f679] = None,
@@ -1525,6 +1525,7 @@ Any object that implements the `IGrantable` interface (has an associated princip
1525
1525
  * `stateMachine.grantRead(principal)` - grants the principal read access
1526
1526
  * `stateMachine.grantTaskResponse(principal)` - grants the principal the ability to send task tokens to the state machine
1527
1527
  * `stateMachine.grantExecution(principal, actions)` - grants the principal execution-level permissions for the IAM actions specified
1528
+ * `stateMachine.grantRedriveExecution(principal)` - grants the principal permission to redrive the executions of the state machine
1528
1529
  * `stateMachine.grant(principal, actions)` - grants the principal state-machine-level permissions for the IAM actions specified
1529
1530
 
1530
1531
  ### Start Execution Permission
@@ -1603,6 +1604,25 @@ The following read permissions are provided to a service principal by the `grant
1603
1604
 
1604
1605
  Grant execution-level permissions to a state machine by calling the `grantExecution()` API:
1605
1606
 
1607
+ ### Redrive Execution Permission
1608
+
1609
+ Grant the given identity permission to redrive the execution of the state machine:
1610
+
1611
+ ```python
1612
+ # definition: sfn.IChainable
1613
+ role = iam.Role(self, "Role",
1614
+ assumed_by=iam.ServicePrincipal("lambda.amazonaws.com")
1615
+ )
1616
+ state_machine = sfn.StateMachine(self, "StateMachine",
1617
+ definition_body=sfn.DefinitionBody.from_chainable(definition)
1618
+ )
1619
+
1620
+ # Give role permission to start execution of state machine
1621
+ state_machine.grant_start_execution(role)
1622
+ # Give role permission to redrive any executions of the state machine
1623
+ state_machine.grant_redrive_execution(role)
1624
+ ```
1625
+
1606
1626
  ```python
1607
1627
  # definition: sfn.IChainable
1608
1628
  role = iam.Role(self, "Role",
@@ -11691,25 +11711,23 @@ class StateMachine(
11691
11711
 
11692
11712
  Example::
11693
11713
 
11694
- # Define a state machine with one Pass state
11695
- child = sfn.StateMachine(self, "ChildStateMachine",
11696
- definition=sfn.Chain.start(sfn.Pass(self, "PassState"))
11697
- )
11714
+ import aws_cdk.aws_stepfunctions as stepfunctions
11698
11715
 
11699
- # Include the state machine in a Task state with callback pattern
11700
- task = tasks.StepFunctionsStartExecution(self, "ChildTask",
11701
- state_machine=child,
11702
- integration_pattern=sfn.IntegrationPattern.WAIT_FOR_TASK_TOKEN,
11703
- input=sfn.TaskInput.from_object({
11704
- "token": sfn.JsonPath.task_token,
11705
- "foo": "bar"
11706
- }),
11707
- name="MyExecutionName"
11708
- )
11709
11716
 
11710
- # Define a second state machine with the Task state above
11711
- sfn.StateMachine(self, "ParentStateMachine",
11712
- definition=task
11717
+ pipeline = codepipeline.Pipeline(self, "MyPipeline")
11718
+ input_artifact = codepipeline.Artifact()
11719
+ start_state = stepfunctions.Pass(self, "StartState")
11720
+ simple_state_machine = stepfunctions.StateMachine(self, "SimpleStateMachine",
11721
+ definition=start_state
11722
+ )
11723
+ step_function_action = codepipeline_actions.StepFunctionInvokeAction(
11724
+ action_name="Invoke",
11725
+ state_machine=simple_state_machine,
11726
+ state_machine_input=codepipeline_actions.StateMachineInput.file_path(input_artifact.at_path("assets/input.json"))
11727
+ )
11728
+ pipeline.add_stage(
11729
+ stage_name="StepFunctions",
11730
+ actions=[step_function_action]
11713
11731
  )
11714
11732
  '''
11715
11733
 
@@ -11869,6 +11887,20 @@ class StateMachine(
11869
11887
  check_type(argname="argument identity", value=identity, expected_type=type_hints["identity"])
11870
11888
  return typing.cast(_Grant_a7ae64f8, jsii.invoke(self, "grantRead", [identity]))
11871
11889
 
11890
+ @jsii.member(jsii_name="grantRedriveExecution")
11891
+ def grant_redrive_execution(
11892
+ self,
11893
+ identity: _IGrantable_71c4f5de,
11894
+ ) -> _Grant_a7ae64f8:
11895
+ '''Grant the given identity permission to redrive the execution of the state machine.
11896
+
11897
+ :param identity: -
11898
+ '''
11899
+ if __debug__:
11900
+ type_hints = typing.get_type_hints(_typecheckingstub__105b46fe8f1d3a0f8f8d86eed1f7f5587ebf18870718ca73c5b57e8281defaf5)
11901
+ check_type(argname="argument identity", value=identity, expected_type=type_hints["identity"])
11902
+ return typing.cast(_Grant_a7ae64f8, jsii.invoke(self, "grantRedriveExecution", [identity]))
11903
+
11872
11904
  @jsii.member(jsii_name="grantStartExecution")
11873
11905
  def grant_start_execution(self, identity: _IGrantable_71c4f5de) -> _Grant_a7ae64f8:
11874
11906
  '''Grant the given identity permissions to start an execution of this state machine.
@@ -27239,6 +27271,12 @@ def _typecheckingstub__de328dbf28de2be4ba9b61ea81bce4e6d383ec0968b0e914acb7378b6
27239
27271
  """Type checking stubs"""
27240
27272
  pass
27241
27273
 
27274
+ def _typecheckingstub__105b46fe8f1d3a0f8f8d86eed1f7f5587ebf18870718ca73c5b57e8281defaf5(
27275
+ identity: _IGrantable_71c4f5de,
27276
+ ) -> None:
27277
+ """Type checking stubs"""
27278
+ pass
27279
+
27242
27280
  def _typecheckingstub__efa2d941a46220f1692542e8c26652619270873ffe07f55fc9aa7a063799ed08(
27243
27281
  identity: _IGrantable_71c4f5de,
27244
27282
  ) -> None:
@@ -1426,7 +1426,7 @@ class CfnCanary(
1426
1426
  :param schedule: A structure that contains information about how often the canary is to run, and when these runs are to stop.
1427
1427
  :param artifact_config: A structure that contains the configuration for canary artifacts, including the encryption-at-rest settings for artifacts that the canary uploads to Amazon S3.
1428
1428
  :param delete_lambda_resources_on_canary_deletion: (deprecated) Deletes associated lambda resources created by Synthetics if set to True. Default is False
1429
- :param dry_run_and_update: Setting to control if UpdateCanary will perform a DryRun and validate it is PASSING before performing the Update. Default is FALSE.
1429
+ :param dry_run_and_update: Specifies whether to perform a dry run before updating the canary. If set to ``true`` , CloudFormation will execute a dry run to validate the changes before applying them to the canary. If the dry run succeeds, the canary will be updated with the changes. If the dry run fails, the CloudFormation deployment will fail with the dry run’s failure reason. If set to ``false`` or omitted, the canary will be updated directly without first performing a dry run. The default value is ``false`` . For more information, see `Performing safe canary updates <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/performing-safe-canary-upgrades.html>`_ .
1430
1430
  :param failure_retention_period: The number of days to retain data about failed runs of this canary. If you omit this field, the default of 31 days is used. The valid range is 1 to 455 days. This setting affects the range of information returned by `GetCanaryRuns <https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanaryRuns.html>`_ , as well as the range of information displayed in the Synthetics console.
1431
1431
  :param provisioned_resource_cleanup: Specifies whether to also delete the Lambda functions and layers used by this canary when the canary is deleted. If it is ``AUTOMATIC`` , the Lambda functions and layers will be deleted when the canary is deleted. If the value of this parameter is ``OFF`` , then the value of the ``DeleteLambda`` parameter of the `DeleteCanary <https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DeleteCanary.html>`_ operation determines whether the Lambda functions and layers will be deleted.
1432
1432
  :param resources_to_replicate_tags: To have the tags that you apply to this canary also be applied to the Lambda function that the canary uses, specify this property with the value ``lambda-function`` . If you do this, CloudWatch Synthetics will keep the tags of the canary and the Lambda function synchronized. Any future changes you make to the canary's tags will also be applied to the function.
@@ -1666,7 +1666,7 @@ class CfnCanary(
1666
1666
  def dry_run_and_update(
1667
1667
  self,
1668
1668
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
1669
- '''Setting to control if UpdateCanary will perform a DryRun and validate it is PASSING before performing the Update.'''
1669
+ '''Specifies whether to perform a dry run before updating the canary.'''
1670
1670
  return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "dryRunAndUpdate"))
1671
1671
 
1672
1672
  @dry_run_and_update.setter
@@ -1993,8 +1993,8 @@ class CfnCanary(
1993
1993
 
1994
1994
  :param handler: The entry point to use for the source code when running the canary. For canaries that use the ``syn-python-selenium-1.0`` runtime or a ``syn-nodejs.puppeteer`` runtime earlier than ``syn-nodejs.puppeteer-3.4`` , the handler must be specified as ``*fileName* .handler`` . For ``syn-python-selenium-1.1`` , ``syn-nodejs.puppeteer-3.4`` , and later runtimes, the handler can be specified as ``*fileName* . *functionName*`` , or you can specify a folder where canary scripts reside as ``*folder* / *fileName* . *functionName*`` .
1995
1995
  :param s3_bucket: If your canary script is located in S3, specify the bucket name here. The bucket must already exist.
1996
- :param s3_key: The S3 key of your script. For more information, see `Working with Amazon S3 Objects <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingObjects.html>`_ .
1997
- :param s3_object_version: The S3 version ID of your script.
1996
+ :param s3_key: The Amazon S3 key of your script. For more information, see `Working with Amazon S3 Objects <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingObjects.html>`_ .
1997
+ :param s3_object_version: The Amazon S3 version ID of your script.
1998
1998
  :param script: If you input your canary script directly into the canary instead of referring to an S3 location, the value of this parameter is the script in plain text. It can be up to 5 MB.
1999
1999
  :param source_location_arn: The ARN of the Lambda layer where Synthetics stores the canary script code.
2000
2000
 
@@ -2065,7 +2065,7 @@ class CfnCanary(
2065
2065
 
2066
2066
  @builtins.property
2067
2067
  def s3_key(self) -> typing.Optional[builtins.str]:
2068
- '''The S3 key of your script.
2068
+ '''The Amazon S3 key of your script.
2069
2069
 
2070
2070
  For more information, see `Working with Amazon S3 Objects <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingObjects.html>`_ .
2071
2071
 
@@ -2076,7 +2076,7 @@ class CfnCanary(
2076
2076
 
2077
2077
  @builtins.property
2078
2078
  def s3_object_version(self) -> typing.Optional[builtins.str]:
2079
- '''The S3 version ID of your script.
2079
+ '''The Amazon S3 version ID of your script.
2080
2080
 
2081
2081
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-code.html#cfn-synthetics-canary-code-s3objectversion
2082
2082
  '''
@@ -2121,8 +2121,9 @@ class CfnCanary(
2121
2121
  )
2122
2122
  class RetryConfigProperty:
2123
2123
  def __init__(self, *, max_retries: jsii.Number) -> None:
2124
- '''
2125
- :param max_retries: maximum times the canary will be retried upon the scheduled run failure.
2124
+ '''The canary's retry configuration information.
2125
+
2126
+ :param max_retries: The maximum number of retries. The value must be less than or equal to two.
2126
2127
 
2127
2128
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-retryconfig.html
2128
2129
  :exampleMetadata: fixture=_generated
@@ -2146,7 +2147,9 @@ class CfnCanary(
2146
2147
 
2147
2148
  @builtins.property
2148
2149
  def max_retries(self) -> jsii.Number:
2149
- '''maximum times the canary will be retried upon the scheduled run failure.
2150
+ '''The maximum number of retries.
2151
+
2152
+ The value must be less than or equal to two.
2150
2153
 
2151
2154
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-retryconfig.html#cfn-synthetics-canary-retryconfig-maxretries
2152
2155
  '''
@@ -2391,7 +2394,7 @@ class CfnCanary(
2391
2394
 
2392
2395
  :param expression: A ``rate`` expression or a ``cron`` expression that defines how often the canary is to run. For a rate expression, The syntax is ``rate( *number unit* )`` . *unit* can be ``minute`` , ``minutes`` , or ``hour`` . For example, ``rate(1 minute)`` runs the canary once a minute, ``rate(10 minutes)`` runs it once every 10 minutes, and ``rate(1 hour)`` runs it once every hour. You can specify a frequency between ``rate(1 minute)`` and ``rate(1 hour)`` . Specifying ``rate(0 minute)`` or ``rate(0 hour)`` is a special value that causes the canary to run only once when it is started. Use ``cron( *expression* )`` to specify a cron expression. You can't schedule a canary to wait for more than a year before running. For information about the syntax for cron expressions, see `Scheduling canary runs using cron <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_cron.html>`_ .
2393
2396
  :param duration_in_seconds: How long, in seconds, for the canary to continue making regular runs according to the schedule in the ``Expression`` value. If you specify 0, the canary continues making runs until you stop it. If you omit this field, the default of 0 is used.
2394
- :param retry_config:
2397
+ :param retry_config: The canary's retry configuration information.
2395
2398
 
2396
2399
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-schedule.html
2397
2400
  :exampleMetadata: fixture=_generated
@@ -2458,7 +2461,8 @@ class CfnCanary(
2458
2461
  def retry_config(
2459
2462
  self,
2460
2463
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCanary.RetryConfigProperty"]]:
2461
- '''
2464
+ '''The canary's retry configuration information.
2465
+
2462
2466
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-schedule.html#cfn-synthetics-canary-schedule-retryconfig
2463
2467
  '''
2464
2468
  result = self._values.get("retry_config")
@@ -2500,7 +2504,7 @@ class CfnCanary(
2500
2504
 
2501
2505
  :param security_group_ids: The IDs of the security groups for this canary.
2502
2506
  :param subnet_ids: The IDs of the subnets where this canary is to run.
2503
- :param ipv6_allowed_for_dual_stack: Allow outbound IPv6 traffic on VPC canaries that are connected to dual-stack subnets if set to true.
2507
+ :param ipv6_allowed_for_dual_stack: Set this to ``true`` to allow outbound IPv6 traffic on VPC canaries that are connected to dual-stack subnets. The default is ``false`` .
2504
2508
  :param vpc_id: The ID of the VPC where this canary is to run.
2505
2509
 
2506
2510
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-vpcconfig.html
@@ -2560,7 +2564,9 @@ class CfnCanary(
2560
2564
  def ipv6_allowed_for_dual_stack(
2561
2565
  self,
2562
2566
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
2563
- '''Allow outbound IPv6 traffic on VPC canaries that are connected to dual-stack subnets if set to true.
2567
+ '''Set this to ``true`` to allow outbound IPv6 traffic on VPC canaries that are connected to dual-stack subnets.
2568
+
2569
+ The default is ``false`` .
2564
2570
 
2565
2571
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-synthetics-canary-vpcconfig.html#cfn-synthetics-canary-vpcconfig-ipv6allowedfordualstack
2566
2572
  '''
@@ -2734,7 +2740,7 @@ class CfnCanaryProps:
2734
2740
  :param schedule: A structure that contains information about how often the canary is to run, and when these runs are to stop.
2735
2741
  :param artifact_config: A structure that contains the configuration for canary artifacts, including the encryption-at-rest settings for artifacts that the canary uploads to Amazon S3.
2736
2742
  :param delete_lambda_resources_on_canary_deletion: (deprecated) Deletes associated lambda resources created by Synthetics if set to True. Default is False
2737
- :param dry_run_and_update: Setting to control if UpdateCanary will perform a DryRun and validate it is PASSING before performing the Update. Default is FALSE.
2743
+ :param dry_run_and_update: Specifies whether to perform a dry run before updating the canary. If set to ``true`` , CloudFormation will execute a dry run to validate the changes before applying them to the canary. If the dry run succeeds, the canary will be updated with the changes. If the dry run fails, the CloudFormation deployment will fail with the dry run’s failure reason. If set to ``false`` or omitted, the canary will be updated directly without first performing a dry run. The default value is ``false`` . For more information, see `Performing safe canary updates <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/performing-safe-canary-upgrades.html>`_ .
2738
2744
  :param failure_retention_period: The number of days to retain data about failed runs of this canary. If you omit this field, the default of 31 days is used. The valid range is 1 to 455 days. This setting affects the range of information returned by `GetCanaryRuns <https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanaryRuns.html>`_ , as well as the range of information displayed in the Synthetics console.
2739
2745
  :param provisioned_resource_cleanup: Specifies whether to also delete the Lambda functions and layers used by this canary when the canary is deleted. If it is ``AUTOMATIC`` , the Lambda functions and layers will be deleted when the canary is deleted. If the value of this parameter is ``OFF`` , then the value of the ``DeleteLambda`` parameter of the `DeleteCanary <https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DeleteCanary.html>`_ operation determines whether the Lambda functions and layers will be deleted.
2740
2746
  :param resources_to_replicate_tags: To have the tags that you apply to this canary also be applied to the Lambda function that the canary uses, specify this property with the value ``lambda-function`` . If you do this, CloudWatch Synthetics will keep the tags of the canary and the Lambda function synchronized. Any future changes you make to the canary's tags will also be applied to the function.
@@ -2992,9 +2998,13 @@ class CfnCanaryProps:
2992
2998
  def dry_run_and_update(
2993
2999
  self,
2994
3000
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
2995
- '''Setting to control if UpdateCanary will perform a DryRun and validate it is PASSING before performing the Update.
3001
+ '''Specifies whether to perform a dry run before updating the canary.
3002
+
3003
+ If set to ``true`` , CloudFormation will execute a dry run to validate the changes before applying them to the canary. If the dry run succeeds, the canary will be updated with the changes. If the dry run fails, the CloudFormation deployment will fail with the dry run’s failure reason.
3004
+
3005
+ If set to ``false`` or omitted, the canary will be updated directly without first performing a dry run. The default value is ``false`` .
2996
3006
 
2997
- Default is FALSE.
3007
+ For more information, see `Performing safe canary updates <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/performing-safe-canary-upgrades.html>`_ .
2998
3008
 
2999
3009
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-dryrunandupdate
3000
3010
  '''
@@ -75,9 +75,13 @@ class CfnDomain(
75
75
  metaclass=jsii.JSIIMeta,
76
76
  jsii_type="aws-cdk-lib.aws_voiceid.CfnDomain",
77
77
  ):
78
- '''Creates a domain that contains all Amazon Connect Voice ID data, such as speakers, fraudsters, customer audio, and voiceprints.
78
+ '''.. epigraph::
79
79
 
80
- Every domain is created with a default watchlist that fraudsters can be a part of.
80
+ End of support notice: On May 20, 2026, AWS will end support for Amazon Connect Voice ID.
81
+
82
+ After May 20, 2026, you will no longer be able to access Voice ID on the Amazon Connect console, access Voice ID features on the Amazon Connect admin website or Contact Control Panel, or access Voice ID resources. For more information, visit `Amazon Connect Voice ID end of support <https://docs.aws.amazon.com/connect/latest/adminguide/amazonconnect-voiceid-end-of-support.html>`_ .
83
+
84
+ Creates a domain that contains all Amazon Connect Voice ID data, such as speakers, fraudsters, customer audio, and voiceprints. Every domain is created with a default watchlist that fraudsters can be a part of.
81
85
 
82
86
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-voiceid-domain.html
83
87
  :cloudformationResource: AWS::VoiceID::Domain
@@ -249,7 +253,13 @@ class CfnDomain(
249
253
  )
250
254
  class ServerSideEncryptionConfigurationProperty:
251
255
  def __init__(self, *, kms_key_id: builtins.str) -> None:
252
- '''The configuration containing information about the customer managed key used for encrypting customer data.
256
+ '''.. epigraph::
257
+
258
+ End of support notice: On May 20, 2026, AWS will end support for Amazon Connect Voice ID.
259
+
260
+ After May 20, 2026, you will no longer be able to access Voice ID on the Amazon Connect console, access Voice ID features on the Amazon Connect admin website or Contact Control Panel, or access Voice ID resources. For more information, visit `Amazon Connect Voice ID end of support <https://docs.aws.amazon.com/connect/latest/adminguide/amazonconnect-voiceid-end-of-support.html>`_ .
261
+
262
+ The configuration containing information about the customer managed key used for encrypting customer data.
253
263
 
254
264
  :param kms_key_id: The identifier of the KMS key to use to encrypt data stored by Voice ID. Voice ID doesn't support asymmetric customer managed keys.
255
265