aws-cdk-lib 2.171.1__py3-none-any.whl → 2.173.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 (78) hide show
  1. aws_cdk/__init__.py +528 -161
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.171.1.jsii.tgz → aws-cdk-lib@2.173.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +40 -40
  5. aws_cdk/aws_apigateway/__init__.py +1357 -120
  6. aws_cdk/aws_applicationautoscaling/__init__.py +141 -66
  7. aws_cdk/aws_appsync/__init__.py +163 -139
  8. aws_cdk/aws_autoscaling/__init__.py +96 -30
  9. aws_cdk/aws_bedrock/__init__.py +80 -44
  10. aws_cdk/aws_chatbot/__init__.py +803 -2
  11. aws_cdk/aws_cleanrooms/__init__.py +4 -6
  12. aws_cdk/aws_cloudformation/__init__.py +240 -159
  13. aws_cdk/aws_cloudfront/__init__.py +15 -7
  14. aws_cdk/aws_cloudtrail/__init__.py +802 -13
  15. aws_cdk/aws_cloudwatch/__init__.py +51 -14
  16. aws_cdk/aws_codebuild/__init__.py +39 -0
  17. aws_cdk/aws_codepipeline/__init__.py +4 -4
  18. aws_cdk/aws_cognito/__init__.py +1032 -43
  19. aws_cdk/aws_config/__init__.py +13 -10
  20. aws_cdk/aws_connect/__init__.py +454 -23
  21. aws_cdk/aws_connectcampaignsv2/__init__.py +187 -176
  22. aws_cdk/aws_customerprofiles/__init__.py +3148 -0
  23. aws_cdk/aws_docdb/__init__.py +128 -0
  24. aws_cdk/aws_dynamodb/__init__.py +256 -0
  25. aws_cdk/aws_ec2/__init__.py +976 -27
  26. aws_cdk/aws_ecs/__init__.py +37 -20
  27. aws_cdk/aws_eks/__init__.py +771 -0
  28. aws_cdk/aws_elasticache/__init__.py +22 -22
  29. aws_cdk/aws_elasticloadbalancingv2/__init__.py +441 -177
  30. aws_cdk/aws_events/__init__.py +550 -30
  31. aws_cdk/aws_fsx/__init__.py +134 -10
  32. aws_cdk/aws_imagebuilder/__init__.py +8 -8
  33. aws_cdk/aws_invoicing/__init__.py +651 -0
  34. aws_cdk/aws_iot/__init__.py +70 -26
  35. aws_cdk/aws_iotfleetwise/__init__.py +1033 -382
  36. aws_cdk/aws_iotsitewise/__init__.py +158 -0
  37. aws_cdk/aws_ivs/__init__.py +43 -31
  38. aws_cdk/aws_kendra/__init__.py +4 -0
  39. aws_cdk/aws_lakeformation/__init__.py +2 -1
  40. aws_cdk/aws_lambda/__init__.py +272 -164
  41. aws_cdk/aws_lambda_event_sources/__init__.py +2 -1
  42. aws_cdk/aws_lambda_nodejs/__init__.py +11 -11
  43. aws_cdk/aws_logs/__init__.py +532 -0
  44. aws_cdk/aws_m2/__init__.py +289 -0
  45. aws_cdk/aws_mediaconnect/__init__.py +24 -14
  46. aws_cdk/aws_medialive/__init__.py +2359 -5
  47. aws_cdk/aws_mediapackage/__init__.py +3 -9
  48. aws_cdk/aws_mediapackagev2/__init__.py +19 -17
  49. aws_cdk/aws_memorydb/__init__.py +664 -4
  50. aws_cdk/aws_mwaa/__init__.py +6 -6
  51. aws_cdk/aws_opensearchserverless/__init__.py +249 -1
  52. aws_cdk/aws_pipes/__init__.py +14 -30
  53. aws_cdk/aws_qbusiness/__init__.py +2021 -67
  54. aws_cdk/aws_quicksight/__init__.py +8270 -10
  55. aws_cdk/aws_rbin/__init__.py +53 -34
  56. aws_cdk/aws_rds/__init__.py +170 -8
  57. aws_cdk/aws_resourcegroups/__init__.py +362 -4
  58. aws_cdk/aws_route53/__init__.py +1177 -10
  59. aws_cdk/aws_route53_targets/__init__.py +297 -91
  60. aws_cdk/aws_route53resolver/__init__.py +19 -8
  61. aws_cdk/aws_s3/__init__.py +4 -4
  62. aws_cdk/aws_s3express/__init__.py +421 -9
  63. aws_cdk/aws_sagemaker/__init__.py +905 -119
  64. aws_cdk/aws_secretsmanager/__init__.py +20 -6
  65. aws_cdk/aws_securityhub/__init__.py +64 -32
  66. aws_cdk/aws_servicediscovery/__init__.py +43 -0
  67. aws_cdk/aws_ses/__init__.py +188 -41
  68. aws_cdk/aws_stepfunctions_tasks/__init__.py +190 -35
  69. aws_cdk/aws_synthetics/__init__.py +7 -5
  70. aws_cdk/aws_vpclattice/__init__.py +1479 -122
  71. aws_cdk/aws_wisdom/__init__.py +8509 -1502
  72. aws_cdk/aws_workspacesweb/__init__.py +1081 -0
  73. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/METADATA +1 -1
  74. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/RECORD +78 -77
  75. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/LICENSE +0 -0
  76. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/NOTICE +0 -0
  77. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/WHEEL +0 -0
  78. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/top_level.txt +0 -0
@@ -2067,6 +2067,8 @@ class CfnService(
2067
2067
  # The values are placeholders you should change.
2068
2068
  from aws_cdk import aws_servicediscovery as servicediscovery
2069
2069
 
2070
+ # service_attributes: Any
2071
+
2070
2072
  cfn_service = servicediscovery.CfnService(self, "MyCfnService",
2071
2073
  description="description",
2072
2074
  dns_config=servicediscovery.CfnService.DnsConfigProperty(
@@ -2091,6 +2093,7 @@ class CfnService(
2091
2093
  ),
2092
2094
  name="name",
2093
2095
  namespace_id="namespaceId",
2096
+ service_attributes=service_attributes,
2094
2097
  tags=[CfnTag(
2095
2098
  key="key",
2096
2099
  value="value"
@@ -2110,6 +2113,7 @@ class CfnService(
2110
2113
  health_check_custom_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnService.HealthCheckCustomConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2111
2114
  name: typing.Optional[builtins.str] = None,
2112
2115
  namespace_id: typing.Optional[builtins.str] = None,
2116
+ service_attributes: typing.Any = None,
2113
2117
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2114
2118
  type: typing.Optional[builtins.str] = None,
2115
2119
  ) -> None:
@@ -2122,6 +2126,7 @@ class CfnService(
2122
2126
  :param health_check_custom_config: A complex type that contains information about an optional custom health check. .. epigraph:: If you specify a health check configuration, you can specify either ``HealthCheckCustomConfig`` or ``HealthCheckConfig`` but not both.
2123
2127
  :param name: The name of the service.
2124
2128
  :param namespace_id: The ID of the namespace that was used to create the service. .. epigraph:: You must specify a value for ``NamespaceId`` either for the service properties or for `DnsConfig <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-dnsconfig.html>`_ . Don't specify a value in both places.
2129
+ :param service_attributes:
2125
2130
  :param tags: The tags for the service. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.
2126
2131
  :param type: If present, specifies that the service instances are only discoverable using the ``DiscoverInstances`` API operation. No DNS records is registered for the service instances. The only valid value is ``HTTP`` .
2127
2132
  '''
@@ -2136,6 +2141,7 @@ class CfnService(
2136
2141
  health_check_custom_config=health_check_custom_config,
2137
2142
  name=name,
2138
2143
  namespace_id=namespace_id,
2144
+ service_attributes=service_attributes,
2139
2145
  tags=tags,
2140
2146
  type=type,
2141
2147
  )
@@ -2303,6 +2309,18 @@ class CfnService(
2303
2309
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2304
2310
  jsii.set(self, "namespaceId", value) # pyright: ignore[reportArgumentType]
2305
2311
 
2312
+ @builtins.property
2313
+ @jsii.member(jsii_name="serviceAttributes")
2314
+ def service_attributes(self) -> typing.Any:
2315
+ return typing.cast(typing.Any, jsii.get(self, "serviceAttributes"))
2316
+
2317
+ @service_attributes.setter
2318
+ def service_attributes(self, value: typing.Any) -> None:
2319
+ if __debug__:
2320
+ type_hints = typing.get_type_hints(_typecheckingstub__beed9ddfb5044557f1d91d44e5b2c14ae013234eaf80e61e0ced35d0ff47f80a)
2321
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2322
+ jsii.set(self, "serviceAttributes", value) # pyright: ignore[reportArgumentType]
2323
+
2306
2324
  @builtins.property
2307
2325
  @jsii.member(jsii_name="tagsRaw")
2308
2326
  def tags_raw(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
@@ -2799,6 +2817,7 @@ class CfnService(
2799
2817
  "health_check_custom_config": "healthCheckCustomConfig",
2800
2818
  "name": "name",
2801
2819
  "namespace_id": "namespaceId",
2820
+ "service_attributes": "serviceAttributes",
2802
2821
  "tags": "tags",
2803
2822
  "type": "type",
2804
2823
  },
@@ -2813,6 +2832,7 @@ class CfnServiceProps:
2813
2832
  health_check_custom_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnService.HealthCheckCustomConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2814
2833
  name: typing.Optional[builtins.str] = None,
2815
2834
  namespace_id: typing.Optional[builtins.str] = None,
2835
+ service_attributes: typing.Any = None,
2816
2836
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2817
2837
  type: typing.Optional[builtins.str] = None,
2818
2838
  ) -> None:
@@ -2824,6 +2844,7 @@ class CfnServiceProps:
2824
2844
  :param health_check_custom_config: A complex type that contains information about an optional custom health check. .. epigraph:: If you specify a health check configuration, you can specify either ``HealthCheckCustomConfig`` or ``HealthCheckConfig`` but not both.
2825
2845
  :param name: The name of the service.
2826
2846
  :param namespace_id: The ID of the namespace that was used to create the service. .. epigraph:: You must specify a value for ``NamespaceId`` either for the service properties or for `DnsConfig <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-dnsconfig.html>`_ . Don't specify a value in both places.
2847
+ :param service_attributes:
2827
2848
  :param tags: The tags for the service. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.
2828
2849
  :param type: If present, specifies that the service instances are only discoverable using the ``DiscoverInstances`` API operation. No DNS records is registered for the service instances. The only valid value is ``HTTP`` .
2829
2850
 
@@ -2836,6 +2857,8 @@ class CfnServiceProps:
2836
2857
  # The values are placeholders you should change.
2837
2858
  from aws_cdk import aws_servicediscovery as servicediscovery
2838
2859
 
2860
+ # service_attributes: Any
2861
+
2839
2862
  cfn_service_props = servicediscovery.CfnServiceProps(
2840
2863
  description="description",
2841
2864
  dns_config=servicediscovery.CfnService.DnsConfigProperty(
@@ -2860,6 +2883,7 @@ class CfnServiceProps:
2860
2883
  ),
2861
2884
  name="name",
2862
2885
  namespace_id="namespaceId",
2886
+ service_attributes=service_attributes,
2863
2887
  tags=[CfnTag(
2864
2888
  key="key",
2865
2889
  value="value"
@@ -2875,6 +2899,7 @@ class CfnServiceProps:
2875
2899
  check_type(argname="argument health_check_custom_config", value=health_check_custom_config, expected_type=type_hints["health_check_custom_config"])
2876
2900
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
2877
2901
  check_type(argname="argument namespace_id", value=namespace_id, expected_type=type_hints["namespace_id"])
2902
+ check_type(argname="argument service_attributes", value=service_attributes, expected_type=type_hints["service_attributes"])
2878
2903
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
2879
2904
  check_type(argname="argument type", value=type, expected_type=type_hints["type"])
2880
2905
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -2890,6 +2915,8 @@ class CfnServiceProps:
2890
2915
  self._values["name"] = name
2891
2916
  if namespace_id is not None:
2892
2917
  self._values["namespace_id"] = namespace_id
2918
+ if service_attributes is not None:
2919
+ self._values["service_attributes"] = service_attributes
2893
2920
  if tags is not None:
2894
2921
  self._values["tags"] = tags
2895
2922
  if type is not None:
@@ -2969,6 +2996,14 @@ class CfnServiceProps:
2969
2996
  result = self._values.get("namespace_id")
2970
2997
  return typing.cast(typing.Optional[builtins.str], result)
2971
2998
 
2999
+ @builtins.property
3000
+ def service_attributes(self) -> typing.Any:
3001
+ '''
3002
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html#cfn-servicediscovery-service-serviceattributes
3003
+ '''
3004
+ result = self._values.get("service_attributes")
3005
+ return typing.cast(typing.Any, result)
3006
+
2972
3007
  @builtins.property
2973
3008
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
2974
3009
  '''The tags for the service.
@@ -7108,6 +7143,7 @@ def _typecheckingstub__fe683ec1ba955070fa4b5c6770ac570af81044f6f1cfff34bc3ffffe7
7108
7143
  health_check_custom_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnService.HealthCheckCustomConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7109
7144
  name: typing.Optional[builtins.str] = None,
7110
7145
  namespace_id: typing.Optional[builtins.str] = None,
7146
+ service_attributes: typing.Any = None,
7111
7147
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
7112
7148
  type: typing.Optional[builtins.str] = None,
7113
7149
  ) -> None:
@@ -7162,6 +7198,12 @@ def _typecheckingstub__145cf7d4d3570fc466251439b01ef2a07289bc8087a24ccb542c1442a
7162
7198
  """Type checking stubs"""
7163
7199
  pass
7164
7200
 
7201
+ def _typecheckingstub__beed9ddfb5044557f1d91d44e5b2c14ae013234eaf80e61e0ced35d0ff47f80a(
7202
+ value: typing.Any,
7203
+ ) -> None:
7204
+ """Type checking stubs"""
7205
+ pass
7206
+
7165
7207
  def _typecheckingstub__44063f4c2439ed7f79fdc71914b9bcc3ba82e93c107b7159f1091fc833023332(
7166
7208
  value: typing.Optional[typing.List[_CfnTag_f6864754]],
7167
7209
  ) -> None:
@@ -7215,6 +7257,7 @@ def _typecheckingstub__3ec48be70fb5c297bd47df7ae78eae4351af2efb1a2ce3043051542b9
7215
7257
  health_check_custom_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnService.HealthCheckCustomConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7216
7258
  name: typing.Optional[builtins.str] = None,
7217
7259
  namespace_id: typing.Optional[builtins.str] = None,
7260
+ service_attributes: typing.Any = None,
7218
7261
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
7219
7262
  type: typing.Optional[builtins.str] = None,
7220
7263
  ) -> None:
@@ -138,7 +138,6 @@ from aws_cdk import Duration
138
138
 
139
139
  ses.ConfigurationSet(self, "ConfigurationSet",
140
140
  custom_tracking_redirect_domain="track.cdk.dev",
141
- suppression_reasons=ses.SuppressionReasons.COMPLAINTS_ONLY,
142
141
  tls_policy=ses.ConfigurationSetTlsPolicy.REQUIRE,
143
142
  dedicated_ip_pool=my_pool,
144
143
  # Specify maximum delivery time
@@ -160,6 +159,42 @@ my_configuration_set.add_event_destination("ToSns",
160
159
  )
161
160
  ```
162
161
 
162
+ ### Override account-level suppression list settings
163
+
164
+ You can customize account-level suppression list separately for different configuration sets by overriding it
165
+ with configuration set-level suppression.
166
+
167
+ For details, see [Using configuration set-level suppression to override your account-level suppression list](https://docs.aws.amazon.com/ses/latest/dg/sending-email-suppression-list-config-level.html).
168
+
169
+ By default, the configuration set uses your account-level suppression list settings.
170
+
171
+ You can disable account-level suppression list by specifying `disableSuppressionList` to true. Email sent with this configuration set will not use any suppression settings at all.
172
+
173
+ ```python
174
+ ses.ConfigurationSet(self, "ConfigurationSet",
175
+ disable_suppression_list=True
176
+ )
177
+ ```
178
+
179
+ You can also override account level settings with configuration set-level suppression enabled. Email sent with this configuration set will only use the suppression conditions you enabled for it (bounces, complaints, or bounces and complaints) - regardless of what your account-level suppression list settings are, it will override them.
180
+
181
+ ```python
182
+ # Only bounces will be suppressed.
183
+ ses.ConfigurationSet(self, "ConfigurationSet",
184
+ suppression_reasons=ses.SuppressionReasons.BOUNCES_ONLY
185
+ )
186
+
187
+ # Only complaints will be suppressed.
188
+ ses.ConfigurationSet(self, "ConfigurationSet",
189
+ suppression_reasons=ses.SuppressionReasons.COMPLAINTS_ONLY
190
+ )
191
+
192
+ # Both bounces and complaints will be suppressed.
193
+ ses.ConfigurationSet(self, "ConfigurationSet",
194
+ suppression_reasons=ses.SuppressionReasons.BOUNCES_AND_COMPLAINTS
195
+ )
196
+ ```
197
+
163
198
  ### Email identity
164
199
 
165
200
  In Amazon SES, a verified identity is a domain or email address that you use to send or receive email. Before you
@@ -10008,6 +10043,10 @@ class CfnReceiptRule(
10008
10043
  status_code="statusCode",
10009
10044
  topic_arn="topicArn"
10010
10045
  ),
10046
+ connect_action=ses.CfnReceiptRule.ConnectActionProperty(
10047
+ iam_role_arn="iamRoleArn",
10048
+ instance_arn="instanceArn"
10049
+ ),
10011
10050
  lambda_action=ses.CfnReceiptRule.LambdaActionProperty(
10012
10051
  function_arn="functionArn",
10013
10052
 
@@ -10173,6 +10212,7 @@ class CfnReceiptRule(
10173
10212
  name_mapping={
10174
10213
  "add_header_action": "addHeaderAction",
10175
10214
  "bounce_action": "bounceAction",
10215
+ "connect_action": "connectAction",
10176
10216
  "lambda_action": "lambdaAction",
10177
10217
  "s3_action": "s3Action",
10178
10218
  "sns_action": "snsAction",
@@ -10186,6 +10226,7 @@ class CfnReceiptRule(
10186
10226
  *,
10187
10227
  add_header_action: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnReceiptRule.AddHeaderActionProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
10188
10228
  bounce_action: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnReceiptRule.BounceActionProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
10229
+ connect_action: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnReceiptRule.ConnectActionProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
10189
10230
  lambda_action: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnReceiptRule.LambdaActionProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
10190
10231
  s3_action: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnReceiptRule.S3ActionProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
10191
10232
  sns_action: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnReceiptRule.SNSActionProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -10200,6 +10241,7 @@ class CfnReceiptRule(
10200
10241
 
10201
10242
  :param add_header_action: Adds a header to the received email.
10202
10243
  :param bounce_action: Rejects the received email by returning a bounce response to the sender and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).
10244
+ :param connect_action:
10203
10245
  :param lambda_action: Calls an AWS Lambda function, and optionally, publishes a notification to Amazon SNS.
10204
10246
  :param s3_action: Saves the received message to an Amazon Simple Storage Service (Amazon S3) bucket and, optionally, publishes a notification to Amazon SNS.
10205
10247
  :param sns_action: Publishes the email content within a notification to Amazon SNS.
@@ -10229,6 +10271,10 @@ class CfnReceiptRule(
10229
10271
  status_code="statusCode",
10230
10272
  topic_arn="topicArn"
10231
10273
  ),
10274
+ connect_action=ses.CfnReceiptRule.ConnectActionProperty(
10275
+ iam_role_arn="iamRoleArn",
10276
+ instance_arn="instanceArn"
10277
+ ),
10232
10278
  lambda_action=ses.CfnReceiptRule.LambdaActionProperty(
10233
10279
  function_arn="functionArn",
10234
10280
 
@@ -10267,6 +10313,7 @@ class CfnReceiptRule(
10267
10313
  type_hints = typing.get_type_hints(_typecheckingstub__2e23836e118e42c034b0eb896988a7fe715dbbacb7c1a69f5eabb3a0a74e54f3)
10268
10314
  check_type(argname="argument add_header_action", value=add_header_action, expected_type=type_hints["add_header_action"])
10269
10315
  check_type(argname="argument bounce_action", value=bounce_action, expected_type=type_hints["bounce_action"])
10316
+ check_type(argname="argument connect_action", value=connect_action, expected_type=type_hints["connect_action"])
10270
10317
  check_type(argname="argument lambda_action", value=lambda_action, expected_type=type_hints["lambda_action"])
10271
10318
  check_type(argname="argument s3_action", value=s3_action, expected_type=type_hints["s3_action"])
10272
10319
  check_type(argname="argument sns_action", value=sns_action, expected_type=type_hints["sns_action"])
@@ -10277,6 +10324,8 @@ class CfnReceiptRule(
10277
10324
  self._values["add_header_action"] = add_header_action
10278
10325
  if bounce_action is not None:
10279
10326
  self._values["bounce_action"] = bounce_action
10327
+ if connect_action is not None:
10328
+ self._values["connect_action"] = connect_action
10280
10329
  if lambda_action is not None:
10281
10330
  self._values["lambda_action"] = lambda_action
10282
10331
  if s3_action is not None:
@@ -10310,6 +10359,16 @@ class CfnReceiptRule(
10310
10359
  result = self._values.get("bounce_action")
10311
10360
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnReceiptRule.BounceActionProperty"]], result)
10312
10361
 
10362
+ @builtins.property
10363
+ def connect_action(
10364
+ self,
10365
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnReceiptRule.ConnectActionProperty"]]:
10366
+ '''
10367
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-action.html#cfn-ses-receiptrule-action-connectaction
10368
+ '''
10369
+ result = self._values.get("connect_action")
10370
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnReceiptRule.ConnectActionProperty"]], result)
10371
+
10313
10372
  @builtins.property
10314
10373
  def lambda_action(
10315
10374
  self,
@@ -10585,6 +10644,74 @@ class CfnReceiptRule(
10585
10644
  k + "=" + repr(v) for k, v in self._values.items()
10586
10645
  )
10587
10646
 
10647
+ @jsii.data_type(
10648
+ jsii_type="aws-cdk-lib.aws_ses.CfnReceiptRule.ConnectActionProperty",
10649
+ jsii_struct_bases=[],
10650
+ name_mapping={"iam_role_arn": "iamRoleArn", "instance_arn": "instanceArn"},
10651
+ )
10652
+ class ConnectActionProperty:
10653
+ def __init__(
10654
+ self,
10655
+ *,
10656
+ iam_role_arn: builtins.str,
10657
+ instance_arn: builtins.str,
10658
+ ) -> None:
10659
+ '''
10660
+ :param iam_role_arn:
10661
+ :param instance_arn:
10662
+
10663
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-connectaction.html
10664
+ :exampleMetadata: fixture=_generated
10665
+
10666
+ Example::
10667
+
10668
+ # The code below shows an example of how to instantiate this type.
10669
+ # The values are placeholders you should change.
10670
+ from aws_cdk import aws_ses as ses
10671
+
10672
+ connect_action_property = ses.CfnReceiptRule.ConnectActionProperty(
10673
+ iam_role_arn="iamRoleArn",
10674
+ instance_arn="instanceArn"
10675
+ )
10676
+ '''
10677
+ if __debug__:
10678
+ type_hints = typing.get_type_hints(_typecheckingstub__136f3d4eccd9049aa185c9b501554d1dd93f3381bbb67d185fa1b2e84aee15c0)
10679
+ check_type(argname="argument iam_role_arn", value=iam_role_arn, expected_type=type_hints["iam_role_arn"])
10680
+ check_type(argname="argument instance_arn", value=instance_arn, expected_type=type_hints["instance_arn"])
10681
+ self._values: typing.Dict[builtins.str, typing.Any] = {
10682
+ "iam_role_arn": iam_role_arn,
10683
+ "instance_arn": instance_arn,
10684
+ }
10685
+
10686
+ @builtins.property
10687
+ def iam_role_arn(self) -> builtins.str:
10688
+ '''
10689
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-connectaction.html#cfn-ses-receiptrule-connectaction-iamrolearn
10690
+ '''
10691
+ result = self._values.get("iam_role_arn")
10692
+ assert result is not None, "Required property 'iam_role_arn' is missing"
10693
+ return typing.cast(builtins.str, result)
10694
+
10695
+ @builtins.property
10696
+ def instance_arn(self) -> builtins.str:
10697
+ '''
10698
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-connectaction.html#cfn-ses-receiptrule-connectaction-instancearn
10699
+ '''
10700
+ result = self._values.get("instance_arn")
10701
+ assert result is not None, "Required property 'instance_arn' is missing"
10702
+ return typing.cast(builtins.str, result)
10703
+
10704
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
10705
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
10706
+
10707
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
10708
+ return not (rhs == self)
10709
+
10710
+ def __repr__(self) -> str:
10711
+ return "ConnectActionProperty(%s)" % ", ".join(
10712
+ k + "=" + repr(v) for k, v in self._values.items()
10713
+ )
10714
+
10588
10715
  @jsii.data_type(
10589
10716
  jsii_type="aws-cdk-lib.aws_ses.CfnReceiptRule.LambdaActionProperty",
10590
10717
  jsii_struct_bases=[],
@@ -10752,6 +10879,10 @@ class CfnReceiptRule(
10752
10879
  status_code="statusCode",
10753
10880
  topic_arn="topicArn"
10754
10881
  ),
10882
+ connect_action=ses.CfnReceiptRule.ConnectActionProperty(
10883
+ iam_role_arn="iamRoleArn",
10884
+ instance_arn="instanceArn"
10885
+ ),
10755
10886
  lambda_action=ses.CfnReceiptRule.LambdaActionProperty(
10756
10887
  function_arn="functionArn",
10757
10888
 
@@ -11354,6 +11485,10 @@ class CfnReceiptRuleProps:
11354
11485
  status_code="statusCode",
11355
11486
  topic_arn="topicArn"
11356
11487
  ),
11488
+ connect_action=ses.CfnReceiptRule.ConnectActionProperty(
11489
+ iam_role_arn="iamRoleArn",
11490
+ instance_arn="instanceArn"
11491
+ ),
11357
11492
  lambda_action=ses.CfnReceiptRule.LambdaActionProperty(
11358
11493
  function_arn="functionArn",
11359
11494
 
@@ -12567,6 +12702,7 @@ class ConfigurationSetEventDestinationProps(ConfigurationSetEventDestinationOpti
12567
12702
  "configuration_set_name": "configurationSetName",
12568
12703
  "custom_tracking_redirect_domain": "customTrackingRedirectDomain",
12569
12704
  "dedicated_ip_pool": "dedicatedIpPool",
12705
+ "disable_suppression_list": "disableSuppressionList",
12570
12706
  "max_delivery_duration": "maxDeliveryDuration",
12571
12707
  "reputation_metrics": "reputationMetrics",
12572
12708
  "sending_enabled": "sendingEnabled",
@@ -12582,6 +12718,7 @@ class ConfigurationSetProps:
12582
12718
  configuration_set_name: typing.Optional[builtins.str] = None,
12583
12719
  custom_tracking_redirect_domain: typing.Optional[builtins.str] = None,
12584
12720
  dedicated_ip_pool: typing.Optional["IDedicatedIpPool"] = None,
12721
+ disable_suppression_list: typing.Optional[builtins.bool] = None,
12585
12722
  max_delivery_duration: typing.Optional[_Duration_4839e8c3] = None,
12586
12723
  reputation_metrics: typing.Optional[builtins.bool] = None,
12587
12724
  sending_enabled: typing.Optional[builtins.bool] = None,
@@ -12594,6 +12731,7 @@ class ConfigurationSetProps:
12594
12731
  :param configuration_set_name: A name for the configuration set. Default: - a CloudFormation generated name
12595
12732
  :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
12596
12733
  :param dedicated_ip_pool: The dedicated IP pool to associate with the configuration set. Default: - do not use a dedicated IP pool
12734
+ :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
12597
12735
  :param max_delivery_duration: The maximum amount of time that Amazon SES API v2 will attempt delivery of email. This value must be greater than or equal to 5 minutes and less than or equal to 14 hours. Default: undefined - SES defaults to 14 hours
12598
12736
  :param reputation_metrics: Whether to publish reputation metrics for the configuration set, such as bounce and complaint rates, to Amazon CloudWatch. Default: true
12599
12737
  :param sending_enabled: Whether email sending is enabled. Default: true
@@ -12605,20 +12743,11 @@ class ConfigurationSetProps:
12605
12743
 
12606
12744
  Example::
12607
12745
 
12608
- from aws_cdk import Duration
12609
-
12610
- # my_pool: ses.IDedicatedIpPool
12611
-
12612
-
12613
- ses.ConfigurationSet(self, "ConfigurationSet",
12614
- custom_tracking_redirect_domain="track.cdk.dev",
12615
- suppression_reasons=ses.SuppressionReasons.COMPLAINTS_ONLY,
12616
- tls_policy=ses.ConfigurationSetTlsPolicy.REQUIRE,
12617
- dedicated_ip_pool=my_pool,
12618
- # Specify maximum delivery time
12619
- # This configuration can be useful in such cases as time-sensitive emails (like those containing a one-time-password),
12620
- # transactional emails, and email that you want to ensure isn't delivered during non-business hours.
12621
- max_delivery_duration=Duration.minutes(10)
12746
+ ses.ConfigurationSet(self, "ConfigurationSetWithVdmOptions",
12747
+ vdm_options=ses.VdmOptions(
12748
+ engagement_metrics=True,
12749
+ optimized_shared_delivery=True
12750
+ )
12622
12751
  )
12623
12752
  '''
12624
12753
  if isinstance(vdm_options, dict):
@@ -12628,6 +12757,7 @@ class ConfigurationSetProps:
12628
12757
  check_type(argname="argument configuration_set_name", value=configuration_set_name, expected_type=type_hints["configuration_set_name"])
12629
12758
  check_type(argname="argument custom_tracking_redirect_domain", value=custom_tracking_redirect_domain, expected_type=type_hints["custom_tracking_redirect_domain"])
12630
12759
  check_type(argname="argument dedicated_ip_pool", value=dedicated_ip_pool, expected_type=type_hints["dedicated_ip_pool"])
12760
+ check_type(argname="argument disable_suppression_list", value=disable_suppression_list, expected_type=type_hints["disable_suppression_list"])
12631
12761
  check_type(argname="argument max_delivery_duration", value=max_delivery_duration, expected_type=type_hints["max_delivery_duration"])
12632
12762
  check_type(argname="argument reputation_metrics", value=reputation_metrics, expected_type=type_hints["reputation_metrics"])
12633
12763
  check_type(argname="argument sending_enabled", value=sending_enabled, expected_type=type_hints["sending_enabled"])
@@ -12641,6 +12771,8 @@ class ConfigurationSetProps:
12641
12771
  self._values["custom_tracking_redirect_domain"] = custom_tracking_redirect_domain
12642
12772
  if dedicated_ip_pool is not None:
12643
12773
  self._values["dedicated_ip_pool"] = dedicated_ip_pool
12774
+ if disable_suppression_list is not None:
12775
+ self._values["disable_suppression_list"] = disable_suppression_list
12644
12776
  if max_delivery_duration is not None:
12645
12777
  self._values["max_delivery_duration"] = max_delivery_duration
12646
12778
  if reputation_metrics is not None:
@@ -12681,6 +12813,18 @@ class ConfigurationSetProps:
12681
12813
  result = self._values.get("dedicated_ip_pool")
12682
12814
  return typing.cast(typing.Optional["IDedicatedIpPool"], result)
12683
12815
 
12816
+ @builtins.property
12817
+ def disable_suppression_list(self) -> typing.Optional[builtins.bool]:
12818
+ '''If true, account-level suppression list is disabled;
12819
+
12820
+ email sent with this configuration set
12821
+ will not use any suppression settings at all
12822
+
12823
+ :default: false
12824
+ '''
12825
+ result = self._values.get("disable_suppression_list")
12826
+ return typing.cast(typing.Optional[builtins.bool], result)
12827
+
12684
12828
  @builtins.property
12685
12829
  def max_delivery_duration(self) -> typing.Optional[_Duration_4839e8c3]:
12686
12830
  '''The maximum amount of time that Amazon SES API v2 will attempt delivery of email.
@@ -12764,7 +12908,6 @@ class ConfigurationSetTlsPolicy(enum.Enum):
12764
12908
 
12765
12909
  ses.ConfigurationSet(self, "ConfigurationSet",
12766
12910
  custom_tracking_redirect_domain="track.cdk.dev",
12767
- suppression_reasons=ses.SuppressionReasons.COMPLAINTS_ONLY,
12768
12911
  tls_policy=ses.ConfigurationSetTlsPolicy.REQUIRE,
12769
12912
  dedicated_ip_pool=my_pool,
12770
12913
  # Specify maximum delivery time
@@ -15387,20 +15530,19 @@ class SuppressionReasons(enum.Enum):
15387
15530
 
15388
15531
  Example::
15389
15532
 
15390
- from aws_cdk import Duration
15391
-
15392
- # my_pool: ses.IDedicatedIpPool
15533
+ # Only bounces will be suppressed.
15534
+ ses.ConfigurationSet(self, "ConfigurationSet",
15535
+ suppression_reasons=ses.SuppressionReasons.BOUNCES_ONLY
15536
+ )
15393
15537
 
15538
+ # Only complaints will be suppressed.
15539
+ ses.ConfigurationSet(self, "ConfigurationSet",
15540
+ suppression_reasons=ses.SuppressionReasons.COMPLAINTS_ONLY
15541
+ )
15394
15542
 
15543
+ # Both bounces and complaints will be suppressed.
15395
15544
  ses.ConfigurationSet(self, "ConfigurationSet",
15396
- custom_tracking_redirect_domain="track.cdk.dev",
15397
- suppression_reasons=ses.SuppressionReasons.COMPLAINTS_ONLY,
15398
- tls_policy=ses.ConfigurationSetTlsPolicy.REQUIRE,
15399
- dedicated_ip_pool=my_pool,
15400
- # Specify maximum delivery time
15401
- # This configuration can be useful in such cases as time-sensitive emails (like those containing a one-time-password),
15402
- # transactional emails, and email that you want to ensure isn't delivered during non-business hours.
15403
- max_delivery_duration=Duration.minutes(10)
15545
+ suppression_reasons=ses.SuppressionReasons.BOUNCES_AND_COMPLAINTS
15404
15546
  )
15405
15547
  '''
15406
15548
 
@@ -15731,20 +15873,11 @@ class ConfigurationSet(
15731
15873
 
15732
15874
  Example::
15733
15875
 
15734
- from aws_cdk import Duration
15735
-
15736
- # my_pool: ses.IDedicatedIpPool
15737
-
15738
-
15739
- ses.ConfigurationSet(self, "ConfigurationSet",
15740
- custom_tracking_redirect_domain="track.cdk.dev",
15741
- suppression_reasons=ses.SuppressionReasons.COMPLAINTS_ONLY,
15742
- tls_policy=ses.ConfigurationSetTlsPolicy.REQUIRE,
15743
- dedicated_ip_pool=my_pool,
15744
- # Specify maximum delivery time
15745
- # This configuration can be useful in such cases as time-sensitive emails (like those containing a one-time-password),
15746
- # transactional emails, and email that you want to ensure isn't delivered during non-business hours.
15747
- max_delivery_duration=Duration.minutes(10)
15876
+ ses.ConfigurationSet(self, "ConfigurationSetWithVdmOptions",
15877
+ vdm_options=ses.VdmOptions(
15878
+ engagement_metrics=True,
15879
+ optimized_shared_delivery=True
15880
+ )
15748
15881
  )
15749
15882
  '''
15750
15883
 
@@ -15756,6 +15889,7 @@ class ConfigurationSet(
15756
15889
  configuration_set_name: typing.Optional[builtins.str] = None,
15757
15890
  custom_tracking_redirect_domain: typing.Optional[builtins.str] = None,
15758
15891
  dedicated_ip_pool: typing.Optional[IDedicatedIpPool] = None,
15892
+ disable_suppression_list: typing.Optional[builtins.bool] = None,
15759
15893
  max_delivery_duration: typing.Optional[_Duration_4839e8c3] = None,
15760
15894
  reputation_metrics: typing.Optional[builtins.bool] = None,
15761
15895
  sending_enabled: typing.Optional[builtins.bool] = None,
@@ -15769,6 +15903,7 @@ class ConfigurationSet(
15769
15903
  :param configuration_set_name: A name for the configuration set. Default: - a CloudFormation generated name
15770
15904
  :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
15771
15905
  :param dedicated_ip_pool: The dedicated IP pool to associate with the configuration set. Default: - do not use a dedicated IP pool
15906
+ :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
15772
15907
  :param max_delivery_duration: The maximum amount of time that Amazon SES API v2 will attempt delivery of email. This value must be greater than or equal to 5 minutes and less than or equal to 14 hours. Default: undefined - SES defaults to 14 hours
15773
15908
  :param reputation_metrics: Whether to publish reputation metrics for the configuration set, such as bounce and complaint rates, to Amazon CloudWatch. Default: true
15774
15909
  :param sending_enabled: Whether email sending is enabled. Default: true
@@ -15784,6 +15919,7 @@ class ConfigurationSet(
15784
15919
  configuration_set_name=configuration_set_name,
15785
15920
  custom_tracking_redirect_domain=custom_tracking_redirect_domain,
15786
15921
  dedicated_ip_pool=dedicated_ip_pool,
15922
+ disable_suppression_list=disable_suppression_list,
15787
15923
  max_delivery_duration=max_delivery_duration,
15788
15924
  reputation_metrics=reputation_metrics,
15789
15925
  sending_enabled=sending_enabled,
@@ -17773,6 +17909,7 @@ def _typecheckingstub__2e23836e118e42c034b0eb896988a7fe715dbbacb7c1a69f5eabb3a0a
17773
17909
  *,
17774
17910
  add_header_action: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnReceiptRule.AddHeaderActionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
17775
17911
  bounce_action: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnReceiptRule.BounceActionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
17912
+ connect_action: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnReceiptRule.ConnectActionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
17776
17913
  lambda_action: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnReceiptRule.LambdaActionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
17777
17914
  s3_action: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnReceiptRule.S3ActionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
17778
17915
  sns_action: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnReceiptRule.SNSActionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -17801,6 +17938,14 @@ def _typecheckingstub__4b06ec88c0d55564d050fb3ddbd619284526dd4ec4bb0b1de97a62e89
17801
17938
  """Type checking stubs"""
17802
17939
  pass
17803
17940
 
17941
+ def _typecheckingstub__136f3d4eccd9049aa185c9b501554d1dd93f3381bbb67d185fa1b2e84aee15c0(
17942
+ *,
17943
+ iam_role_arn: builtins.str,
17944
+ instance_arn: builtins.str,
17945
+ ) -> None:
17946
+ """Type checking stubs"""
17947
+ pass
17948
+
17804
17949
  def _typecheckingstub__e86c072abf438c4f550f87a4bbdea46bb58e82f5fe5547fafb68649041ba546f(
17805
17950
  *,
17806
17951
  function_arn: builtins.str,
@@ -18035,6 +18180,7 @@ def _typecheckingstub__fb010161f6c1e40b88122d9cb7754dae093e9cbe5bbfc72b19737729a
18035
18180
  configuration_set_name: typing.Optional[builtins.str] = None,
18036
18181
  custom_tracking_redirect_domain: typing.Optional[builtins.str] = None,
18037
18182
  dedicated_ip_pool: typing.Optional[IDedicatedIpPool] = None,
18183
+ disable_suppression_list: typing.Optional[builtins.bool] = None,
18038
18184
  max_delivery_duration: typing.Optional[_Duration_4839e8c3] = None,
18039
18185
  reputation_metrics: typing.Optional[builtins.bool] = None,
18040
18186
  sending_enabled: typing.Optional[builtins.bool] = None,
@@ -18391,6 +18537,7 @@ def _typecheckingstub__52b42851a408d3eb2b07399f2b34603200cef443be5e9f913f4a1d80a
18391
18537
  configuration_set_name: typing.Optional[builtins.str] = None,
18392
18538
  custom_tracking_redirect_domain: typing.Optional[builtins.str] = None,
18393
18539
  dedicated_ip_pool: typing.Optional[IDedicatedIpPool] = None,
18540
+ disable_suppression_list: typing.Optional[builtins.bool] = None,
18394
18541
  max_delivery_duration: typing.Optional[_Duration_4839e8c3] = None,
18395
18542
  reputation_metrics: typing.Optional[builtins.bool] = None,
18396
18543
  sending_enabled: typing.Optional[builtins.bool] = None,