aws-cdk-lib 2.168.0__py3-none-any.whl → 2.170.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.
Files changed (40) hide show
  1. aws_cdk/__init__.py +2 -0
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.168.0.jsii.tgz → aws-cdk-lib@2.170.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_accessanalyzer/__init__.py +244 -13
  5. aws_cdk/aws_applicationsignals/__init__.py +8 -1
  6. aws_cdk/aws_autoscaling/__init__.py +310 -9
  7. aws_cdk/aws_cloudfront/__init__.py +50 -0
  8. aws_cdk/aws_cloudfront/experimental/__init__.py +5 -0
  9. aws_cdk/aws_codebuild/__init__.py +2 -2
  10. aws_cdk/aws_connect/__init__.py +378 -0
  11. aws_cdk/aws_customerprofiles/__init__.py +44 -0
  12. aws_cdk/aws_deadline/__init__.py +299 -6
  13. aws_cdk/aws_dynamodb/__init__.py +47 -25
  14. aws_cdk/aws_ec2/__init__.py +6 -2
  15. aws_cdk/aws_ecs/__init__.py +28 -22
  16. aws_cdk/aws_efs/__init__.py +61 -4
  17. aws_cdk/aws_eks/__init__.py +116 -0
  18. aws_cdk/aws_gamelift/__init__.py +385 -251
  19. aws_cdk/aws_iot/__init__.py +209 -0
  20. aws_cdk/aws_iotfleetwise/__init__.py +550 -0
  21. aws_cdk/aws_iotsitewise/__init__.py +6 -3
  22. aws_cdk/aws_ivs/__init__.py +458 -0
  23. aws_cdk/aws_kinesisfirehose/__init__.py +90 -33
  24. aws_cdk/aws_lambda/__init__.py +150 -6
  25. aws_cdk/aws_lambda_event_sources/__init__.py +298 -1
  26. aws_cdk/aws_rbin/__init__.py +902 -0
  27. aws_cdk/aws_rds/__init__.py +115 -0
  28. aws_cdk/aws_route53resolver/__init__.py +76 -19
  29. aws_cdk/aws_sagemaker/__init__.py +32 -0
  30. aws_cdk/aws_sns/__init__.py +593 -8
  31. aws_cdk/aws_sns_subscriptions/__init__.py +68 -22
  32. aws_cdk/aws_synthetics/__init__.py +46 -0
  33. aws_cdk/aws_vpclattice/__init__.py +118 -2
  34. aws_cdk/aws_wisdom/__init__.py +16 -21
  35. {aws_cdk_lib-2.168.0.dist-info → aws_cdk_lib-2.170.0.dist-info}/METADATA +1 -1
  36. {aws_cdk_lib-2.168.0.dist-info → aws_cdk_lib-2.170.0.dist-info}/RECORD +40 -39
  37. {aws_cdk_lib-2.168.0.dist-info → aws_cdk_lib-2.170.0.dist-info}/LICENSE +0 -0
  38. {aws_cdk_lib-2.168.0.dist-info → aws_cdk_lib-2.170.0.dist-info}/NOTICE +0 -0
  39. {aws_cdk_lib-2.168.0.dist-info → aws_cdk_lib-2.170.0.dist-info}/WHEEL +0 -0
  40. {aws_cdk_lib-2.168.0.dist-info → aws_cdk_lib-2.170.0.dist-info}/top_level.txt +0 -0
@@ -44,6 +44,30 @@ url = CfnParameter(self, "url-param")
44
44
  my_topic.add_subscription(subscriptions.UrlSubscription(url.value_as_string))
45
45
  ```
46
46
 
47
+ The [delivery policy](https://docs.aws.amazon.com/sns/latest/dg/sns-message-delivery-retries.html) can also be set like so:
48
+
49
+ ```python
50
+ my_topic = sns.Topic(self, "MyTopic")
51
+
52
+ my_topic.add_subscription(
53
+ subscriptions.UrlSubscription("https://foobar.com/",
54
+ delivery_policy=sns.DeliveryPolicy(
55
+ healthy_retry_policy=sns.HealthyRetryPolicy(
56
+ min_delay_target=Duration.seconds(5),
57
+ max_delay_target=Duration.seconds(10),
58
+ num_retries=6,
59
+ backoff_function=sns.BackoffFunction.EXPONENTIAL
60
+ ),
61
+ throttle_policy=sns.ThrottlePolicy(
62
+ max_receives_per_second=10
63
+ ),
64
+ request_policy=sns.RequestPolicy(
65
+ header_content_type="application/json"
66
+ )
67
+ )
68
+ ))
69
+ ```
70
+
47
71
  ### Amazon SQS
48
72
 
49
73
  Subscribe a queue to your topic:
@@ -154,6 +178,7 @@ from .._jsii import *
154
178
 
155
179
  from ..aws_lambda import IFunction as _IFunction_6adb0ab8
156
180
  from ..aws_sns import (
181
+ DeliveryPolicy as _DeliveryPolicy_76b14b4e,
157
182
  FilterOrPolicy as _FilterOrPolicy_ad79be59,
158
183
  ITopic as _ITopic_9eca4852,
159
184
  ITopicSubscription as _ITopicSubscription_363a9426,
@@ -523,14 +548,16 @@ class UrlSubscription(
523
548
  Example::
524
549
 
525
550
  my_topic = sns.Topic(self, "MyTopic")
551
+ url = CfnParameter(self, "url-param")
526
552
 
527
- my_topic.add_subscription(subscriptions.UrlSubscription("https://foobar.com/"))
553
+ my_topic.add_subscription(subscriptions.UrlSubscription(url.value_as_string))
528
554
  '''
529
555
 
530
556
  def __init__(
531
557
  self,
532
558
  url: builtins.str,
533
559
  *,
560
+ delivery_policy: typing.Optional[typing.Union[_DeliveryPolicy_76b14b4e, typing.Dict[builtins.str, typing.Any]]] = None,
534
561
  protocol: typing.Optional[_SubscriptionProtocol_0df4af69] = None,
535
562
  raw_message_delivery: typing.Optional[builtins.bool] = None,
536
563
  dead_letter_queue: typing.Optional[_IQueue_7ed6f679] = None,
@@ -539,6 +566,7 @@ class UrlSubscription(
539
566
  ) -> None:
540
567
  '''
541
568
  :param url: -
569
+ :param delivery_policy: The delivery policy. Default: - if the initial delivery of the message fails, three retries with a delay between failed attempts set at 20 seconds
542
570
  :param protocol: The subscription's protocol. Default: - Protocol is derived from url
543
571
  :param raw_message_delivery: The message to the queue is the same as it was sent to the topic. If false, the message will be wrapped in an SNS envelope. Default: false
544
572
  :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.
@@ -549,6 +577,7 @@ class UrlSubscription(
549
577
  type_hints = typing.get_type_hints(_typecheckingstub__fb20fb5ebe87494e3bac5aa1faafa0ee8b89a54b69e6bd2c759c374b193a6dfc)
550
578
  check_type(argname="argument url", value=url, expected_type=type_hints["url"])
551
579
  props = UrlSubscriptionProps(
580
+ delivery_policy=delivery_policy,
552
581
  protocol=protocol,
553
582
  raw_message_delivery=raw_message_delivery,
554
583
  dead_letter_queue=dead_letter_queue,
@@ -577,6 +606,7 @@ class UrlSubscription(
577
606
  "dead_letter_queue": "deadLetterQueue",
578
607
  "filter_policy": "filterPolicy",
579
608
  "filter_policy_with_message_body": "filterPolicyWithMessageBody",
609
+ "delivery_policy": "deliveryPolicy",
580
610
  "protocol": "protocol",
581
611
  "raw_message_delivery": "rawMessageDelivery",
582
612
  },
@@ -588,6 +618,7 @@ class UrlSubscriptionProps(SubscriptionProps):
588
618
  dead_letter_queue: typing.Optional[_IQueue_7ed6f679] = None,
589
619
  filter_policy: typing.Optional[typing.Mapping[builtins.str, _SubscriptionFilter_8e774360]] = None,
590
620
  filter_policy_with_message_body: typing.Optional[typing.Mapping[builtins.str, _FilterOrPolicy_ad79be59]] = None,
621
+ delivery_policy: typing.Optional[typing.Union[_DeliveryPolicy_76b14b4e, typing.Dict[builtins.str, typing.Any]]] = None,
591
622
  protocol: typing.Optional[_SubscriptionProtocol_0df4af69] = None,
592
623
  raw_message_delivery: typing.Optional[builtins.bool] = None,
593
624
  ) -> None:
@@ -596,40 +627,42 @@ class UrlSubscriptionProps(SubscriptionProps):
596
627
  :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.
597
628
  :param filter_policy: The filter policy. Default: - all messages are delivered
598
629
  :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
630
+ :param delivery_policy: The delivery policy. Default: - if the initial delivery of the message fails, three retries with a delay between failed attempts set at 20 seconds
599
631
  :param protocol: The subscription's protocol. Default: - Protocol is derived from url
600
632
  :param raw_message_delivery: The message to the queue is the same as it was sent to the topic. If false, the message will be wrapped in an SNS envelope. Default: false
601
633
 
602
- :exampleMetadata: fixture=_generated
634
+ :exampleMetadata: infused
603
635
 
604
636
  Example::
605
637
 
606
- # The code below shows an example of how to instantiate this type.
607
- # The values are placeholders you should change.
608
- from aws_cdk import aws_sns as sns
609
- from aws_cdk import aws_sns_subscriptions as sns_subscriptions
610
- from aws_cdk import aws_sqs as sqs
611
-
612
- # filter_or_policy: sns.FilterOrPolicy
613
- # queue: sqs.Queue
614
- # subscription_filter: sns.SubscriptionFilter
638
+ my_topic = sns.Topic(self, "MyTopic")
615
639
 
616
- url_subscription_props = sns_subscriptions.UrlSubscriptionProps(
617
- dead_letter_queue=queue,
618
- filter_policy={
619
- "filter_policy_key": subscription_filter
620
- },
621
- filter_policy_with_message_body={
622
- "filter_policy_with_message_body_key": filter_or_policy
623
- },
624
- protocol=sns.SubscriptionProtocol.HTTP,
625
- raw_message_delivery=False
626
- )
640
+ my_topic.add_subscription(
641
+ subscriptions.UrlSubscription("https://foobar.com/",
642
+ delivery_policy=sns.DeliveryPolicy(
643
+ healthy_retry_policy=sns.HealthyRetryPolicy(
644
+ min_delay_target=Duration.seconds(5),
645
+ max_delay_target=Duration.seconds(10),
646
+ num_retries=6,
647
+ backoff_function=sns.BackoffFunction.EXPONENTIAL
648
+ ),
649
+ throttle_policy=sns.ThrottlePolicy(
650
+ max_receives_per_second=10
651
+ ),
652
+ request_policy=sns.RequestPolicy(
653
+ header_content_type="application/json"
654
+ )
655
+ )
656
+ ))
627
657
  '''
658
+ if isinstance(delivery_policy, dict):
659
+ delivery_policy = _DeliveryPolicy_76b14b4e(**delivery_policy)
628
660
  if __debug__:
629
661
  type_hints = typing.get_type_hints(_typecheckingstub__abe65add18291230d30a8771d08cd51f9f4eb89c5f1844a384570386c2c534ed)
630
662
  check_type(argname="argument dead_letter_queue", value=dead_letter_queue, expected_type=type_hints["dead_letter_queue"])
631
663
  check_type(argname="argument filter_policy", value=filter_policy, expected_type=type_hints["filter_policy"])
632
664
  check_type(argname="argument filter_policy_with_message_body", value=filter_policy_with_message_body, expected_type=type_hints["filter_policy_with_message_body"])
665
+ check_type(argname="argument delivery_policy", value=delivery_policy, expected_type=type_hints["delivery_policy"])
633
666
  check_type(argname="argument protocol", value=protocol, expected_type=type_hints["protocol"])
634
667
  check_type(argname="argument raw_message_delivery", value=raw_message_delivery, expected_type=type_hints["raw_message_delivery"])
635
668
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -639,6 +672,8 @@ class UrlSubscriptionProps(SubscriptionProps):
639
672
  self._values["filter_policy"] = filter_policy
640
673
  if filter_policy_with_message_body is not None:
641
674
  self._values["filter_policy_with_message_body"] = filter_policy_with_message_body
675
+ if delivery_policy is not None:
676
+ self._values["delivery_policy"] = delivery_policy
642
677
  if protocol is not None:
643
678
  self._values["protocol"] = protocol
644
679
  if raw_message_delivery is not None:
@@ -679,6 +714,15 @@ class UrlSubscriptionProps(SubscriptionProps):
679
714
  result = self._values.get("filter_policy_with_message_body")
680
715
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, _FilterOrPolicy_ad79be59]], result)
681
716
 
717
+ @builtins.property
718
+ def delivery_policy(self) -> typing.Optional[_DeliveryPolicy_76b14b4e]:
719
+ '''The delivery policy.
720
+
721
+ :default: - if the initial delivery of the message fails, three retries with a delay between failed attempts set at 20 seconds
722
+ '''
723
+ result = self._values.get("delivery_policy")
724
+ return typing.cast(typing.Optional[_DeliveryPolicy_76b14b4e], result)
725
+
682
726
  @builtins.property
683
727
  def protocol(self) -> typing.Optional[_SubscriptionProtocol_0df4af69]:
684
728
  '''The subscription's protocol.
@@ -1276,6 +1320,7 @@ def _typecheckingstub__8cd177765ba71e4e5ee7174b2edc60b767a4303c5d9db2cdd1e6a1925
1276
1320
  def _typecheckingstub__fb20fb5ebe87494e3bac5aa1faafa0ee8b89a54b69e6bd2c759c374b193a6dfc(
1277
1321
  url: builtins.str,
1278
1322
  *,
1323
+ delivery_policy: typing.Optional[typing.Union[_DeliveryPolicy_76b14b4e, typing.Dict[builtins.str, typing.Any]]] = None,
1279
1324
  protocol: typing.Optional[_SubscriptionProtocol_0df4af69] = None,
1280
1325
  raw_message_delivery: typing.Optional[builtins.bool] = None,
1281
1326
  dead_letter_queue: typing.Optional[_IQueue_7ed6f679] = None,
@@ -1296,6 +1341,7 @@ def _typecheckingstub__abe65add18291230d30a8771d08cd51f9f4eb89c5f1844a384570386c
1296
1341
  dead_letter_queue: typing.Optional[_IQueue_7ed6f679] = None,
1297
1342
  filter_policy: typing.Optional[typing.Mapping[builtins.str, _SubscriptionFilter_8e774360]] = None,
1298
1343
  filter_policy_with_message_body: typing.Optional[typing.Mapping[builtins.str, _FilterOrPolicy_ad79be59]] = None,
1344
+ delivery_policy: typing.Optional[typing.Union[_DeliveryPolicy_76b14b4e, typing.Dict[builtins.str, typing.Any]]] = None,
1299
1345
  protocol: typing.Optional[_SubscriptionProtocol_0df4af69] = None,
1300
1346
  raw_message_delivery: typing.Optional[builtins.bool] = None,
1301
1347
  ) -> None:
@@ -1286,6 +1286,7 @@ class CfnCanary(
1286
1286
  ),
1287
1287
  delete_lambda_resources_on_canary_deletion=False,
1288
1288
  failure_retention_period=123,
1289
+ provisioned_resource_cleanup="provisionedResourceCleanup",
1289
1290
  resources_to_replicate_tags=["resourcesToReplicateTags"],
1290
1291
  run_config=synthetics.CfnCanary.RunConfigProperty(
1291
1292
  active_tracing=False,
@@ -1336,6 +1337,7 @@ class CfnCanary(
1336
1337
  artifact_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCanary.ArtifactConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1337
1338
  delete_lambda_resources_on_canary_deletion: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1338
1339
  failure_retention_period: typing.Optional[jsii.Number] = None,
1340
+ provisioned_resource_cleanup: typing.Optional[builtins.str] = None,
1339
1341
  resources_to_replicate_tags: typing.Optional[typing.Sequence[builtins.str]] = None,
1340
1342
  run_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCanary.RunConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1341
1343
  start_canary_after_creation: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
@@ -1356,6 +1358,7 @@ class CfnCanary(
1356
1358
  :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.
1357
1359
  :param delete_lambda_resources_on_canary_deletion: (deprecated) Deletes associated lambda resources created by Synthetics if set to True. Default is False
1358
1360
  :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.
1361
+ :param provisioned_resource_cleanup: Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC.
1359
1362
  :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.
1360
1363
  :param run_config: A structure that contains input information for a canary run. If you omit this structure, the frequency of the canary is used as canary's timeout value, up to a maximum of 900 seconds.
1361
1364
  :param start_canary_after_creation: Specify TRUE to have the canary start making runs immediately after it is created. A canary that you create using CloudFormation can't be used to monitor the CloudFormation stack that creates the canary or to roll back that stack if there is a failure.
@@ -1378,6 +1381,7 @@ class CfnCanary(
1378
1381
  artifact_config=artifact_config,
1379
1382
  delete_lambda_resources_on_canary_deletion=delete_lambda_resources_on_canary_deletion,
1380
1383
  failure_retention_period=failure_retention_period,
1384
+ provisioned_resource_cleanup=provisioned_resource_cleanup,
1381
1385
  resources_to_replicate_tags=resources_to_replicate_tags,
1382
1386
  run_config=run_config,
1383
1387
  start_canary_after_creation=start_canary_after_creation,
@@ -1599,6 +1603,22 @@ class CfnCanary(
1599
1603
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1600
1604
  jsii.set(self, "failureRetentionPeriod", value) # pyright: ignore[reportArgumentType]
1601
1605
 
1606
+ @builtins.property
1607
+ @jsii.member(jsii_name="provisionedResourceCleanup")
1608
+ def provisioned_resource_cleanup(self) -> typing.Optional[builtins.str]:
1609
+ '''Setting to control if provisioned resources created by Synthetics are deleted alongside the canary.'''
1610
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "provisionedResourceCleanup"))
1611
+
1612
+ @provisioned_resource_cleanup.setter
1613
+ def provisioned_resource_cleanup(
1614
+ self,
1615
+ value: typing.Optional[builtins.str],
1616
+ ) -> None:
1617
+ if __debug__:
1618
+ type_hints = typing.get_type_hints(_typecheckingstub__96109df9d60c71521163998336c5f5484d9c206feb0e627cbb2db11c169128bd)
1619
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1620
+ jsii.set(self, "provisionedResourceCleanup", value) # pyright: ignore[reportArgumentType]
1621
+
1602
1622
  @builtins.property
1603
1623
  @jsii.member(jsii_name="resourcesToReplicateTags")
1604
1624
  def resources_to_replicate_tags(self) -> typing.Optional[typing.List[builtins.str]]:
@@ -2493,6 +2513,7 @@ class CfnCanary(
2493
2513
  "artifact_config": "artifactConfig",
2494
2514
  "delete_lambda_resources_on_canary_deletion": "deleteLambdaResourcesOnCanaryDeletion",
2495
2515
  "failure_retention_period": "failureRetentionPeriod",
2516
+ "provisioned_resource_cleanup": "provisionedResourceCleanup",
2496
2517
  "resources_to_replicate_tags": "resourcesToReplicateTags",
2497
2518
  "run_config": "runConfig",
2498
2519
  "start_canary_after_creation": "startCanaryAfterCreation",
@@ -2515,6 +2536,7 @@ class CfnCanaryProps:
2515
2536
  artifact_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.ArtifactConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2516
2537
  delete_lambda_resources_on_canary_deletion: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2517
2538
  failure_retention_period: typing.Optional[jsii.Number] = None,
2539
+ provisioned_resource_cleanup: typing.Optional[builtins.str] = None,
2518
2540
  resources_to_replicate_tags: typing.Optional[typing.Sequence[builtins.str]] = None,
2519
2541
  run_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.RunConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2520
2542
  start_canary_after_creation: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
@@ -2534,6 +2556,7 @@ class CfnCanaryProps:
2534
2556
  :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.
2535
2557
  :param delete_lambda_resources_on_canary_deletion: (deprecated) Deletes associated lambda resources created by Synthetics if set to True. Default is False
2536
2558
  :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.
2559
+ :param provisioned_resource_cleanup: Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC.
2537
2560
  :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.
2538
2561
  :param run_config: A structure that contains input information for a canary run. If you omit this structure, the frequency of the canary is used as canary's timeout value, up to a maximum of 900 seconds.
2539
2562
  :param start_canary_after_creation: Specify TRUE to have the canary start making runs immediately after it is created. A canary that you create using CloudFormation can't be used to monitor the CloudFormation stack that creates the canary or to roll back that stack if there is a failure.
@@ -2582,6 +2605,7 @@ class CfnCanaryProps:
2582
2605
  ),
2583
2606
  delete_lambda_resources_on_canary_deletion=False,
2584
2607
  failure_retention_period=123,
2608
+ provisioned_resource_cleanup="provisionedResourceCleanup",
2585
2609
  resources_to_replicate_tags=["resourcesToReplicateTags"],
2586
2610
  run_config=synthetics.CfnCanary.RunConfigProperty(
2587
2611
  active_tracing=False,
@@ -2628,6 +2652,7 @@ class CfnCanaryProps:
2628
2652
  check_type(argname="argument artifact_config", value=artifact_config, expected_type=type_hints["artifact_config"])
2629
2653
  check_type(argname="argument delete_lambda_resources_on_canary_deletion", value=delete_lambda_resources_on_canary_deletion, expected_type=type_hints["delete_lambda_resources_on_canary_deletion"])
2630
2654
  check_type(argname="argument failure_retention_period", value=failure_retention_period, expected_type=type_hints["failure_retention_period"])
2655
+ check_type(argname="argument provisioned_resource_cleanup", value=provisioned_resource_cleanup, expected_type=type_hints["provisioned_resource_cleanup"])
2631
2656
  check_type(argname="argument resources_to_replicate_tags", value=resources_to_replicate_tags, expected_type=type_hints["resources_to_replicate_tags"])
2632
2657
  check_type(argname="argument run_config", value=run_config, expected_type=type_hints["run_config"])
2633
2658
  check_type(argname="argument start_canary_after_creation", value=start_canary_after_creation, expected_type=type_hints["start_canary_after_creation"])
@@ -2649,6 +2674,8 @@ class CfnCanaryProps:
2649
2674
  self._values["delete_lambda_resources_on_canary_deletion"] = delete_lambda_resources_on_canary_deletion
2650
2675
  if failure_retention_period is not None:
2651
2676
  self._values["failure_retention_period"] = failure_retention_period
2677
+ if provisioned_resource_cleanup is not None:
2678
+ self._values["provisioned_resource_cleanup"] = provisioned_resource_cleanup
2652
2679
  if resources_to_replicate_tags is not None:
2653
2680
  self._values["resources_to_replicate_tags"] = resources_to_replicate_tags
2654
2681
  if run_config is not None:
@@ -2784,6 +2811,17 @@ class CfnCanaryProps:
2784
2811
  result = self._values.get("failure_retention_period")
2785
2812
  return typing.cast(typing.Optional[jsii.Number], result)
2786
2813
 
2814
+ @builtins.property
2815
+ def provisioned_resource_cleanup(self) -> typing.Optional[builtins.str]:
2816
+ '''Setting to control if provisioned resources created by Synthetics are deleted alongside the canary.
2817
+
2818
+ Default is AUTOMATIC.
2819
+
2820
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-synthetics-canary.html#cfn-synthetics-canary-provisionedresourcecleanup
2821
+ '''
2822
+ result = self._values.get("provisioned_resource_cleanup")
2823
+ return typing.cast(typing.Optional[builtins.str], result)
2824
+
2787
2825
  @builtins.property
2788
2826
  def resources_to_replicate_tags(self) -> typing.Optional[typing.List[builtins.str]]:
2789
2827
  '''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`` .
@@ -4486,6 +4524,7 @@ def _typecheckingstub__b8fcb3f48eca9399b4d1d31a5ef709e22f9fa52ad1e174b75d8313ef2
4486
4524
  artifact_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.ArtifactConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4487
4525
  delete_lambda_resources_on_canary_deletion: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4488
4526
  failure_retention_period: typing.Optional[jsii.Number] = None,
4527
+ provisioned_resource_cleanup: typing.Optional[builtins.str] = None,
4489
4528
  resources_to_replicate_tags: typing.Optional[typing.Sequence[builtins.str]] = None,
4490
4529
  run_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.RunConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4491
4530
  start_canary_after_creation: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
@@ -4563,6 +4602,12 @@ def _typecheckingstub__02a7e43f45419c4cb8e909f309f8848d4ced91d17b01d14e5ea0b8cec
4563
4602
  """Type checking stubs"""
4564
4603
  pass
4565
4604
 
4605
+ def _typecheckingstub__96109df9d60c71521163998336c5f5484d9c206feb0e627cbb2db11c169128bd(
4606
+ value: typing.Optional[builtins.str],
4607
+ ) -> None:
4608
+ """Type checking stubs"""
4609
+ pass
4610
+
4566
4611
  def _typecheckingstub__97145dbcbdc52baa9bf7a42cbdc47e51d64c8bdad34335923fcf585d09e27978(
4567
4612
  value: typing.Optional[typing.List[builtins.str]],
4568
4613
  ) -> None:
@@ -4686,6 +4731,7 @@ def _typecheckingstub__d869d56ce0d1d2e2add2f80bf39b28abbec2752c719e03194ee540bf1
4686
4731
  artifact_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.ArtifactConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4687
4732
  delete_lambda_resources_on_canary_deletion: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4688
4733
  failure_retention_period: typing.Optional[jsii.Number] = None,
4734
+ provisioned_resource_cleanup: typing.Optional[builtins.str] = None,
4689
4735
  resources_to_replicate_tags: typing.Optional[typing.Sequence[builtins.str]] = None,
4690
4736
  run_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCanary.RunConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4691
4737
  start_canary_after_creation: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
@@ -3105,6 +3105,9 @@ class CfnServiceNetwork(
3105
3105
  cfn_service_network = vpclattice.CfnServiceNetwork(self, "MyCfnServiceNetwork",
3106
3106
  auth_type="authType",
3107
3107
  name="name",
3108
+ sharing_config=vpclattice.CfnServiceNetwork.SharingConfigProperty(
3109
+ enabled=False
3110
+ ),
3108
3111
  tags=[CfnTag(
3109
3112
  key="key",
3110
3113
  value="value"
@@ -3119,6 +3122,7 @@ class CfnServiceNetwork(
3119
3122
  *,
3120
3123
  auth_type: typing.Optional[builtins.str] = None,
3121
3124
  name: typing.Optional[builtins.str] = None,
3125
+ sharing_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnServiceNetwork.SharingConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3122
3126
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3123
3127
  ) -> None:
3124
3128
  '''
@@ -3126,13 +3130,16 @@ class CfnServiceNetwork(
3126
3130
  :param id: Construct identifier for this resource (unique in its scope).
3127
3131
  :param auth_type: The type of IAM policy. - ``NONE`` : The resource does not use an IAM policy. This is the default. - ``AWS_IAM`` : The resource uses an IAM policy. When this type is used, auth is enabled and an auth policy is required. Default: - "NONE"
3128
3132
  :param name: The name of the service network. The name must be unique to the account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen. If you don't specify a name, CloudFormation generates one. However, if you specify a name, and later want to replace the resource, you must specify a new name.
3133
+ :param sharing_config:
3129
3134
  :param tags: The tags for the service network.
3130
3135
  '''
3131
3136
  if __debug__:
3132
3137
  type_hints = typing.get_type_hints(_typecheckingstub__656136ed78cebb4875c7f9ba5dbfd3a8474257e368bb831d8f332cd48e509940)
3133
3138
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
3134
3139
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
3135
- props = CfnServiceNetworkProps(auth_type=auth_type, name=name, tags=tags)
3140
+ props = CfnServiceNetworkProps(
3141
+ auth_type=auth_type, name=name, sharing_config=sharing_config, tags=tags
3142
+ )
3136
3143
 
3137
3144
  jsii.create(self.__class__, self, [scope, id, props])
3138
3145
 
@@ -3239,6 +3246,23 @@ class CfnServiceNetwork(
3239
3246
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3240
3247
  jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
3241
3248
 
3249
+ @builtins.property
3250
+ @jsii.member(jsii_name="sharingConfig")
3251
+ def sharing_config(
3252
+ self,
3253
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnServiceNetwork.SharingConfigProperty"]]:
3254
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnServiceNetwork.SharingConfigProperty"]], jsii.get(self, "sharingConfig"))
3255
+
3256
+ @sharing_config.setter
3257
+ def sharing_config(
3258
+ self,
3259
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnServiceNetwork.SharingConfigProperty"]],
3260
+ ) -> None:
3261
+ if __debug__:
3262
+ type_hints = typing.get_type_hints(_typecheckingstub__ddecac5c408d967f992d70c89bd4765bbb82e33176cd3302f38d8583ed3e75cf)
3263
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3264
+ jsii.set(self, "sharingConfig", value) # pyright: ignore[reportArgumentType]
3265
+
3242
3266
  @builtins.property
3243
3267
  @jsii.member(jsii_name="tagsRaw")
3244
3268
  def tags_raw(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
@@ -3252,11 +3276,70 @@ class CfnServiceNetwork(
3252
3276
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3253
3277
  jsii.set(self, "tagsRaw", value) # pyright: ignore[reportArgumentType]
3254
3278
 
3279
+ @jsii.data_type(
3280
+ jsii_type="aws-cdk-lib.aws_vpclattice.CfnServiceNetwork.SharingConfigProperty",
3281
+ jsii_struct_bases=[],
3282
+ name_mapping={"enabled": "enabled"},
3283
+ )
3284
+ class SharingConfigProperty:
3285
+ def __init__(
3286
+ self,
3287
+ *,
3288
+ enabled: typing.Union[builtins.bool, _IResolvable_da3f097b],
3289
+ ) -> None:
3290
+ '''
3291
+ :param enabled:
3292
+
3293
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-servicenetwork-sharingconfig.html
3294
+ :exampleMetadata: fixture=_generated
3295
+
3296
+ Example::
3297
+
3298
+ # The code below shows an example of how to instantiate this type.
3299
+ # The values are placeholders you should change.
3300
+ from aws_cdk import aws_vpclattice as vpclattice
3301
+
3302
+ sharing_config_property = vpclattice.CfnServiceNetwork.SharingConfigProperty(
3303
+ enabled=False
3304
+ )
3305
+ '''
3306
+ if __debug__:
3307
+ type_hints = typing.get_type_hints(_typecheckingstub__d90d2c86056b7572da75a2cae1efffd49b95d74362b0b98e1f139911f7f36476)
3308
+ check_type(argname="argument enabled", value=enabled, expected_type=type_hints["enabled"])
3309
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3310
+ "enabled": enabled,
3311
+ }
3312
+
3313
+ @builtins.property
3314
+ def enabled(self) -> typing.Union[builtins.bool, _IResolvable_da3f097b]:
3315
+ '''
3316
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-vpclattice-servicenetwork-sharingconfig.html#cfn-vpclattice-servicenetwork-sharingconfig-enabled
3317
+ '''
3318
+ result = self._values.get("enabled")
3319
+ assert result is not None, "Required property 'enabled' is missing"
3320
+ return typing.cast(typing.Union[builtins.bool, _IResolvable_da3f097b], result)
3321
+
3322
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3323
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3324
+
3325
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3326
+ return not (rhs == self)
3327
+
3328
+ def __repr__(self) -> str:
3329
+ return "SharingConfigProperty(%s)" % ", ".join(
3330
+ k + "=" + repr(v) for k, v in self._values.items()
3331
+ )
3332
+
3255
3333
 
3256
3334
  @jsii.data_type(
3257
3335
  jsii_type="aws-cdk-lib.aws_vpclattice.CfnServiceNetworkProps",
3258
3336
  jsii_struct_bases=[],
3259
- name_mapping={"auth_type": "authType", "name": "name", "tags": "tags"},
3337
+ name_mapping={
3338
+ "auth_type": "authType",
3339
+ "name": "name",
3340
+ "sharing_config": "sharingConfig",
3341
+ "tags": "tags",
3342
+ },
3260
3343
  )
3261
3344
  class CfnServiceNetworkProps:
3262
3345
  def __init__(
@@ -3264,12 +3347,14 @@ class CfnServiceNetworkProps:
3264
3347
  *,
3265
3348
  auth_type: typing.Optional[builtins.str] = None,
3266
3349
  name: typing.Optional[builtins.str] = None,
3350
+ sharing_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceNetwork.SharingConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3267
3351
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3268
3352
  ) -> None:
3269
3353
  '''Properties for defining a ``CfnServiceNetwork``.
3270
3354
 
3271
3355
  :param auth_type: The type of IAM policy. - ``NONE`` : The resource does not use an IAM policy. This is the default. - ``AWS_IAM`` : The resource uses an IAM policy. When this type is used, auth is enabled and an auth policy is required. Default: - "NONE"
3272
3356
  :param name: The name of the service network. The name must be unique to the account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen. If you don't specify a name, CloudFormation generates one. However, if you specify a name, and later want to replace the resource, you must specify a new name.
3357
+ :param sharing_config:
3273
3358
  :param tags: The tags for the service network.
3274
3359
 
3275
3360
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetwork.html
@@ -3284,6 +3369,9 @@ class CfnServiceNetworkProps:
3284
3369
  cfn_service_network_props = vpclattice.CfnServiceNetworkProps(
3285
3370
  auth_type="authType",
3286
3371
  name="name",
3372
+ sharing_config=vpclattice.CfnServiceNetwork.SharingConfigProperty(
3373
+ enabled=False
3374
+ ),
3287
3375
  tags=[CfnTag(
3288
3376
  key="key",
3289
3377
  value="value"
@@ -3294,12 +3382,15 @@ class CfnServiceNetworkProps:
3294
3382
  type_hints = typing.get_type_hints(_typecheckingstub__d53f770e586510e575c9248934a04f476ddc52636df2e0e8ad22f5800f529a9b)
3295
3383
  check_type(argname="argument auth_type", value=auth_type, expected_type=type_hints["auth_type"])
3296
3384
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
3385
+ check_type(argname="argument sharing_config", value=sharing_config, expected_type=type_hints["sharing_config"])
3297
3386
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
3298
3387
  self._values: typing.Dict[builtins.str, typing.Any] = {}
3299
3388
  if auth_type is not None:
3300
3389
  self._values["auth_type"] = auth_type
3301
3390
  if name is not None:
3302
3391
  self._values["name"] = name
3392
+ if sharing_config is not None:
3393
+ self._values["sharing_config"] = sharing_config
3303
3394
  if tags is not None:
3304
3395
  self._values["tags"] = tags
3305
3396
 
@@ -3330,6 +3421,16 @@ class CfnServiceNetworkProps:
3330
3421
  result = self._values.get("name")
3331
3422
  return typing.cast(typing.Optional[builtins.str], result)
3332
3423
 
3424
+ @builtins.property
3425
+ def sharing_config(
3426
+ self,
3427
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnServiceNetwork.SharingConfigProperty]]:
3428
+ '''
3429
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-servicenetwork.html#cfn-vpclattice-servicenetwork-sharingconfig
3430
+ '''
3431
+ result = self._values.get("sharing_config")
3432
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnServiceNetwork.SharingConfigProperty]], result)
3433
+
3333
3434
  @builtins.property
3334
3435
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
3335
3436
  '''The tags for the service network.
@@ -5789,6 +5890,7 @@ def _typecheckingstub__656136ed78cebb4875c7f9ba5dbfd3a8474257e368bb831d8f332cd48
5789
5890
  *,
5790
5891
  auth_type: typing.Optional[builtins.str] = None,
5791
5892
  name: typing.Optional[builtins.str] = None,
5893
+ sharing_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceNetwork.SharingConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5792
5894
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
5793
5895
  ) -> None:
5794
5896
  """Type checking stubs"""
@@ -5818,16 +5920,30 @@ def _typecheckingstub__da1bb59c73b32d0a58bca47ccddf295ff25d18ab46e10146997a37cf9
5818
5920
  """Type checking stubs"""
5819
5921
  pass
5820
5922
 
5923
+ def _typecheckingstub__ddecac5c408d967f992d70c89bd4765bbb82e33176cd3302f38d8583ed3e75cf(
5924
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnServiceNetwork.SharingConfigProperty]],
5925
+ ) -> None:
5926
+ """Type checking stubs"""
5927
+ pass
5928
+
5821
5929
  def _typecheckingstub__7f79b2202986ede0dc063bd10252c9e40fc261092241edb5b4d3a67b64f7b30e(
5822
5930
  value: typing.Optional[typing.List[_CfnTag_f6864754]],
5823
5931
  ) -> None:
5824
5932
  """Type checking stubs"""
5825
5933
  pass
5826
5934
 
5935
+ def _typecheckingstub__d90d2c86056b7572da75a2cae1efffd49b95d74362b0b98e1f139911f7f36476(
5936
+ *,
5937
+ enabled: typing.Union[builtins.bool, _IResolvable_da3f097b],
5938
+ ) -> None:
5939
+ """Type checking stubs"""
5940
+ pass
5941
+
5827
5942
  def _typecheckingstub__d53f770e586510e575c9248934a04f476ddc52636df2e0e8ad22f5800f529a9b(
5828
5943
  *,
5829
5944
  auth_type: typing.Optional[builtins.str] = None,
5830
5945
  name: typing.Optional[builtins.str] = None,
5946
+ sharing_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceNetwork.SharingConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5831
5947
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
5832
5948
  ) -> None:
5833
5949
  """Type checking stubs"""