aws-cdk-lib 2.195.0__py3-none-any.whl → 2.196.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 (100) hide show
  1. aws_cdk/__init__.py +433 -20
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.195.0.jsii.tgz → aws-cdk-lib@2.196.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_acmpca/__init__.py +1 -1
  5. aws_cdk/aws_amazonmq/__init__.py +2 -2
  6. aws_cdk/aws_apigateway/__init__.py +148 -69
  7. aws_cdk/aws_apigatewayv2/__init__.py +155 -24
  8. aws_cdk/aws_appconfig/__init__.py +24 -0
  9. aws_cdk/aws_applicationautoscaling/__init__.py +6 -0
  10. aws_cdk/aws_appmesh/__init__.py +42 -0
  11. aws_cdk/aws_appsync/__init__.py +92 -20
  12. aws_cdk/aws_autoscaling/__init__.py +24 -0
  13. aws_cdk/aws_backup/__init__.py +53 -14
  14. aws_cdk/aws_batch/__init__.py +72 -0
  15. aws_cdk/aws_bedrock/__init__.py +620 -14
  16. aws_cdk/aws_budgets/__init__.py +569 -0
  17. aws_cdk/aws_certificatemanager/__init__.py +21 -0
  18. aws_cdk/aws_chatbot/__init__.py +6 -0
  19. aws_cdk/aws_cloudfront/__init__.py +87 -0
  20. aws_cdk/aws_cloudfront/experimental/__init__.py +6 -0
  21. aws_cdk/aws_cloudtrail/__init__.py +6 -0
  22. aws_cdk/aws_cloudwatch/__init__.py +18 -0
  23. aws_cdk/aws_cloudwatch_actions/__init__.py +75 -1
  24. aws_cdk/aws_codebuild/__init__.py +48 -0
  25. aws_cdk/aws_codecommit/__init__.py +6 -0
  26. aws_cdk/aws_codedeploy/__init__.py +63 -0
  27. aws_cdk/aws_codeguruprofiler/__init__.py +6 -0
  28. aws_cdk/aws_codepipeline/__init__.py +6 -0
  29. aws_cdk/aws_codepipeline_actions/__init__.py +4 -4
  30. aws_cdk/aws_codestarnotifications/__init__.py +6 -0
  31. aws_cdk/aws_cognito/__init__.py +91 -12
  32. aws_cdk/aws_cognito_identitypool/__init__.py +6 -0
  33. aws_cdk/aws_config/__init__.py +36 -0
  34. aws_cdk/aws_datazone/__init__.py +557 -14
  35. aws_cdk/aws_docdb/__init__.py +27 -3
  36. aws_cdk/aws_dsql/__init__.py +21 -13
  37. aws_cdk/aws_dynamodb/__init__.py +20 -8
  38. aws_cdk/aws_ec2/__init__.py +282 -21
  39. aws_cdk/aws_ecr/__init__.py +6 -0
  40. aws_cdk/aws_ecr_assets/__init__.py +6 -0
  41. aws_cdk/aws_ecs/__init__.py +112 -19
  42. aws_cdk/aws_ecs_patterns/__init__.py +58 -0
  43. aws_cdk/aws_efs/__init__.py +12 -0
  44. aws_cdk/aws_eks/__init__.py +42 -0
  45. aws_cdk/aws_elasticloadbalancing/__init__.py +6 -0
  46. aws_cdk/aws_elasticloadbalancingv2/__init__.py +112 -9
  47. aws_cdk/aws_elasticsearch/__init__.py +9 -0
  48. aws_cdk/aws_events/__init__.py +36 -0
  49. aws_cdk/aws_events_targets/__init__.py +10 -10
  50. aws_cdk/aws_fsx/__init__.py +6 -0
  51. aws_cdk/aws_globalaccelerator/__init__.py +18 -0
  52. aws_cdk/aws_iam/__init__.py +66 -0
  53. aws_cdk/aws_imagebuilder/__init__.py +21 -16
  54. aws_cdk/aws_inspector/__init__.py +6 -0
  55. aws_cdk/aws_kinesis/__init__.py +19 -1
  56. aws_cdk/aws_kinesisanalytics/__init__.py +9 -11
  57. aws_cdk/aws_kinesisanalyticsv2/__init__.py +9 -11
  58. aws_cdk/aws_kinesisfirehose/__init__.py +6 -0
  59. aws_cdk/aws_kms/__init__.py +16 -4
  60. aws_cdk/aws_lambda/__init__.py +76 -6
  61. aws_cdk/aws_lambda_nodejs/__init__.py +6 -0
  62. aws_cdk/aws_logs/__init__.py +155 -12
  63. aws_cdk/aws_opensearchservice/__init__.py +6 -0
  64. aws_cdk/aws_quicksight/__init__.py +22 -22
  65. aws_cdk/aws_rds/__init__.py +306 -30
  66. aws_cdk/aws_redshiftserverless/__init__.py +7 -7
  67. aws_cdk/aws_route53/__init__.py +723 -25
  68. aws_cdk/aws_s3/__init__.py +37 -10
  69. aws_cdk/aws_s3_deployment/__init__.py +6 -0
  70. aws_cdk/aws_sagemaker/__init__.py +199 -4
  71. aws_cdk/aws_scheduler/__init__.py +12 -0
  72. aws_cdk/aws_secretsmanager/__init__.py +24 -0
  73. aws_cdk/aws_servicecatalog/__init__.py +24 -0
  74. aws_cdk/aws_servicediscovery/__init__.py +48 -0
  75. aws_cdk/aws_ses/__init__.py +133 -33
  76. aws_cdk/aws_signer/__init__.py +6 -0
  77. aws_cdk/aws_sns/__init__.py +18 -0
  78. aws_cdk/aws_sns_subscriptions/__init__.py +6 -0
  79. aws_cdk/aws_sqs/__init__.py +12 -0
  80. aws_cdk/aws_ssm/__init__.py +12 -0
  81. aws_cdk/aws_ssmcontacts/__init__.py +53 -2
  82. aws_cdk/aws_ssmguiconnect/__init__.py +7 -7
  83. aws_cdk/aws_stepfunctions/__init__.py +153 -7
  84. aws_cdk/aws_stepfunctions_tasks/__init__.py +46 -10
  85. aws_cdk/aws_synthetics/__init__.py +32 -0
  86. aws_cdk/aws_verifiedpermissions/__init__.py +168 -3
  87. aws_cdk/aws_vpclattice/__init__.py +3 -1
  88. aws_cdk/aws_wisdom/__init__.py +6 -4
  89. aws_cdk/custom_resources/__init__.py +18 -0
  90. aws_cdk/cx_api/__init__.py +33 -0
  91. aws_cdk/lambda_layer_awscli/__init__.py +6 -0
  92. aws_cdk/lambda_layer_node_proxy_agent/__init__.py +6 -0
  93. aws_cdk/pipelines/__init__.py +10 -10
  94. aws_cdk/triggers/__init__.py +6 -0
  95. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.196.0.dist-info}/METADATA +83 -5
  96. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.196.0.dist-info}/RECORD +100 -100
  97. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.196.0.dist-info}/LICENSE +0 -0
  98. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.196.0.dist-info}/NOTICE +0 -0
  99. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.196.0.dist-info}/WHEEL +0 -0
  100. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.196.0.dist-info}/top_level.txt +0 -0
@@ -8326,6 +8326,12 @@ class Portfolio(
8326
8326
 
8327
8327
  return typing.cast(None, jsii.invoke(self, "shareWithAccount", [account_id, options]))
8328
8328
 
8329
+ @jsii.python.classproperty
8330
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
8331
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
8332
+ '''Uniquely identifies this class.'''
8333
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
8334
+
8329
8335
  @builtins.property
8330
8336
  @jsii.member(jsii_name="portfolioArn")
8331
8337
  def portfolio_arn(self) -> builtins.str:
@@ -8833,6 +8839,12 @@ class ProductStackHistory(
8833
8839
  check_type(argname="argument product_version_name", value=product_version_name, expected_type=type_hints["product_version_name"])
8834
8840
  return typing.cast(CloudFormationProductVersion, jsii.invoke(self, "versionFromSnapshot", [product_version_name]))
8835
8841
 
8842
+ @jsii.python.classproperty
8843
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
8844
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
8845
+ '''Uniquely identifies this class.'''
8846
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
8847
+
8836
8848
 
8837
8849
  @jsii.data_type(
8838
8850
  jsii_type="aws-cdk-lib.aws_servicecatalog.ProductStackHistoryProps",
@@ -9334,6 +9346,12 @@ class TagOptions(
9334
9346
 
9335
9347
  jsii.create(self.__class__, self, [scope, id, props])
9336
9348
 
9349
+ @jsii.python.classproperty
9350
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
9351
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
9352
+ '''Uniquely identifies this class.'''
9353
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
9354
+
9337
9355
 
9338
9356
  @jsii.data_type(
9339
9357
  jsii_type="aws-cdk-lib.aws_servicecatalog.TagOptionsProps",
@@ -9742,6 +9760,12 @@ class CloudFormationProduct(
9742
9760
 
9743
9761
  jsii.create(self.__class__, self, [scope, id, props])
9744
9762
 
9763
+ @jsii.python.classproperty
9764
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
9765
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
9766
+ '''Uniquely identifies this class.'''
9767
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
9768
+
9745
9769
  @builtins.property
9746
9770
  @jsii.member(jsii_name="assetBuckets")
9747
9771
  def asset_buckets(self) -> typing.List[_IBucket_42e086fd]:
@@ -4375,6 +4375,12 @@ class IpInstance(
4375
4375
 
4376
4376
  jsii.create(self.__class__, self, [scope, id, props])
4377
4377
 
4378
+ @jsii.python.classproperty
4379
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
4380
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
4381
+ '''Uniquely identifies this class.'''
4382
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
4383
+
4378
4384
  @builtins.property
4379
4385
  @jsii.member(jsii_name="instanceId")
4380
4386
  def instance_id(self) -> builtins.str:
@@ -4770,6 +4776,12 @@ class NonIpInstance(
4770
4776
 
4771
4777
  jsii.create(self.__class__, self, [scope, id, props])
4772
4778
 
4779
+ @jsii.python.classproperty
4780
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
4781
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
4782
+ '''Uniquely identifies this class.'''
4783
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
4784
+
4773
4785
  @builtins.property
4774
4786
  @jsii.member(jsii_name="instanceId")
4775
4787
  def instance_id(self) -> builtins.str:
@@ -5121,6 +5133,12 @@ class PrivateDnsNamespace(
5121
5133
 
5122
5134
  return typing.cast("Service", jsii.invoke(self, "createService", [id, props]))
5123
5135
 
5136
+ @jsii.python.classproperty
5137
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
5138
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
5139
+ '''Uniquely identifies this class.'''
5140
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
5141
+
5124
5142
  @builtins.property
5125
5143
  @jsii.member(jsii_name="namespaceArn")
5126
5144
  def namespace_arn(self) -> builtins.str:
@@ -5498,6 +5516,12 @@ class PublicDnsNamespace(
5498
5516
 
5499
5517
  return typing.cast("Service", jsii.invoke(self, "createService", [id, props]))
5500
5518
 
5519
+ @jsii.python.classproperty
5520
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
5521
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
5522
+ '''Uniquely identifies this class.'''
5523
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
5524
+
5501
5525
  @builtins.property
5502
5526
  @jsii.member(jsii_name="namespaceArn")
5503
5527
  def namespace_arn(self) -> builtins.str:
@@ -5962,6 +5986,12 @@ class Service(
5962
5986
 
5963
5987
  return typing.cast(IInstance, jsii.invoke(self, "registerNonIpInstance", [id, props]))
5964
5988
 
5989
+ @jsii.python.classproperty
5990
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
5991
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
5992
+ '''Uniquely identifies this class.'''
5993
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
5994
+
5965
5995
  @builtins.property
5966
5996
  @jsii.member(jsii_name="discoveryType")
5967
5997
  def discovery_type(self) -> DiscoveryType:
@@ -6425,6 +6455,12 @@ class AliasTargetInstance(
6425
6455
 
6426
6456
  jsii.create(self.__class__, self, [scope, id, props])
6427
6457
 
6458
+ @jsii.python.classproperty
6459
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
6460
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
6461
+ '''Uniquely identifies this class.'''
6462
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
6463
+
6428
6464
  @builtins.property
6429
6465
  @jsii.member(jsii_name="dnsName")
6430
6466
  def dns_name(self) -> builtins.str:
@@ -6612,6 +6648,12 @@ class CnameInstance(
6612
6648
 
6613
6649
  jsii.create(self.__class__, self, [scope, id, props])
6614
6650
 
6651
+ @jsii.python.classproperty
6652
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
6653
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
6654
+ '''Uniquely identifies this class.'''
6655
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
6656
+
6615
6657
  @builtins.property
6616
6658
  @jsii.member(jsii_name="cname")
6617
6659
  def cname(self) -> builtins.str:
@@ -6773,6 +6815,12 @@ class HttpNamespace(
6773
6815
 
6774
6816
  return typing.cast(Service, jsii.invoke(self, "createService", [id, props]))
6775
6817
 
6818
+ @jsii.python.classproperty
6819
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
6820
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
6821
+ '''Uniquely identifies this class.'''
6822
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
6823
+
6776
6824
  @builtins.property
6777
6825
  @jsii.member(jsii_name="httpNamespaceArn")
6778
6826
  def http_namespace_arn(self) -> builtins.str:
@@ -137,7 +137,6 @@ from aws_cdk import Duration
137
137
 
138
138
 
139
139
  ses.ConfigurationSet(self, "ConfigurationSet",
140
- custom_tracking_redirect_domain="track.cdk.dev",
141
140
  tls_policy=ses.ConfigurationSetTlsPolicy.REQUIRE,
142
141
  dedicated_ip_pool=my_pool,
143
142
  # Specify maximum delivery time
@@ -201,6 +200,20 @@ my_configuration_set.add_event_destination("ToFirehose",
201
200
  )
202
201
  ```
203
202
 
203
+ #### Tracking options
204
+
205
+ You can specify to use a custom redirect domain to handle open and click tracking for email sent with this configuration set by using `customTrackingRedirectDomain` and `customTrackingHttpsPolicy`.
206
+ Detail can be found in [Custom tracking domain](https://docs.aws.amazon.com/ses/latest/dg/configure-custom-open-click-domains.html).
207
+
208
+ ```python
209
+ ses.ConfigurationSet(self, "ConfigurationSet",
210
+ custom_tracking_redirect_domain="track.cdk.dev",
211
+ custom_tracking_https_policy=ses.HttpsPolicy.REQUIRE
212
+ )
213
+ ```
214
+
215
+ **Note**: The custom tracking redirect domain must be verified in Amazon SES. To create verified identities, you can use the [`EmailIdentity` construct](#email-identity).
216
+
204
217
  ### Override account-level suppression list settings
205
218
 
206
219
  You can customize account-level suppression list separately for different configuration sets by overriding it
@@ -6630,8 +6643,8 @@ class CfnMailManagerRuleSet(
6630
6643
 
6631
6644
  :param application_id: The unique identifier of the Amazon Q Business application instance where the email content will be delivered.
6632
6645
  :param index_id: The identifier of the knowledge base index within the Amazon Q Business application where the email content will be stored and indexed.
6633
- :param role_arn: The Amazon Resource Name (ARN) of the IAM Role to use while delivering to Amazon Q Business. This role must have access to the qbusiness:BatchPutDocument API for the given application and index.
6634
- :param action_failure_policy: A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the specified application has been deleted or the role lacks necessary permissions to call the qbusiness:BatchPutDocument API.
6646
+ :param role_arn: The Amazon Resource Name (ARN) of the IAM Role to use while delivering to Amazon Q Business. This role must have access to the ``qbusiness:BatchPutDocument`` API for the given application and index.
6647
+ :param action_failure_policy: A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the specified application has been deleted or the role lacks necessary permissions to call the ``qbusiness:BatchPutDocument`` API.
6635
6648
 
6636
6649
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-delivertoqbusinessaction.html
6637
6650
  :exampleMetadata: fixture=_generated
@@ -6689,7 +6702,7 @@ class CfnMailManagerRuleSet(
6689
6702
  def role_arn(self) -> builtins.str:
6690
6703
  '''The Amazon Resource Name (ARN) of the IAM Role to use while delivering to Amazon Q Business.
6691
6704
 
6692
- This role must have access to the qbusiness:BatchPutDocument API for the given application and index.
6705
+ This role must have access to the ``qbusiness:BatchPutDocument`` API for the given application and index.
6693
6706
 
6694
6707
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-delivertoqbusinessaction.html#cfn-ses-mailmanagerruleset-delivertoqbusinessaction-rolearn
6695
6708
  '''
@@ -6701,7 +6714,7 @@ class CfnMailManagerRuleSet(
6701
6714
  def action_failure_policy(self) -> typing.Optional[builtins.str]:
6702
6715
  '''A policy that states what to do in the case of failure.
6703
6716
 
6704
- The action will fail if there are configuration errors. For example, the specified application has been deleted or the role lacks necessary permissions to call the qbusiness:BatchPutDocument API.
6717
+ The action will fail if there are configuration errors. For example, the specified application has been deleted or the role lacks necessary permissions to call the ``qbusiness:BatchPutDocument`` API.
6705
6718
 
6706
6719
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-delivertoqbusinessaction.html#cfn-ses-mailmanagerruleset-delivertoqbusinessaction-actionfailurepolicy
6707
6720
  '''
@@ -12031,19 +12044,12 @@ class CfnReceiptRule(
12031
12044
  encoding: typing.Optional[builtins.str] = None,
12032
12045
  topic_arn: typing.Optional[builtins.str] = None,
12033
12046
  ) -> None:
12034
- '''When included in a receipt rule, this action publishes a notification to Amazon Simple Notification Service (Amazon SNS).
12035
-
12036
- This action includes a complete copy of the email content in the Amazon SNS notifications. Amazon SNS notifications for all other actions simply provide information about the email. They do not include the email content itself.
12037
-
12038
- If you own the Amazon SNS topic, you don't need to do anything to give Amazon SES permission to publish emails to it. However, if you don't own the Amazon SNS topic, you need to attach a policy to the topic to give Amazon SES permissions to access it. For information about giving permissions, see the `Amazon SES Developer Guide <https://docs.aws.amazon.com/ses/latest/dg/receiving-email-permissions.html>`_ .
12039
- .. epigraph::
12047
+ '''The action to publish the email content to an Amazon SNS topic.
12040
12048
 
12041
- You can only publish emails that are 150 KB or less (including the header) to Amazon SNS. Larger emails bounce. If you anticipate emails larger than 150 KB, use the S3 action instead.
12049
+ When executed, this action will send the email as a notification to the specified SNS topic.
12042
12050
 
12043
- For information about using a receipt rule to publish an Amazon SNS notification, see the `Amazon SES Developer Guide <https://docs.aws.amazon.com/ses/latest/dg/receiving-email-action-sns.html>`_ .
12044
-
12045
- :param encoding: The encoding to use for the email within the Amazon SNS notification. UTF-8 is easier to use, but may not preserve all special characters when a message was encoded with a different encoding format. Base64 preserves all special characters. The default value is UTF-8.
12046
- :param topic_arn: The Amazon Resource Name (ARN) of the Amazon SNS topic to notify. You can find the ARN of a topic by using the `ListTopics <https://docs.aws.amazon.com/sns/latest/api/API_ListTopics.html>`_ operation in Amazon SNS. For more information about Amazon SNS topics, see the `Amazon SNS Developer Guide <https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html>`_ .
12051
+ :param encoding: The encoding to use for the email within the Amazon SNS notification. The default value is ``UTF-8`` . Use ``BASE64`` if you need to preserve all special characters, especially when the original message uses a different encoding format.
12052
+ :param topic_arn: The Amazon Resource Name (ARN) of the Amazon SNS Topic to which notification for the email received will be published.
12047
12053
 
12048
12054
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-snsaction.html
12049
12055
  :exampleMetadata: fixture=_generated
@@ -12073,7 +12079,7 @@ class CfnReceiptRule(
12073
12079
  def encoding(self) -> typing.Optional[builtins.str]:
12074
12080
  '''The encoding to use for the email within the Amazon SNS notification.
12075
12081
 
12076
- UTF-8 is easier to use, but may not preserve all special characters when a message was encoded with a different encoding format. Base64 preserves all special characters. The default value is UTF-8.
12082
+ The default value is ``UTF-8`` . Use ``BASE64`` if you need to preserve all special characters, especially when the original message uses a different encoding format.
12077
12083
 
12078
12084
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-snsaction.html#cfn-ses-receiptrule-snsaction-encoding
12079
12085
  '''
@@ -12082,11 +12088,7 @@ class CfnReceiptRule(
12082
12088
 
12083
12089
  @builtins.property
12084
12090
  def topic_arn(self) -> typing.Optional[builtins.str]:
12085
- '''The Amazon Resource Name (ARN) of the Amazon SNS topic to notify.
12086
-
12087
- You can find the ARN of a topic by using the `ListTopics <https://docs.aws.amazon.com/sns/latest/api/API_ListTopics.html>`_ operation in Amazon SNS.
12088
-
12089
- For more information about Amazon SNS topics, see the `Amazon SNS Developer Guide <https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html>`_ .
12091
+ '''The Amazon Resource Name (ARN) of the Amazon SNS Topic to which notification for the email received will be published.
12090
12092
 
12091
12093
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-snsaction.html#cfn-ses-receiptrule-snsaction-topicarn
12092
12094
  '''
@@ -13535,6 +13537,7 @@ class ConfigurationSetEventDestinationProps(ConfigurationSetEventDestinationOpti
13535
13537
  jsii_struct_bases=[],
13536
13538
  name_mapping={
13537
13539
  "configuration_set_name": "configurationSetName",
13540
+ "custom_tracking_https_policy": "customTrackingHttpsPolicy",
13538
13541
  "custom_tracking_redirect_domain": "customTrackingRedirectDomain",
13539
13542
  "dedicated_ip_pool": "dedicatedIpPool",
13540
13543
  "disable_suppression_list": "disableSuppressionList",
@@ -13551,6 +13554,7 @@ class ConfigurationSetProps:
13551
13554
  self,
13552
13555
  *,
13553
13556
  configuration_set_name: typing.Optional[builtins.str] = None,
13557
+ custom_tracking_https_policy: typing.Optional["HttpsPolicy"] = None,
13554
13558
  custom_tracking_redirect_domain: typing.Optional[builtins.str] = None,
13555
13559
  dedicated_ip_pool: typing.Optional["IDedicatedIpPool"] = None,
13556
13560
  disable_suppression_list: typing.Optional[builtins.bool] = None,
@@ -13564,6 +13568,7 @@ class ConfigurationSetProps:
13564
13568
  '''Properties for a configuration set.
13565
13569
 
13566
13570
  :param configuration_set_name: A name for the configuration set. Default: - a CloudFormation generated name
13571
+ :param custom_tracking_https_policy: The https policy to use for tracking open and click events. Default: - HttpsPolicy.OPTIONAL if customTrackingRedirectDomain is set, otherwise undefined
13567
13572
  :param custom_tracking_redirect_domain: The custom subdomain that is used to redirect email recipients to the Amazon SES event tracking domain. Default: - use the default awstrack.me domain
13568
13573
  :param dedicated_ip_pool: The dedicated IP pool to associate with the configuration set. Default: - do not use a dedicated IP pool
13569
13574
  :param disable_suppression_list: If true, account-level suppression list is disabled; email sent with this configuration set will not use any suppression settings at all Default: false
@@ -13578,11 +13583,9 @@ class ConfigurationSetProps:
13578
13583
 
13579
13584
  Example::
13580
13585
 
13581
- ses.ConfigurationSet(self, "ConfigurationSetWithVdmOptions",
13582
- vdm_options=ses.VdmOptions(
13583
- engagement_metrics=True,
13584
- optimized_shared_delivery=True
13585
- )
13586
+ ses.ConfigurationSet(self, "ConfigurationSet",
13587
+ custom_tracking_redirect_domain="track.cdk.dev",
13588
+ custom_tracking_https_policy=ses.HttpsPolicy.REQUIRE
13586
13589
  )
13587
13590
  '''
13588
13591
  if isinstance(vdm_options, dict):
@@ -13590,6 +13593,7 @@ class ConfigurationSetProps:
13590
13593
  if __debug__:
13591
13594
  type_hints = typing.get_type_hints(_typecheckingstub__fb010161f6c1e40b88122d9cb7754dae093e9cbe5bbfc72b19737729a4f4523d)
13592
13595
  check_type(argname="argument configuration_set_name", value=configuration_set_name, expected_type=type_hints["configuration_set_name"])
13596
+ check_type(argname="argument custom_tracking_https_policy", value=custom_tracking_https_policy, expected_type=type_hints["custom_tracking_https_policy"])
13593
13597
  check_type(argname="argument custom_tracking_redirect_domain", value=custom_tracking_redirect_domain, expected_type=type_hints["custom_tracking_redirect_domain"])
13594
13598
  check_type(argname="argument dedicated_ip_pool", value=dedicated_ip_pool, expected_type=type_hints["dedicated_ip_pool"])
13595
13599
  check_type(argname="argument disable_suppression_list", value=disable_suppression_list, expected_type=type_hints["disable_suppression_list"])
@@ -13602,6 +13606,8 @@ class ConfigurationSetProps:
13602
13606
  self._values: typing.Dict[builtins.str, typing.Any] = {}
13603
13607
  if configuration_set_name is not None:
13604
13608
  self._values["configuration_set_name"] = configuration_set_name
13609
+ if custom_tracking_https_policy is not None:
13610
+ self._values["custom_tracking_https_policy"] = custom_tracking_https_policy
13605
13611
  if custom_tracking_redirect_domain is not None:
13606
13612
  self._values["custom_tracking_redirect_domain"] = custom_tracking_redirect_domain
13607
13613
  if dedicated_ip_pool is not None:
@@ -13630,6 +13636,15 @@ class ConfigurationSetProps:
13630
13636
  result = self._values.get("configuration_set_name")
13631
13637
  return typing.cast(typing.Optional[builtins.str], result)
13632
13638
 
13639
+ @builtins.property
13640
+ def custom_tracking_https_policy(self) -> typing.Optional["HttpsPolicy"]:
13641
+ '''The https policy to use for tracking open and click events.
13642
+
13643
+ :default: - HttpsPolicy.OPTIONAL if customTrackingRedirectDomain is set, otherwise undefined
13644
+ '''
13645
+ result = self._values.get("custom_tracking_https_policy")
13646
+ return typing.cast(typing.Optional["HttpsPolicy"], result)
13647
+
13633
13648
  @builtins.property
13634
13649
  def custom_tracking_redirect_domain(self) -> typing.Optional[builtins.str]:
13635
13650
  '''The custom subdomain that is used to redirect email recipients to the Amazon SES event tracking domain.
@@ -13742,7 +13757,6 @@ class ConfigurationSetTlsPolicy(enum.Enum):
13742
13757
 
13743
13758
 
13744
13759
  ses.ConfigurationSet(self, "ConfigurationSet",
13745
- custom_tracking_redirect_domain="track.cdk.dev",
13746
13760
  tls_policy=ses.ConfigurationSetTlsPolicy.REQUIRE,
13747
13761
  dedicated_ip_pool=my_pool,
13748
13762
  # Specify maximum delivery time
@@ -14166,6 +14180,12 @@ class DropSpamReceiptRule(
14166
14180
 
14167
14181
  jsii.create(self.__class__, self, [scope, id, props])
14168
14182
 
14183
+ @jsii.python.classproperty
14184
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
14185
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
14186
+ '''Uniquely identifies this class.'''
14187
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
14188
+
14169
14189
  @builtins.property
14170
14190
  @jsii.member(jsii_name="rule")
14171
14191
  def rule(self) -> "ReceiptRule":
@@ -14638,6 +14658,34 @@ class FirehoseDeliveryStreamDestination:
14638
14658
  )
14639
14659
 
14640
14660
 
14661
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_ses.HttpsPolicy")
14662
+ class HttpsPolicy(enum.Enum):
14663
+ '''HTTPS policy option for the protocol of the open and click tracking links for your custom redirect domain.
14664
+
14665
+ :exampleMetadata: infused
14666
+
14667
+ Example::
14668
+
14669
+ ses.ConfigurationSet(self, "ConfigurationSet",
14670
+ custom_tracking_redirect_domain="track.cdk.dev",
14671
+ custom_tracking_https_policy=ses.HttpsPolicy.REQUIRE
14672
+ )
14673
+ '''
14674
+
14675
+ REQUIRE = "REQUIRE"
14676
+ '''Open and Click tracking links will both be wrapped using HTTPS.'''
14677
+ REQUIRE_OPEN_ONLY = "REQUIRE_OPEN_ONLY"
14678
+ '''Open tracking links will be wrapped using HTTPS.
14679
+
14680
+ Click tracking links will be wrapped using the original protocol of the link.
14681
+ '''
14682
+ OPTIONAL = "OPTIONAL"
14683
+ '''Open tracking links will be wrapped using HTTP.
14684
+
14685
+ Click tracking links will be wrapped using the original protocol of the link.
14686
+ '''
14687
+
14688
+
14641
14689
  @jsii.interface(jsii_type="aws-cdk-lib.aws_ses.IConfigurationSet")
14642
14690
  class IConfigurationSet(_IResource_c80c4260, typing_extensions.Protocol):
14643
14691
  '''A configuration set.'''
@@ -15312,6 +15360,12 @@ class ReceiptFilter(
15312
15360
 
15313
15361
  jsii.create(self.__class__, self, [scope, id, props])
15314
15362
 
15363
+ @jsii.python.classproperty
15364
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
15365
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
15366
+ '''Uniquely identifies this class.'''
15367
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
15368
+
15315
15369
 
15316
15370
  @jsii.enum(jsii_type="aws-cdk-lib.aws_ses.ReceiptFilterPolicy")
15317
15371
  class ReceiptFilterPolicy(enum.Enum):
@@ -15499,6 +15553,12 @@ class ReceiptRule(
15499
15553
  check_type(argname="argument action", value=action, expected_type=type_hints["action"])
15500
15554
  return typing.cast(None, jsii.invoke(self, "addAction", [action]))
15501
15555
 
15556
+ @jsii.python.classproperty
15557
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
15558
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
15559
+ '''Uniquely identifies this class.'''
15560
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
15561
+
15502
15562
  @builtins.property
15503
15563
  @jsii.member(jsii_name="receiptRuleName")
15504
15564
  def receipt_rule_name(self) -> builtins.str:
@@ -16122,6 +16182,12 @@ class ReceiptRuleSet(
16122
16182
 
16123
16183
  return typing.cast(ReceiptRule, jsii.invoke(self, "addRule", [id, options]))
16124
16184
 
16185
+ @jsii.python.classproperty
16186
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
16187
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
16188
+ '''Uniquely identifies this class.'''
16189
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
16190
+
16125
16191
  @builtins.property
16126
16192
  @jsii.member(jsii_name="receiptRuleSetName")
16127
16193
  def receipt_rule_set_name(self) -> builtins.str:
@@ -16615,6 +16681,12 @@ class VdmAttributes(
16615
16681
  check_type(argname="argument vdm_attributes_name", value=vdm_attributes_name, expected_type=type_hints["vdm_attributes_name"])
16616
16682
  return typing.cast(IVdmAttributes, jsii.sinvoke(cls, "fromVdmAttributesName", [scope, id, vdm_attributes_name]))
16617
16683
 
16684
+ @jsii.python.classproperty
16685
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
16686
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
16687
+ '''Uniquely identifies this class.'''
16688
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
16689
+
16618
16690
  @builtins.property
16619
16691
  @jsii.member(jsii_name="vdmAttributesName")
16620
16692
  def vdm_attributes_name(self) -> builtins.str:
@@ -16862,11 +16934,9 @@ class ConfigurationSet(
16862
16934
 
16863
16935
  Example::
16864
16936
 
16865
- ses.ConfigurationSet(self, "ConfigurationSetWithVdmOptions",
16866
- vdm_options=ses.VdmOptions(
16867
- engagement_metrics=True,
16868
- optimized_shared_delivery=True
16869
- )
16937
+ ses.ConfigurationSet(self, "ConfigurationSet",
16938
+ custom_tracking_redirect_domain="track.cdk.dev",
16939
+ custom_tracking_https_policy=ses.HttpsPolicy.REQUIRE
16870
16940
  )
16871
16941
  '''
16872
16942
 
@@ -16876,6 +16946,7 @@ class ConfigurationSet(
16876
16946
  id: builtins.str,
16877
16947
  *,
16878
16948
  configuration_set_name: typing.Optional[builtins.str] = None,
16949
+ custom_tracking_https_policy: typing.Optional[HttpsPolicy] = None,
16879
16950
  custom_tracking_redirect_domain: typing.Optional[builtins.str] = None,
16880
16951
  dedicated_ip_pool: typing.Optional[IDedicatedIpPool] = None,
16881
16952
  disable_suppression_list: typing.Optional[builtins.bool] = None,
@@ -16890,6 +16961,7 @@ class ConfigurationSet(
16890
16961
  :param scope: -
16891
16962
  :param id: -
16892
16963
  :param configuration_set_name: A name for the configuration set. Default: - a CloudFormation generated name
16964
+ :param custom_tracking_https_policy: The https policy to use for tracking open and click events. Default: - HttpsPolicy.OPTIONAL if customTrackingRedirectDomain is set, otherwise undefined
16893
16965
  :param custom_tracking_redirect_domain: The custom subdomain that is used to redirect email recipients to the Amazon SES event tracking domain. Default: - use the default awstrack.me domain
16894
16966
  :param dedicated_ip_pool: The dedicated IP pool to associate with the configuration set. Default: - do not use a dedicated IP pool
16895
16967
  :param disable_suppression_list: If true, account-level suppression list is disabled; email sent with this configuration set will not use any suppression settings at all Default: false
@@ -16906,6 +16978,7 @@ class ConfigurationSet(
16906
16978
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
16907
16979
  props = ConfigurationSetProps(
16908
16980
  configuration_set_name=configuration_set_name,
16981
+ custom_tracking_https_policy=custom_tracking_https_policy,
16909
16982
  custom_tracking_redirect_domain=custom_tracking_redirect_domain,
16910
16983
  dedicated_ip_pool=dedicated_ip_pool,
16911
16984
  disable_suppression_list=disable_suppression_list,
@@ -16970,6 +17043,12 @@ class ConfigurationSet(
16970
17043
 
16971
17044
  return typing.cast("ConfigurationSetEventDestination", jsii.invoke(self, "addEventDestination", [id, options]))
16972
17045
 
17046
+ @jsii.python.classproperty
17047
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
17048
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
17049
+ '''Uniquely identifies this class.'''
17050
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
17051
+
16973
17052
  @builtins.property
16974
17053
  @jsii.member(jsii_name="configurationSetName")
16975
17054
  def configuration_set_name(self) -> builtins.str:
@@ -17062,6 +17141,12 @@ class ConfigurationSetEventDestination(
17062
17141
  check_type(argname="argument configuration_set_event_destination_id", value=configuration_set_event_destination_id, expected_type=type_hints["configuration_set_event_destination_id"])
17063
17142
  return typing.cast(IConfigurationSetEventDestination, jsii.sinvoke(cls, "fromConfigurationSetEventDestinationId", [scope, id, configuration_set_event_destination_id]))
17064
17143
 
17144
+ @jsii.python.classproperty
17145
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
17146
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
17147
+ '''Uniquely identifies this class.'''
17148
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
17149
+
17065
17150
  @builtins.property
17066
17151
  @jsii.member(jsii_name="configurationSetEventDestinationId")
17067
17152
  def configuration_set_event_destination_id(self) -> builtins.str:
@@ -17132,6 +17217,12 @@ class DedicatedIpPool(
17132
17217
  check_type(argname="argument dedicated_ip_pool_name", value=dedicated_ip_pool_name, expected_type=type_hints["dedicated_ip_pool_name"])
17133
17218
  return typing.cast(IDedicatedIpPool, jsii.sinvoke(cls, "fromDedicatedIpPoolName", [scope, id, dedicated_ip_pool_name]))
17134
17219
 
17220
+ @jsii.python.classproperty
17221
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
17222
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
17223
+ '''Uniquely identifies this class.'''
17224
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
17225
+
17135
17226
  @builtins.property
17136
17227
  @jsii.member(jsii_name="dedicatedIpPoolName")
17137
17228
  def dedicated_ip_pool_name(self) -> builtins.str:
@@ -17446,6 +17537,12 @@ class EmailIdentity(
17446
17537
  check_type(argname="argument grantee", value=grantee, expected_type=type_hints["grantee"])
17447
17538
  return typing.cast(_Grant_a7ae64f8, jsii.invoke(self, "grantSendEmail", [grantee]))
17448
17539
 
17540
+ @jsii.python.classproperty
17541
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
17542
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
17543
+ '''Uniquely identifies this class.'''
17544
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
17545
+
17449
17546
  @builtins.property
17450
17547
  @jsii.member(jsii_name="dkimDnsTokenName1")
17451
17548
  def dkim_dns_token_name1(self) -> builtins.str:
@@ -17580,6 +17677,7 @@ __all__ = [
17580
17677
  "EmailSendingEvent",
17581
17678
  "EventDestination",
17582
17679
  "FirehoseDeliveryStreamDestination",
17680
+ "HttpsPolicy",
17583
17681
  "IConfigurationSet",
17584
17682
  "IConfigurationSetEventDestination",
17585
17683
  "IDedicatedIpPool",
@@ -19251,6 +19349,7 @@ def _typecheckingstub__dd3ac4f1af1f2fe9c11fa8894b2eae0f4b13c464b826cffda8b6937f4
19251
19349
  def _typecheckingstub__fb010161f6c1e40b88122d9cb7754dae093e9cbe5bbfc72b19737729a4f4523d(
19252
19350
  *,
19253
19351
  configuration_set_name: typing.Optional[builtins.str] = None,
19352
+ custom_tracking_https_policy: typing.Optional[HttpsPolicy] = None,
19254
19353
  custom_tracking_redirect_domain: typing.Optional[builtins.str] = None,
19255
19354
  dedicated_ip_pool: typing.Optional[IDedicatedIpPool] = None,
19256
19355
  disable_suppression_list: typing.Optional[builtins.bool] = None,
@@ -19622,6 +19721,7 @@ def _typecheckingstub__52b42851a408d3eb2b07399f2b34603200cef443be5e9f913f4a1d80a
19622
19721
  id: builtins.str,
19623
19722
  *,
19624
19723
  configuration_set_name: typing.Optional[builtins.str] = None,
19724
+ custom_tracking_https_policy: typing.Optional[HttpsPolicy] = None,
19625
19725
  custom_tracking_redirect_domain: typing.Optional[builtins.str] = None,
19626
19726
  dedicated_ip_pool: typing.Optional[IDedicatedIpPool] = None,
19627
19727
  disable_suppression_list: typing.Optional[builtins.bool] = None,
@@ -1023,6 +1023,12 @@ class SigningProfile(
1023
1023
 
1024
1024
  return typing.cast(ISigningProfile, jsii.sinvoke(cls, "fromSigningProfileAttributes", [scope, id, attrs]))
1025
1025
 
1026
+ @jsii.python.classproperty
1027
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
1028
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
1029
+ '''Uniquely identifies this class.'''
1030
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
1031
+
1026
1032
  @builtins.property
1027
1033
  @jsii.member(jsii_name="signingProfileArn")
1028
1034
  def signing_profile_arn(self) -> builtins.str:
@@ -4397,6 +4397,12 @@ class Subscription(
4397
4397
 
4398
4398
  jsii.create(self.__class__, self, [scope, id, props])
4399
4399
 
4400
+ @jsii.python.classproperty
4401
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
4402
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
4403
+ '''Uniquely identifies this class.'''
4404
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
4405
+
4400
4406
  @builtins.property
4401
4407
  @jsii.member(jsii_name="deadLetterQueue")
4402
4408
  def dead_letter_queue(self) -> typing.Optional[_IQueue_7ed6f679]:
@@ -5947,6 +5953,12 @@ class TopicPolicy(
5947
5953
  check_type(argname="argument topic_arn", value=topic_arn, expected_type=type_hints["topic_arn"])
5948
5954
  return typing.cast(_PolicyStatement_0fe33853, jsii.invoke(self, "createSSLPolicyDocument", [topic_arn]))
5949
5955
 
5956
+ @jsii.python.classproperty
5957
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
5958
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
5959
+ '''Uniquely identifies this class.'''
5960
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
5961
+
5950
5962
  @builtins.property
5951
5963
  @jsii.member(jsii_name="document")
5952
5964
  def document(self) -> _PolicyDocument_3ac34393:
@@ -6781,6 +6793,12 @@ class Topic(TopicBase, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_sns.T
6781
6793
 
6782
6794
  return typing.cast(None, jsii.invoke(self, "addLoggingConfig", [config]))
6783
6795
 
6796
+ @jsii.python.classproperty
6797
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
6798
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
6799
+ '''Uniquely identifies this class.'''
6800
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
6801
+
6784
6802
  @builtins.property
6785
6803
  @jsii.member(jsii_name="autoCreatePolicy")
6786
6804
  def _auto_create_policy(self) -> builtins.bool:
@@ -598,6 +598,12 @@ class UrlSubscription(
598
598
  check_type(argname="argument _topic", value=_topic, expected_type=type_hints["_topic"])
599
599
  return typing.cast(_TopicSubscriptionConfig_3a01016e, jsii.invoke(self, "bind", [_topic]))
600
600
 
601
+ @jsii.python.classproperty
602
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
603
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
604
+ '''Uniquely identifies this class.'''
605
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
606
+
601
607
 
602
608
  @jsii.data_type(
603
609
  jsii_type="aws-cdk-lib.aws_sns_subscriptions.UrlSubscriptionProps",
@@ -3427,6 +3427,12 @@ class QueuePolicy(
3427
3427
 
3428
3428
  jsii.create(self.__class__, self, [scope, id, props])
3429
3429
 
3430
+ @jsii.python.classproperty
3431
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
3432
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
3433
+ '''Uniquely identifies this class.'''
3434
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
3435
+
3430
3436
  @builtins.property
3431
3437
  @jsii.member(jsii_name="document")
3432
3438
  def document(self) -> _PolicyDocument_3ac34393:
@@ -4135,6 +4141,12 @@ class Queue(QueueBase, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_sqs.Q
4135
4141
 
4136
4142
  return typing.cast(IQueue, jsii.sinvoke(cls, "fromQueueAttributes", [scope, id, attrs]))
4137
4143
 
4144
+ @jsii.python.classproperty
4145
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
4146
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
4147
+ '''Uniquely identifies this class.'''
4148
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
4149
+
4138
4150
  @builtins.property
4139
4151
  @jsii.member(jsii_name="autoCreatePolicy")
4140
4152
  def _auto_create_policy(self) -> builtins.bool: