aws-cdk-lib 2.145.0__py3-none-any.whl → 2.147.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 (71) hide show
  1. aws_cdk/__init__.py +12 -11
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.145.0.jsii.tgz → aws-cdk-lib@2.147.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigateway/__init__.py +32 -12
  5. aws_cdk/aws_apigatewayv2/__init__.py +48 -2
  6. aws_cdk/aws_apigatewayv2_integrations/__init__.py +142 -4
  7. aws_cdk/aws_appconfig/__init__.py +8 -4
  8. aws_cdk/aws_applicationsignals/__init__.py +1766 -0
  9. aws_cdk/aws_appsync/__init__.py +62 -0
  10. aws_cdk/aws_auditmanager/__init__.py +5 -1
  11. aws_cdk/aws_autoscaling/__init__.py +457 -56
  12. aws_cdk/aws_batch/__init__.py +215 -0
  13. aws_cdk/aws_bedrock/__init__.py +272 -103
  14. aws_cdk/aws_cloudformation/__init__.py +5 -11
  15. aws_cdk/aws_cloudfront/__init__.py +10 -3
  16. aws_cdk/aws_cloudtrail/__init__.py +56 -2
  17. aws_cdk/aws_codebuild/__init__.py +85 -32
  18. aws_cdk/aws_codepipeline/__init__.py +10 -5
  19. aws_cdk/aws_connect/__init__.py +86 -0
  20. aws_cdk/aws_datazone/__init__.py +80 -68
  21. aws_cdk/aws_deadline/__init__.py +603 -17
  22. aws_cdk/aws_ec2/__init__.py +237 -112
  23. aws_cdk/aws_ecs/__init__.py +123 -12
  24. aws_cdk/aws_eks/__init__.py +1335 -50
  25. aws_cdk/aws_elasticloadbalancingv2/__init__.py +11 -5
  26. aws_cdk/aws_emrserverless/__init__.py +5 -5
  27. aws_cdk/aws_events/__init__.py +36 -16
  28. aws_cdk/aws_fsx/__init__.py +126 -21
  29. aws_cdk/aws_globalaccelerator/__init__.py +2 -1
  30. aws_cdk/aws_globalaccelerator_endpoints/__init__.py +35 -4
  31. aws_cdk/aws_glue/__init__.py +26 -0
  32. aws_cdk/aws_grafana/__init__.py +4 -4
  33. aws_cdk/aws_groundstation/__init__.py +55 -35
  34. aws_cdk/aws_guardduty/__init__.py +826 -0
  35. aws_cdk/aws_iam/__init__.py +13 -8
  36. aws_cdk/aws_iot/__init__.py +3 -3
  37. aws_cdk/aws_lambda/__init__.py +7 -5
  38. aws_cdk/aws_lightsail/__init__.py +1 -1
  39. aws_cdk/aws_location/__init__.py +10 -11
  40. aws_cdk/aws_mediapackagev2/__init__.py +38 -20
  41. aws_cdk/aws_mediatailor/__init__.py +2 -2
  42. aws_cdk/aws_msk/__init__.py +4 -4
  43. aws_cdk/aws_mwaa/__init__.py +16 -8
  44. aws_cdk/aws_nimblestudio/__init__.py +9 -9
  45. aws_cdk/aws_opensearchservice/__init__.py +11 -4
  46. aws_cdk/aws_opsworks/__init__.py +3 -3
  47. aws_cdk/aws_osis/__init__.py +33 -4
  48. aws_cdk/aws_pipes/__init__.py +691 -0
  49. aws_cdk/aws_quicksight/__init__.py +23 -21
  50. aws_cdk/aws_rds/__init__.py +55 -11
  51. aws_cdk/aws_refactorspaces/__init__.py +3 -3
  52. aws_cdk/aws_rolesanywhere/__init__.py +206 -3
  53. aws_cdk/aws_sagemaker/__init__.py +5 -2
  54. aws_cdk/aws_securityhub/__init__.py +163 -78
  55. aws_cdk/aws_securitylake/__init__.py +7 -5
  56. aws_cdk/aws_ses/__init__.py +117 -0
  57. aws_cdk/aws_simspaceweaver/__init__.py +2 -2
  58. aws_cdk/aws_sns/__init__.py +67 -13
  59. aws_cdk/aws_sqs/__init__.py +3 -3
  60. aws_cdk/aws_stepfunctions/__init__.py +51 -28
  61. aws_cdk/aws_stepfunctions_tasks/__init__.py +59 -5
  62. aws_cdk/aws_transfer/__init__.py +8 -2
  63. aws_cdk/aws_wafv2/__init__.py +10 -10
  64. aws_cdk/aws_workspacesweb/__init__.py +8 -8
  65. aws_cdk/region_info/__init__.py +6 -0
  66. {aws_cdk_lib-2.145.0.dist-info → aws_cdk_lib-2.147.0.dist-info}/METADATA +2 -2
  67. {aws_cdk_lib-2.145.0.dist-info → aws_cdk_lib-2.147.0.dist-info}/NOTICE +0 -35
  68. {aws_cdk_lib-2.145.0.dist-info → aws_cdk_lib-2.147.0.dist-info}/RECORD +71 -70
  69. {aws_cdk_lib-2.145.0.dist-info → aws_cdk_lib-2.147.0.dist-info}/LICENSE +0 -0
  70. {aws_cdk_lib-2.145.0.dist-info → aws_cdk_lib-2.147.0.dist-info}/WHEEL +0 -0
  71. {aws_cdk_lib-2.145.0.dist-info → aws_cdk_lib-2.147.0.dist-info}/top_level.txt +0 -0
@@ -1366,7 +1366,9 @@ class CfnSubscriberNotification(
1366
1366
  metaclass=jsii.JSIIMeta,
1367
1367
  jsii_type="aws-cdk-lib.aws_securitylake.CfnSubscriberNotification",
1368
1368
  ):
1369
- '''Resource Type definition for AWS::SecurityLake::SubscriberNotification.
1369
+ '''Notifies the subscriber when new data is written to the data lake for the sources that the subscriber consumes in Security Lake.
1370
+
1371
+ You can create only one subscriber notification per subscriber.
1370
1372
 
1371
1373
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-subscribernotification.html
1372
1374
  :cloudformationResource: AWS::SecurityLake::SubscriberNotification
@@ -1393,7 +1395,7 @@ class CfnSubscriberNotification(
1393
1395
  '''
1394
1396
  :param scope: Scope in which this resource is defined.
1395
1397
  :param id: Construct identifier for this resource (unique in its scope).
1396
- :param subscriber_arn: The ARN for the subscriber.
1398
+ :param subscriber_arn: The Amazon Resource Name (ARN) of the Security Lake subscriber.
1397
1399
  '''
1398
1400
  if __debug__:
1399
1401
  type_hints = typing.get_type_hints(_typecheckingstub__12d097a0b2763ed8532079d34366f79ee45e7139fbdd98f5e181dd9c1fc456ee)
@@ -1450,7 +1452,7 @@ class CfnSubscriberNotification(
1450
1452
  @builtins.property
1451
1453
  @jsii.member(jsii_name="subscriberArn")
1452
1454
  def subscriber_arn(self) -> builtins.str:
1453
- '''The ARN for the subscriber.'''
1455
+ '''The Amazon Resource Name (ARN) of the Security Lake subscriber.'''
1454
1456
  return typing.cast(builtins.str, jsii.get(self, "subscriberArn"))
1455
1457
 
1456
1458
  @subscriber_arn.setter
@@ -1470,7 +1472,7 @@ class CfnSubscriberNotificationProps:
1470
1472
  def __init__(self, *, subscriber_arn: builtins.str) -> None:
1471
1473
  '''Properties for defining a ``CfnSubscriberNotification``.
1472
1474
 
1473
- :param subscriber_arn: The ARN for the subscriber.
1475
+ :param subscriber_arn: The Amazon Resource Name (ARN) of the Security Lake subscriber.
1474
1476
 
1475
1477
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-subscribernotification.html
1476
1478
  :exampleMetadata: fixture=_generated
@@ -1494,7 +1496,7 @@ class CfnSubscriberNotificationProps:
1494
1496
 
1495
1497
  @builtins.property
1496
1498
  def subscriber_arn(self) -> builtins.str:
1497
- '''The ARN for the subscriber.
1499
+ '''The Amazon Resource Name (ARN) of the Security Lake subscriber.
1498
1500
 
1499
1501
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-subscribernotification.html#cfn-securitylake-subscribernotification-subscriberarn
1500
1502
  '''
@@ -240,6 +240,21 @@ Use the `VdmAttributes` construct to configure the Virtual Deliverability Manage
240
240
  # Enables engagement tracking and optimized shared delivery by default
241
241
  ses.VdmAttributes(self, "Vdm")
242
242
  ```
243
+
244
+ If you want to override the VDM settings in the specified configuration set, use `vdmOptions` in the `ConfigurationSet` construct.
245
+
246
+ > **Note:** The configuration set level settings need to be used together with the account level settings. (To set the account level settings using CDK, use the `VdmAttributes` Construct.)
247
+ > If you enable only the configuration set level settings, VDM will not be enabled until the account level settings are configured.
248
+ > For more information, see [Virtual Deliverability Manager settings](https://docs.aws.amazon.com/ses/latest/dg/vdm-settings.html).
249
+
250
+ ```python
251
+ ses.ConfigurationSet(self, "ConfigurationSetWithVdmOptions",
252
+ vdm_options=ses.VdmOptions(
253
+ engagement_metrics=True,
254
+ optimized_shared_delivery=True
255
+ )
256
+ )
257
+ ```
243
258
  '''
244
259
  from pkgutil import extend_path
245
260
  __path__ = extend_path(__path__, __name__)
@@ -6629,6 +6644,7 @@ class ConfigurationSetEventDestinationProps(ConfigurationSetEventDestinationOpti
6629
6644
  "sending_enabled": "sendingEnabled",
6630
6645
  "suppression_reasons": "suppressionReasons",
6631
6646
  "tls_policy": "tlsPolicy",
6647
+ "vdm_options": "vdmOptions",
6632
6648
  },
6633
6649
  )
6634
6650
  class ConfigurationSetProps:
@@ -6642,6 +6658,7 @@ class ConfigurationSetProps:
6642
6658
  sending_enabled: typing.Optional[builtins.bool] = None,
6643
6659
  suppression_reasons: typing.Optional["SuppressionReasons"] = None,
6644
6660
  tls_policy: typing.Optional["ConfigurationSetTlsPolicy"] = None,
6661
+ vdm_options: typing.Optional[typing.Union["VdmOptions", typing.Dict[builtins.str, typing.Any]]] = None,
6645
6662
  ) -> None:
6646
6663
  '''Properties for a configuration set.
6647
6664
 
@@ -6652,6 +6669,7 @@ class ConfigurationSetProps:
6652
6669
  :param sending_enabled: Whether email sending is enabled. Default: true
6653
6670
  :param suppression_reasons: The reasons for which recipient email addresses should be automatically added to your account's suppression list. Default: - use account level settings
6654
6671
  :param tls_policy: Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). Default: ConfigurationSetTlsPolicy.OPTIONAL
6672
+ :param vdm_options: The Virtual Deliverability Manager (VDM) options that apply to the configuration set. Default: - VDM options not configured at the configuration set level. In this case, use account level settings. (To set the account level settings using CDK, use the ``VdmAttributes`` Construct.)
6655
6673
 
6656
6674
  :exampleMetadata: infused
6657
6675
 
@@ -6667,6 +6685,8 @@ class ConfigurationSetProps:
6667
6685
  dedicated_ip_pool=my_pool
6668
6686
  )
6669
6687
  '''
6688
+ if isinstance(vdm_options, dict):
6689
+ vdm_options = VdmOptions(**vdm_options)
6670
6690
  if __debug__:
6671
6691
  type_hints = typing.get_type_hints(_typecheckingstub__fb010161f6c1e40b88122d9cb7754dae093e9cbe5bbfc72b19737729a4f4523d)
6672
6692
  check_type(argname="argument configuration_set_name", value=configuration_set_name, expected_type=type_hints["configuration_set_name"])
@@ -6676,6 +6696,7 @@ class ConfigurationSetProps:
6676
6696
  check_type(argname="argument sending_enabled", value=sending_enabled, expected_type=type_hints["sending_enabled"])
6677
6697
  check_type(argname="argument suppression_reasons", value=suppression_reasons, expected_type=type_hints["suppression_reasons"])
6678
6698
  check_type(argname="argument tls_policy", value=tls_policy, expected_type=type_hints["tls_policy"])
6699
+ check_type(argname="argument vdm_options", value=vdm_options, expected_type=type_hints["vdm_options"])
6679
6700
  self._values: typing.Dict[builtins.str, typing.Any] = {}
6680
6701
  if configuration_set_name is not None:
6681
6702
  self._values["configuration_set_name"] = configuration_set_name
@@ -6691,6 +6712,8 @@ class ConfigurationSetProps:
6691
6712
  self._values["suppression_reasons"] = suppression_reasons
6692
6713
  if tls_policy is not None:
6693
6714
  self._values["tls_policy"] = tls_policy
6715
+ if vdm_options is not None:
6716
+ self._values["vdm_options"] = vdm_options
6694
6717
 
6695
6718
  @builtins.property
6696
6719
  def configuration_set_name(self) -> typing.Optional[builtins.str]:
@@ -6755,6 +6778,15 @@ class ConfigurationSetProps:
6755
6778
  result = self._values.get("tls_policy")
6756
6779
  return typing.cast(typing.Optional["ConfigurationSetTlsPolicy"], result)
6757
6780
 
6781
+ @builtins.property
6782
+ def vdm_options(self) -> typing.Optional["VdmOptions"]:
6783
+ '''The Virtual Deliverability Manager (VDM) options that apply to the configuration set.
6784
+
6785
+ :default: - VDM options not configured at the configuration set level. In this case, use account level settings. (To set the account level settings using CDK, use the ``VdmAttributes`` Construct.)
6786
+ '''
6787
+ result = self._values.get("vdm_options")
6788
+ return typing.cast(typing.Optional["VdmOptions"], result)
6789
+
6758
6790
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
6759
6791
  return isinstance(rhs, self.__class__) and rhs._values == self._values
6760
6792
 
@@ -9597,6 +9629,77 @@ class VdmAttributesProps:
9597
9629
  )
9598
9630
 
9599
9631
 
9632
+ @jsii.data_type(
9633
+ jsii_type="aws-cdk-lib.aws_ses.VdmOptions",
9634
+ jsii_struct_bases=[],
9635
+ name_mapping={
9636
+ "engagement_metrics": "engagementMetrics",
9637
+ "optimized_shared_delivery": "optimizedSharedDelivery",
9638
+ },
9639
+ )
9640
+ class VdmOptions:
9641
+ def __init__(
9642
+ self,
9643
+ *,
9644
+ engagement_metrics: typing.Optional[builtins.bool] = None,
9645
+ optimized_shared_delivery: typing.Optional[builtins.bool] = None,
9646
+ ) -> None:
9647
+ '''Properties for the Virtual Deliverability Manager (VDM) options that apply to the configuration set.
9648
+
9649
+ :param engagement_metrics: If true, engagement metrics are enabled for the configuration set. Default: - Engagement metrics not configured at the configuration set level. In this case, use account level settings.
9650
+ :param optimized_shared_delivery: If true, optimized shared delivery is enabled for the configuration set. Default: - Optimized shared delivery not configured at the configuration set level. In this case, use account level settings.
9651
+
9652
+ :exampleMetadata: infused
9653
+
9654
+ Example::
9655
+
9656
+ ses.ConfigurationSet(self, "ConfigurationSetWithVdmOptions",
9657
+ vdm_options=ses.VdmOptions(
9658
+ engagement_metrics=True,
9659
+ optimized_shared_delivery=True
9660
+ )
9661
+ )
9662
+ '''
9663
+ if __debug__:
9664
+ type_hints = typing.get_type_hints(_typecheckingstub__2a8516e8026df071dc99524fe916f8b7e253b71bc1734a0073475e2c6eca17aa)
9665
+ check_type(argname="argument engagement_metrics", value=engagement_metrics, expected_type=type_hints["engagement_metrics"])
9666
+ check_type(argname="argument optimized_shared_delivery", value=optimized_shared_delivery, expected_type=type_hints["optimized_shared_delivery"])
9667
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
9668
+ if engagement_metrics is not None:
9669
+ self._values["engagement_metrics"] = engagement_metrics
9670
+ if optimized_shared_delivery is not None:
9671
+ self._values["optimized_shared_delivery"] = optimized_shared_delivery
9672
+
9673
+ @builtins.property
9674
+ def engagement_metrics(self) -> typing.Optional[builtins.bool]:
9675
+ '''If true, engagement metrics are enabled for the configuration set.
9676
+
9677
+ :default: - Engagement metrics not configured at the configuration set level. In this case, use account level settings.
9678
+ '''
9679
+ result = self._values.get("engagement_metrics")
9680
+ return typing.cast(typing.Optional[builtins.bool], result)
9681
+
9682
+ @builtins.property
9683
+ def optimized_shared_delivery(self) -> typing.Optional[builtins.bool]:
9684
+ '''If true, optimized shared delivery is enabled for the configuration set.
9685
+
9686
+ :default: - Optimized shared delivery not configured at the configuration set level. In this case, use account level settings.
9687
+ '''
9688
+ result = self._values.get("optimized_shared_delivery")
9689
+ return typing.cast(typing.Optional[builtins.bool], result)
9690
+
9691
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
9692
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
9693
+
9694
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
9695
+ return not (rhs == self)
9696
+
9697
+ def __repr__(self) -> str:
9698
+ return "VdmOptions(%s)" % ", ".join(
9699
+ k + "=" + repr(v) for k, v in self._values.items()
9700
+ )
9701
+
9702
+
9600
9703
  @jsii.data_type(
9601
9704
  jsii_type="aws-cdk-lib.aws_ses.WorkmailActionConfig",
9602
9705
  jsii_struct_bases=[],
@@ -9707,6 +9810,7 @@ class ConfigurationSet(
9707
9810
  sending_enabled: typing.Optional[builtins.bool] = None,
9708
9811
  suppression_reasons: typing.Optional[SuppressionReasons] = None,
9709
9812
  tls_policy: typing.Optional[ConfigurationSetTlsPolicy] = None,
9813
+ vdm_options: typing.Optional[typing.Union[VdmOptions, typing.Dict[builtins.str, typing.Any]]] = None,
9710
9814
  ) -> None:
9711
9815
  '''
9712
9816
  :param scope: -
@@ -9718,6 +9822,7 @@ class ConfigurationSet(
9718
9822
  :param sending_enabled: Whether email sending is enabled. Default: true
9719
9823
  :param suppression_reasons: The reasons for which recipient email addresses should be automatically added to your account's suppression list. Default: - use account level settings
9720
9824
  :param tls_policy: Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). Default: ConfigurationSetTlsPolicy.OPTIONAL
9825
+ :param vdm_options: The Virtual Deliverability Manager (VDM) options that apply to the configuration set. Default: - VDM options not configured at the configuration set level. In this case, use account level settings. (To set the account level settings using CDK, use the ``VdmAttributes`` Construct.)
9721
9826
  '''
9722
9827
  if __debug__:
9723
9828
  type_hints = typing.get_type_hints(_typecheckingstub__52b42851a408d3eb2b07399f2b34603200cef443be5e9f913f4a1d80a47ac83e)
@@ -9731,6 +9836,7 @@ class ConfigurationSet(
9731
9836
  sending_enabled=sending_enabled,
9732
9837
  suppression_reasons=suppression_reasons,
9733
9838
  tls_policy=tls_policy,
9839
+ vdm_options=vdm_options,
9734
9840
  )
9735
9841
 
9736
9842
  jsii.create(self.__class__, self, [scope, id, props])
@@ -10388,6 +10494,7 @@ __all__ = [
10388
10494
  "TlsPolicy",
10389
10495
  "VdmAttributes",
10390
10496
  "VdmAttributesProps",
10497
+ "VdmOptions",
10391
10498
  "WorkmailActionConfig",
10392
10499
  ]
10393
10500
 
@@ -11244,6 +11351,7 @@ def _typecheckingstub__fb010161f6c1e40b88122d9cb7754dae093e9cbe5bbfc72b19737729a
11244
11351
  sending_enabled: typing.Optional[builtins.bool] = None,
11245
11352
  suppression_reasons: typing.Optional[SuppressionReasons] = None,
11246
11353
  tls_policy: typing.Optional[ConfigurationSetTlsPolicy] = None,
11354
+ vdm_options: typing.Optional[typing.Union[VdmOptions, typing.Dict[builtins.str, typing.Any]]] = None,
11247
11355
  ) -> None:
11248
11356
  """Type checking stubs"""
11249
11357
  pass
@@ -11571,6 +11679,14 @@ def _typecheckingstub__1882e9d1289b07868b3ffcfb9d92629e699992b01e6475750adbffc01
11571
11679
  """Type checking stubs"""
11572
11680
  pass
11573
11681
 
11682
+ def _typecheckingstub__2a8516e8026df071dc99524fe916f8b7e253b71bc1734a0073475e2c6eca17aa(
11683
+ *,
11684
+ engagement_metrics: typing.Optional[builtins.bool] = None,
11685
+ optimized_shared_delivery: typing.Optional[builtins.bool] = None,
11686
+ ) -> None:
11687
+ """Type checking stubs"""
11688
+ pass
11689
+
11574
11690
  def _typecheckingstub__08a56aa5b57fd1699d7c92c360d0709a2cfb31d3cb323b992c4b4e89432c836b(
11575
11691
  *,
11576
11692
  organization_arn: builtins.str,
@@ -11590,6 +11706,7 @@ def _typecheckingstub__52b42851a408d3eb2b07399f2b34603200cef443be5e9f913f4a1d80a
11590
11706
  sending_enabled: typing.Optional[builtins.bool] = None,
11591
11707
  suppression_reasons: typing.Optional[SuppressionReasons] = None,
11592
11708
  tls_policy: typing.Optional[ConfigurationSetTlsPolicy] = None,
11709
+ vdm_options: typing.Optional[typing.Union[VdmOptions, typing.Dict[builtins.str, typing.Any]]] = None,
11593
11710
  ) -> None:
11594
11711
  """Type checking stubs"""
11595
11712
  pass
@@ -258,7 +258,7 @@ class CfnSimulation(
258
258
  '''A location in Amazon Simple Storage Service ( Amazon S3 ) where SimSpace Weaver stores simulation data, such as your app .zip files and schema file. For more information about Amazon S3 , see the `*Amazon Simple Storage Service User Guide* <https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html>`_ .
259
259
 
260
260
  :param bucket_name: The name of an Amazon S3 bucket. For more information about buckets, see `Creating, configuring, and working with Amazon S3 buckets <https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html>`_ in the *Amazon Simple Storage Service User Guide* .
261
- :param object_key: The key name of an object in Amazon S3 . For more information about Amazon S3 objects and object keys, see `Uploading, downloading, and working with objects in Amazon S3 <https://docs.aws.amazon.com/AmazonS3/latest/userguide/uploading-downloading-objects.html>`_ in the *Amazon Simple Storage Service User Guide* .
261
+ :param object_key: The key name of an object in Amazon S3. For more information about Amazon S3 objects and object keys, see `Uploading, downloading, and working with objects in Amazon S3 <https://docs.aws.amazon.com/AmazonS3/latest/userguide/uploading-downloading-objects.html>`_ in the *Amazon Simple Storage Service User Guide* .
262
262
 
263
263
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-simspaceweaver-simulation-s3location.html
264
264
  :exampleMetadata: fixture=_generated
@@ -297,7 +297,7 @@ class CfnSimulation(
297
297
 
298
298
  @builtins.property
299
299
  def object_key(self) -> builtins.str:
300
- '''The key name of an object in Amazon S3 .
300
+ '''The key name of an object in Amazon S3.
301
301
 
302
302
  For more information about Amazon S3 objects and object keys, see `Uploading, downloading, and working with objects in Amazon S3 <https://docs.aws.amazon.com/AmazonS3/latest/userguide/uploading-downloading-objects.html>`_ in the *Amazon Simple Storage Service User Guide* .
303
303
 
@@ -62,6 +62,17 @@ my_topic.add_subscription(subscriptions.SqsSubscription(queue))
62
62
  Note that subscriptions of queues in different accounts need to be manually confirmed by
63
63
  reading the initial message from the queue and visiting the link found in it.
64
64
 
65
+ The `grantSubscribe` method adds a policy statement to the topic's resource policy, allowing the specified principal to perform the `sns:Subscribe` action.
66
+ It's useful when you want to allow entities, such as another AWS account or resources created later, to subscribe to the topic at their own pace, separating permission granting from the actual subscription process.
67
+
68
+ ```python
69
+ # account_principal: iam.AccountPrincipal
70
+
71
+ my_topic = sns.Topic(self, "MyTopic")
72
+
73
+ my_topic.grant_subscribe(account_principal)
74
+ ```
75
+
65
76
  ### Filter policy
66
77
 
67
78
  A filter policy can be specified when subscribing an endpoint to a topic.
@@ -481,7 +492,7 @@ class CfnSubscription(
481
492
  ):
482
493
  '''The ``AWS::SNS::Subscription`` resource subscribes an endpoint to an Amazon SNS topic.
483
494
 
484
- For a subscription to be created, the owner of the endpoint must confirm the subscription.
495
+ For a subscription to be created, the owner of the endpoint must` confirm the subscription.
485
496
 
486
497
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html
487
498
  :cloudformationResource: AWS::SNS::Subscription
@@ -544,7 +555,7 @@ class CfnSubscription(
544
555
  :param raw_message_delivery: When set to ``true`` , enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. For more information, see ``[GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html)`` in the *Amazon SNS API Reference* .
545
556
  :param redrive_policy: When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing. For more information about the redrive policy and dead-letter queues, see `Amazon SQS dead-letter queues <https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html>`_ in the *Amazon SQS Developer Guide* .
546
557
  :param region: For cross-region subscriptions, the region in which the topic resides. If no region is specified, AWS CloudFormation uses the region of the caller as the default. If you perform an update operation that only updates the ``Region`` property of a ``AWS::SNS::Subscription`` resource, that operation will fail unless you are either: - Updating the ``Region`` from ``NULL`` to the caller region. - Updating the ``Region`` from the caller region to ``NULL`` .
547
- :param replay_policy:
558
+ :param replay_policy: Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes.
548
559
  :param subscription_role_arn: This property applies only to Amazon Data Firehose delivery stream subscriptions. Specify the ARN of the IAM role that has the following: - Permission to write to the Amazon Data Firehose delivery stream - Amazon SNS listed as a trusted entity Specifying a valid ARN for this attribute is required for Firehose delivery stream subscriptions. For more information, see `Fanout to Amazon Data Firehose delivery streams <https://docs.aws.amazon.com/sns/latest/dg/sns-firehose-as-subscriber.html>`_ in the *Amazon SNS Developer Guide.*
549
560
  '''
550
561
  if __debug__:
@@ -735,6 +746,7 @@ class CfnSubscription(
735
746
  @builtins.property
736
747
  @jsii.member(jsii_name="replayPolicy")
737
748
  def replay_policy(self) -> typing.Any:
749
+ '''Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes.'''
738
750
  return typing.cast(typing.Any, jsii.get(self, "replayPolicy"))
739
751
 
740
752
  @replay_policy.setter
@@ -802,7 +814,7 @@ class CfnSubscriptionProps:
802
814
  :param raw_message_delivery: When set to ``true`` , enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. For more information, see ``[GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html)`` in the *Amazon SNS API Reference* .
803
815
  :param redrive_policy: When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing. For more information about the redrive policy and dead-letter queues, see `Amazon SQS dead-letter queues <https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html>`_ in the *Amazon SQS Developer Guide* .
804
816
  :param region: For cross-region subscriptions, the region in which the topic resides. If no region is specified, AWS CloudFormation uses the region of the caller as the default. If you perform an update operation that only updates the ``Region`` property of a ``AWS::SNS::Subscription`` resource, that operation will fail unless you are either: - Updating the ``Region`` from ``NULL`` to the caller region. - Updating the ``Region`` from the caller region to ``NULL`` .
805
- :param replay_policy:
817
+ :param replay_policy: Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes.
806
818
  :param subscription_role_arn: This property applies only to Amazon Data Firehose delivery stream subscriptions. Specify the ARN of the IAM role that has the following: - Permission to write to the Amazon Data Firehose delivery stream - Amazon SNS listed as a trusted entity Specifying a valid ARN for this attribute is required for Firehose delivery stream subscriptions. For more information, see `Fanout to Amazon Data Firehose delivery streams <https://docs.aws.amazon.com/sns/latest/dg/sns-firehose-as-subscriber.html>`_ in the *Amazon SNS Developer Guide.*
807
819
 
808
820
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html
@@ -982,7 +994,8 @@ class CfnSubscriptionProps:
982
994
 
983
995
  @builtins.property
984
996
  def replay_policy(self) -> typing.Any:
985
- '''
997
+ '''Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes.
998
+
986
999
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-replaypolicy
987
1000
  '''
988
1001
  result = self._values.get("replay_policy")
@@ -2403,6 +2416,14 @@ class ITopic(
2403
2416
  '''
2404
2417
  ...
2405
2418
 
2419
+ @jsii.member(jsii_name="grantSubscribe")
2420
+ def grant_subscribe(self, identity: _IGrantable_71c4f5de) -> _Grant_a7ae64f8:
2421
+ '''Grant topic subscribing permissions to the given identity.
2422
+
2423
+ :param identity: -
2424
+ '''
2425
+ ...
2426
+
2406
2427
  @jsii.member(jsii_name="metric")
2407
2428
  def metric(
2408
2429
  self,
@@ -2770,6 +2791,17 @@ class _ITopicProxy(
2770
2791
  check_type(argname="argument identity", value=identity, expected_type=type_hints["identity"])
2771
2792
  return typing.cast(_Grant_a7ae64f8, jsii.invoke(self, "grantPublish", [identity]))
2772
2793
 
2794
+ @jsii.member(jsii_name="grantSubscribe")
2795
+ def grant_subscribe(self, identity: _IGrantable_71c4f5de) -> _Grant_a7ae64f8:
2796
+ '''Grant topic subscribing permissions to the given identity.
2797
+
2798
+ :param identity: -
2799
+ '''
2800
+ if __debug__:
2801
+ type_hints = typing.get_type_hints(_typecheckingstub__7aeb5c807ffbca475c72e16b5057cf9e84960ecb69a07c559eacf1d2d9f57d08)
2802
+ check_type(argname="argument identity", value=identity, expected_type=type_hints["identity"])
2803
+ return typing.cast(_Grant_a7ae64f8, jsii.invoke(self, "grantSubscribe", [identity]))
2804
+
2773
2805
  @jsii.member(jsii_name="metric")
2774
2806
  def metric(
2775
2807
  self,
@@ -4494,6 +4526,17 @@ class TopicBase(
4494
4526
  check_type(argname="argument grantee", value=grantee, expected_type=type_hints["grantee"])
4495
4527
  return typing.cast(_Grant_a7ae64f8, jsii.invoke(self, "grantPublish", [grantee]))
4496
4528
 
4529
+ @jsii.member(jsii_name="grantSubscribe")
4530
+ def grant_subscribe(self, grantee: _IGrantable_71c4f5de) -> _Grant_a7ae64f8:
4531
+ '''Grant topic subscribing permissions to the given identity.
4532
+
4533
+ :param grantee: -
4534
+ '''
4535
+ if __debug__:
4536
+ type_hints = typing.get_type_hints(_typecheckingstub__cdc643adf708f1051e215b34e0def5de91fed4799b3870f5be0d3e0ddf1702b2)
4537
+ check_type(argname="argument grantee", value=grantee, expected_type=type_hints["grantee"])
4538
+ return typing.cast(_Grant_a7ae64f8, jsii.invoke(self, "grantSubscribe", [grantee]))
4539
+
4497
4540
  @jsii.member(jsii_name="metric")
4498
4541
  def metric(
4499
4542
  self,
@@ -5703,18 +5746,17 @@ class Topic(TopicBase, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_sns.T
5703
5746
 
5704
5747
  Example::
5705
5748
 
5706
- import aws_cdk.aws_sns as sns
5749
+ from aws_cdk.aws_kinesisfirehose_alpha import DeliveryStream
5750
+ # stream: DeliveryStream
5707
5751
 
5708
5752
 
5709
- topic = sns.Topic(self, "MyTopic")
5753
+ topic = sns.Topic(self, "Topic")
5710
5754
 
5711
- topic_rule = iot.TopicRule(self, "TopicRule",
5712
- sql=iot.IotSql.from_string_as_ver20160323("SELECT topic(2) as device_id, year, month, day FROM 'device/+/data'"),
5713
- actions=[
5714
- actions.SnsTopicAction(topic,
5715
- message_format=actions.SnsActionMessageFormat.JSON
5716
- )
5717
- ]
5755
+ sns.Subscription(self, "Subscription",
5756
+ topic=topic,
5757
+ endpoint=stream.delivery_stream_arn,
5758
+ protocol=sns.SubscriptionProtocol.FIREHOSE,
5759
+ subscription_role_arn="SAMPLE_ARN"
5718
5760
  )
5719
5761
  '''
5720
5762
 
@@ -6291,6 +6333,12 @@ def _typecheckingstub__bf96d0b079cfedfe1ad406a08f2229f4ed5332b9d92fc6d78e1571fce
6291
6333
  """Type checking stubs"""
6292
6334
  pass
6293
6335
 
6336
+ def _typecheckingstub__7aeb5c807ffbca475c72e16b5057cf9e84960ecb69a07c559eacf1d2d9f57d08(
6337
+ identity: _IGrantable_71c4f5de,
6338
+ ) -> None:
6339
+ """Type checking stubs"""
6340
+ pass
6341
+
6294
6342
  def _typecheckingstub__05c3997edd40866d6774aed03c03e55b6cf80f23f518be34bcdf19adf065db7c(
6295
6343
  metric_name: builtins.str,
6296
6344
  *,
@@ -6447,6 +6495,12 @@ def _typecheckingstub__6461236ee087e9f8e6de731371b913e918bbd3ec5d928bd677a69c9c8
6447
6495
  """Type checking stubs"""
6448
6496
  pass
6449
6497
 
6498
+ def _typecheckingstub__cdc643adf708f1051e215b34e0def5de91fed4799b3870f5be0d3e0ddf1702b2(
6499
+ grantee: _IGrantable_71c4f5de,
6500
+ ) -> None:
6501
+ """Type checking stubs"""
6502
+ pass
6503
+
6450
6504
  def _typecheckingstub__b07969d7a2c71869715d0fe87d9b0d9d67f663ddecc9d81d353ba532fdaa3b8d(
6451
6505
  metric_name: builtins.str,
6452
6506
  *,
@@ -806,7 +806,7 @@ class CfnQueuePolicy(
806
806
  :param scope: Scope in which this resource is defined.
807
807
  :param id: Construct identifier for this resource (unique in its scope).
808
808
  :param policy_document: A policy document that contains the permissions for the specified Amazon SQS queues. For more information about Amazon SQS policies, see `Using custom policies with the Amazon SQS access policy language <https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-creating-custom-policies.html>`_ in the *Amazon SQS Developer Guide* .
809
- :param queues: The URLs of the queues to which you want to add the policy. You can use the ``[Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)`` function to specify an ``[AWS::SQS::Queue](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html)`` resource.
809
+ :param queues: The URLs of the queues to which you want to add the policy. You can use the ``[Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)`` function to specify an ``[AWS::SQS::Queue](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queue.html)`` resource.
810
810
  '''
811
811
  if __debug__:
812
812
  type_hints = typing.get_type_hints(_typecheckingstub__cf0938ca02c83217053a748eaced04a040ecea55f727e4a44ff3eff90a9ea987)
@@ -902,7 +902,7 @@ class CfnQueuePolicyProps:
902
902
  '''Properties for defining a ``CfnQueuePolicy``.
903
903
 
904
904
  :param policy_document: A policy document that contains the permissions for the specified Amazon SQS queues. For more information about Amazon SQS policies, see `Using custom policies with the Amazon SQS access policy language <https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-creating-custom-policies.html>`_ in the *Amazon SQS Developer Guide* .
905
- :param queues: The URLs of the queues to which you want to add the policy. You can use the ``[Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)`` function to specify an ``[AWS::SQS::Queue](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html)`` resource.
905
+ :param queues: The URLs of the queues to which you want to add the policy. You can use the ``[Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)`` function to specify an ``[AWS::SQS::Queue](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queue.html)`` resource.
906
906
 
907
907
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queuepolicy.html
908
908
  :exampleMetadata: fixture=_generated
@@ -945,7 +945,7 @@ class CfnQueuePolicyProps:
945
945
  def queues(self) -> typing.List[builtins.str]:
946
946
  '''The URLs of the queues to which you want to add the policy.
947
947
 
948
- You can use the ``[Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)`` function to specify an ``[AWS::SQS::Queue](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html)`` resource.
948
+ You can use the ``[Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)`` function to specify an ``[AWS::SQS::Queue](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queue.html)`` resource.
949
949
 
950
950
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queuepolicy.html#cfn-sqs-queuepolicy-queues
951
951
  '''