aws-cdk-lib 2.195.0__py3-none-any.whl → 2.224.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 (572) hide show
  1. aws_cdk/__init__.py +1806 -417
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.195.0.jsii.tgz → aws-cdk-lib@2.224.0.jsii.tgz} +0 -0
  4. aws_cdk/alexa_ask/__init__.py +12 -2
  5. aws_cdk/aws_accessanalyzer/__init__.py +323 -6
  6. aws_cdk/aws_acmpca/__init__.py +53 -10
  7. aws_cdk/aws_aiops/__init__.py +1019 -0
  8. aws_cdk/aws_amazonmq/__init__.py +357 -313
  9. aws_cdk/aws_amplify/__init__.py +173 -17
  10. aws_cdk/aws_amplifyuibuilder/__init__.py +35 -6
  11. aws_cdk/aws_apigateway/__init__.py +1245 -215
  12. aws_cdk/aws_apigatewayv2/__init__.py +3890 -476
  13. aws_cdk/aws_apigatewayv2_integrations/__init__.py +94 -16
  14. aws_cdk/aws_appconfig/__init__.py +618 -91
  15. aws_cdk/aws_appflow/__init__.py +151 -6
  16. aws_cdk/aws_appintegrations/__init__.py +546 -6
  17. aws_cdk/aws_applicationautoscaling/__init__.py +75 -10
  18. aws_cdk/aws_applicationinsights/__init__.py +13 -2
  19. aws_cdk/aws_applicationsignals/__init__.py +374 -6
  20. aws_cdk/aws_appmesh/__init__.py +136 -26
  21. aws_cdk/aws_apprunner/__init__.py +66 -18
  22. aws_cdk/aws_appstream/__init__.py +309 -55
  23. aws_cdk/aws_appsync/__init__.py +350 -94
  24. aws_cdk/aws_apptest/__init__.py +71 -2
  25. aws_cdk/aws_aps/__init__.py +2188 -94
  26. aws_cdk/aws_arcregionswitch/__init__.py +5095 -0
  27. aws_cdk/aws_arczonalshift/__init__.py +39 -12
  28. aws_cdk/aws_athena/__init__.py +365 -29
  29. aws_cdk/aws_auditmanager/__init__.py +71 -2
  30. aws_cdk/aws_autoscaling/__init__.py +165 -60
  31. aws_cdk/aws_autoscaling_common/__init__.py +3 -0
  32. aws_cdk/aws_autoscalingplans/__init__.py +13 -2
  33. aws_cdk/aws_b2bi/__init__.py +1819 -99
  34. aws_cdk/aws_backup/__init__.py +370 -42
  35. aws_cdk/aws_backupgateway/__init__.py +13 -2
  36. aws_cdk/aws_batch/__init__.py +1462 -163
  37. aws_cdk/aws_bcmdataexports/__init__.py +21 -2
  38. aws_cdk/aws_bedrock/__init__.py +7867 -727
  39. aws_cdk/aws_bedrockagentcore/__init__.py +10425 -0
  40. aws_cdk/aws_billingconductor/__init__.py +197 -11
  41. aws_cdk/aws_budgets/__init__.py +611 -4
  42. aws_cdk/aws_cassandra/__init__.py +247 -6
  43. aws_cdk/aws_ce/__init__.py +35 -6
  44. aws_cdk/aws_certificatemanager/__init__.py +258 -32
  45. aws_cdk/aws_chatbot/__init__.py +76 -6
  46. aws_cdk/aws_cleanrooms/__init__.py +709 -206
  47. aws_cdk/aws_cleanroomsml/__init__.py +13 -2
  48. aws_cdk/aws_cloud9/__init__.py +13 -2
  49. aws_cdk/aws_cloudformation/__init__.py +362 -189
  50. aws_cdk/aws_cloudfront/__init__.py +2188 -674
  51. aws_cdk/aws_cloudfront/experimental/__init__.py +114 -16
  52. aws_cdk/aws_cloudfront_origins/__init__.py +615 -74
  53. aws_cdk/aws_cloudtrail/__init__.py +311 -21
  54. aws_cdk/aws_cloudwatch/__init__.py +3093 -1038
  55. aws_cdk/aws_cloudwatch_actions/__init__.py +75 -1
  56. aws_cdk/aws_codeartifact/__init__.py +35 -6
  57. aws_cdk/aws_codebuild/__init__.py +1303 -135
  58. aws_cdk/aws_codecommit/__init__.py +29 -9
  59. aws_cdk/aws_codeconnections/__init__.py +13 -2
  60. aws_cdk/aws_codedeploy/__init__.py +130 -6
  61. aws_cdk/aws_codeguruprofiler/__init__.py +80 -2
  62. aws_cdk/aws_codegurureviewer/__init__.py +13 -2
  63. aws_cdk/aws_codepipeline/__init__.py +177 -71
  64. aws_cdk/aws_codepipeline_actions/__init__.py +753 -4
  65. aws_cdk/aws_codestar/__init__.py +13 -2
  66. aws_cdk/aws_codestarconnections/__init__.py +35 -6
  67. aws_cdk/aws_codestarnotifications/__init__.py +22 -2
  68. aws_cdk/aws_cognito/__init__.py +905 -92
  69. aws_cdk/aws_cognito_identitypool/__init__.py +23 -12
  70. aws_cdk/aws_comprehend/__init__.py +24 -4
  71. aws_cdk/aws_config/__init__.py +227 -30
  72. aws_cdk/aws_connect/__init__.py +2736 -191
  73. aws_cdk/aws_connectcampaigns/__init__.py +13 -2
  74. aws_cdk/aws_connectcampaignsv2/__init__.py +268 -6
  75. aws_cdk/aws_controltower/__init__.py +35 -6
  76. aws_cdk/aws_cur/__init__.py +100 -4
  77. aws_cdk/aws_customerprofiles/__init__.py +617 -27
  78. aws_cdk/aws_databrew/__init__.py +68 -12
  79. aws_cdk/aws_datapipeline/__init__.py +42 -2
  80. aws_cdk/aws_datasync/__init__.py +1514 -977
  81. aws_cdk/aws_datazone/__init__.py +7426 -1763
  82. aws_cdk/aws_dax/__init__.py +83 -6
  83. aws_cdk/aws_deadline/__init__.py +511 -36
  84. aws_cdk/aws_detective/__init__.py +35 -6
  85. aws_cdk/aws_devicefarm/__init__.py +68 -12
  86. aws_cdk/aws_devopsguru/__init__.py +37 -6
  87. aws_cdk/aws_directoryservice/__init__.py +53 -4
  88. aws_cdk/aws_dlm/__init__.py +13 -2
  89. aws_cdk/aws_dms/__init__.py +184 -27
  90. aws_cdk/aws_docdb/__init__.py +350 -49
  91. aws_cdk/aws_docdbelastic/__init__.py +13 -2
  92. aws_cdk/aws_dsql/__init__.py +386 -16
  93. aws_cdk/aws_dynamodb/__init__.py +1479 -170
  94. aws_cdk/aws_ec2/__init__.py +10465 -1335
  95. aws_cdk/aws_ecr/__init__.py +637 -43
  96. aws_cdk/aws_ecr_assets/__init__.py +10 -0
  97. aws_cdk/aws_ecs/__init__.py +6629 -490
  98. aws_cdk/aws_ecs_patterns/__init__.py +124 -12
  99. aws_cdk/aws_efs/__init__.py +276 -24
  100. aws_cdk/aws_eks/__init__.py +1132 -227
  101. aws_cdk/aws_elasticache/__init__.py +378 -25
  102. aws_cdk/aws_elasticbeanstalk/__init__.py +75 -8
  103. aws_cdk/aws_elasticloadbalancing/__init__.py +22 -2
  104. aws_cdk/aws_elasticloadbalancingv2/__init__.py +1796 -123
  105. aws_cdk/aws_elasticsearch/__init__.py +291 -9
  106. aws_cdk/aws_emr/__init__.py +219 -18
  107. aws_cdk/aws_emrcontainers/__init__.py +71 -2
  108. aws_cdk/aws_emrserverless/__init__.py +188 -3
  109. aws_cdk/aws_entityresolution/__init__.py +585 -58
  110. aws_cdk/aws_events/__init__.py +1007 -126
  111. aws_cdk/aws_events_targets/__init__.py +398 -65
  112. aws_cdk/aws_eventschemas/__init__.py +46 -8
  113. aws_cdk/aws_evidently/__init__.py +57 -10
  114. aws_cdk/aws_evs/__init__.py +2244 -0
  115. aws_cdk/aws_finspace/__init__.py +71 -2
  116. aws_cdk/aws_fis/__init__.py +26 -4
  117. aws_cdk/aws_fms/__init__.py +35 -6
  118. aws_cdk/aws_forecast/__init__.py +24 -4
  119. aws_cdk/aws_frauddetector/__init__.py +79 -14
  120. aws_cdk/aws_fsx/__init__.py +1349 -127
  121. aws_cdk/aws_gamelift/__init__.py +755 -94
  122. aws_cdk/aws_gameliftstreams/__init__.py +44 -22
  123. aws_cdk/aws_globalaccelerator/__init__.py +73 -14
  124. aws_cdk/aws_glue/__init__.py +1455 -378
  125. aws_cdk/aws_grafana/__init__.py +13 -2
  126. aws_cdk/aws_greengrass/__init__.py +654 -32
  127. aws_cdk/aws_greengrassv2/__init__.py +53 -4
  128. aws_cdk/aws_groundstation/__init__.py +122 -6
  129. aws_cdk/aws_guardduty/__init__.py +1613 -123
  130. aws_cdk/aws_healthimaging/__init__.py +71 -2
  131. aws_cdk/aws_healthlake/__init__.py +42 -2
  132. aws_cdk/aws_iam/__init__.py +921 -141
  133. aws_cdk/aws_identitystore/__init__.py +24 -4
  134. aws_cdk/aws_imagebuilder/__init__.py +1454 -199
  135. aws_cdk/aws_inspector/__init__.py +44 -6
  136. aws_cdk/aws_inspectorv2/__init__.py +2285 -243
  137. aws_cdk/aws_internetmonitor/__init__.py +71 -2
  138. aws_cdk/aws_invoicing/__init__.py +13 -2
  139. aws_cdk/aws_iot/__init__.py +1760 -64
  140. aws_cdk/aws_iotanalytics/__init__.py +162 -8
  141. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +106 -40
  142. aws_cdk/aws_iotevents/__init__.py +122 -6
  143. aws_cdk/aws_iotfleethub/__init__.py +71 -2
  144. aws_cdk/aws_iotfleetwise/__init__.py +195 -14
  145. aws_cdk/aws_iotsitewise/__init__.py +1837 -89
  146. aws_cdk/aws_iotthingsgraph/__init__.py +13 -2
  147. aws_cdk/aws_iottwinmaker/__init__.py +115 -10
  148. aws_cdk/aws_iotwireless/__init__.py +649 -22
  149. aws_cdk/aws_ivs/__init__.py +561 -57
  150. aws_cdk/aws_ivschat/__init__.py +24 -4
  151. aws_cdk/aws_kafkaconnect/__init__.py +35 -6
  152. aws_cdk/aws_kendra/__init__.py +120 -28
  153. aws_cdk/aws_kendraranking/__init__.py +13 -2
  154. aws_cdk/aws_kinesis/__init__.py +641 -23
  155. aws_cdk/aws_kinesisanalytics/__init__.py +467 -96
  156. aws_cdk/aws_kinesisanalyticsv2/__init__.py +207 -19
  157. aws_cdk/aws_kinesisfirehose/__init__.py +3087 -295
  158. aws_cdk/aws_kinesisvideo/__init__.py +24 -4
  159. aws_cdk/aws_kms/__init__.py +204 -45
  160. aws_cdk/aws_lakeformation/__init__.py +80 -15
  161. aws_cdk/aws_lambda/__init__.py +2236 -297
  162. aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
  163. aws_cdk/aws_lambda_nodejs/__init__.py +63 -24
  164. aws_cdk/aws_launchwizard/__init__.py +13 -2
  165. aws_cdk/aws_lex/__init__.py +2162 -212
  166. aws_cdk/aws_licensemanager/__init__.py +24 -4
  167. aws_cdk/aws_lightsail/__init__.py +2958 -1322
  168. aws_cdk/aws_location/__init__.py +618 -14
  169. aws_cdk/aws_logs/__init__.py +6014 -923
  170. aws_cdk/aws_lookoutequipment/__init__.py +13 -2
  171. aws_cdk/aws_lookoutmetrics/__init__.py +38 -6
  172. aws_cdk/aws_lookoutvision/__init__.py +71 -2
  173. aws_cdk/aws_m2/__init__.py +94 -19
  174. aws_cdk/aws_macie/__init__.py +49 -11
  175. aws_cdk/aws_managedblockchain/__init__.py +180 -6
  176. aws_cdk/aws_mediaconnect/__init__.py +101 -18
  177. aws_cdk/aws_mediaconvert/__init__.py +35 -6
  178. aws_cdk/aws_medialive/__init__.py +1938 -532
  179. aws_cdk/aws_mediapackage/__init__.py +59 -12
  180. aws_cdk/aws_mediapackagev2/__init__.py +1616 -233
  181. aws_cdk/aws_mediastore/__init__.py +13 -2
  182. aws_cdk/aws_mediatailor/__init__.py +583 -12
  183. aws_cdk/aws_memorydb/__init__.py +271 -12
  184. aws_cdk/aws_mpa/__init__.py +1495 -0
  185. aws_cdk/aws_msk/__init__.py +108 -22
  186. aws_cdk/aws_mwaa/__init__.py +121 -9
  187. aws_cdk/aws_neptune/__init__.py +290 -78
  188. aws_cdk/aws_neptunegraph/__init__.py +24 -4
  189. aws_cdk/aws_networkfirewall/__init__.py +1184 -164
  190. aws_cdk/aws_networkmanager/__init__.py +349 -33
  191. aws_cdk/aws_nimblestudio/__init__.py +283 -408
  192. aws_cdk/aws_notifications/__init__.py +317 -12
  193. aws_cdk/aws_notificationscontacts/__init__.py +13 -2
  194. aws_cdk/aws_oam/__init__.py +24 -4
  195. aws_cdk/aws_observabilityadmin/__init__.py +2561 -0
  196. aws_cdk/aws_odb/__init__.py +5872 -0
  197. aws_cdk/aws_omics/__init__.py +2967 -162
  198. aws_cdk/aws_opensearchserverless/__init__.py +312 -37
  199. aws_cdk/aws_opensearchservice/__init__.py +501 -19
  200. aws_cdk/aws_opsworks/__init__.py +235 -139
  201. aws_cdk/aws_opsworkscm/__init__.py +16 -52
  202. aws_cdk/aws_organizations/__init__.py +70 -10
  203. aws_cdk/aws_osis/__init__.py +167 -2
  204. aws_cdk/aws_panorama/__init__.py +181 -9
  205. aws_cdk/aws_paymentcryptography/__init__.py +24 -4
  206. aws_cdk/aws_pcaconnectorad/__init__.py +59 -10
  207. aws_cdk/aws_pcaconnectorscep/__init__.py +24 -4
  208. aws_cdk/aws_pcs/__init__.py +516 -64
  209. aws_cdk/aws_personalize/__init__.py +46 -8
  210. aws_cdk/aws_pinpoint/__init__.py +329 -38
  211. aws_cdk/aws_pinpointemail/__init__.py +48 -8
  212. aws_cdk/aws_pipes/__init__.py +12 -2
  213. aws_cdk/aws_proton/__init__.py +37 -6
  214. aws_cdk/aws_qbusiness/__init__.py +635 -34
  215. aws_cdk/aws_qldb/__init__.py +24 -4
  216. aws_cdk/aws_quicksight/__init__.py +7900 -1160
  217. aws_cdk/aws_ram/__init__.py +24 -4
  218. aws_cdk/aws_rbin/__init__.py +12 -2
  219. aws_cdk/aws_rds/__init__.py +3721 -573
  220. aws_cdk/aws_redshift/__init__.py +143 -20
  221. aws_cdk/aws_redshiftserverless/__init__.py +699 -11
  222. aws_cdk/aws_refactorspaces/__init__.py +64 -14
  223. aws_cdk/aws_rekognition/__init__.py +93 -6
  224. aws_cdk/aws_resiliencehub/__init__.py +24 -4
  225. aws_cdk/aws_resourceexplorer2/__init__.py +35 -6
  226. aws_cdk/aws_resourcegroups/__init__.py +82 -4
  227. aws_cdk/aws_robomaker/__init__.py +72 -12
  228. aws_cdk/aws_rolesanywhere/__init__.py +194 -19
  229. aws_cdk/aws_route53/__init__.py +3965 -1436
  230. aws_cdk/aws_route53_targets/__init__.py +3 -0
  231. aws_cdk/aws_route53profiles/__init__.py +37 -6
  232. aws_cdk/aws_route53recoverycontrol/__init__.py +46 -8
  233. aws_cdk/aws_route53recoveryreadiness/__init__.py +104 -8
  234. aws_cdk/aws_route53resolver/__init__.py +189 -40
  235. aws_cdk/aws_rtbfabric/__init__.py +3498 -0
  236. aws_cdk/aws_rum/__init__.py +13 -2
  237. aws_cdk/aws_s3/__init__.py +1742 -221
  238. aws_cdk/aws_s3_assets/__init__.py +11 -11
  239. aws_cdk/aws_s3_deployment/__init__.py +153 -11
  240. aws_cdk/aws_s3_notifications/__init__.py +7 -7
  241. aws_cdk/aws_s3express/__init__.py +1053 -6
  242. aws_cdk/aws_s3objectlambda/__init__.py +68 -16
  243. aws_cdk/aws_s3outposts/__init__.py +46 -8
  244. aws_cdk/aws_s3tables/__init__.py +2000 -323
  245. aws_cdk/aws_s3vectors/__init__.py +1378 -0
  246. aws_cdk/aws_sagemaker/__init__.py +6848 -373
  247. aws_cdk/aws_sam/__init__.py +79 -14
  248. aws_cdk/aws_scheduler/__init__.py +249 -4
  249. aws_cdk/aws_sdb/__init__.py +12 -2
  250. aws_cdk/aws_secretsmanager/__init__.py +194 -14
  251. aws_cdk/aws_securityhub/__init__.py +3121 -176
  252. aws_cdk/aws_securitylake/__init__.py +46 -8
  253. aws_cdk/aws_servicecatalog/__init__.py +429 -246
  254. aws_cdk/aws_servicecatalogappregistry/__init__.py +164 -8
  255. aws_cdk/aws_servicediscovery/__init__.py +188 -47
  256. aws_cdk/aws_ses/__init__.py +2265 -369
  257. aws_cdk/aws_shield/__init__.py +46 -8
  258. aws_cdk/aws_signer/__init__.py +33 -4
  259. aws_cdk/aws_simspaceweaver/__init__.py +42 -2
  260. aws_cdk/aws_smsvoice/__init__.py +4716 -0
  261. aws_cdk/aws_sns/__init__.py +263 -29
  262. aws_cdk/aws_sns_subscriptions/__init__.py +265 -2
  263. aws_cdk/aws_sqs/__init__.py +223 -14
  264. aws_cdk/aws_ssm/__init__.py +413 -58
  265. aws_cdk/aws_ssmcontacts/__init__.py +98 -9
  266. aws_cdk/aws_ssmguiconnect/__init__.py +20 -9
  267. aws_cdk/aws_ssmincidents/__init__.py +24 -4
  268. aws_cdk/aws_ssmquicksetup/__init__.py +393 -8
  269. aws_cdk/aws_sso/__init__.py +70 -12
  270. aws_cdk/aws_stepfunctions/__init__.py +823 -94
  271. aws_cdk/aws_stepfunctions_tasks/__init__.py +2323 -150
  272. aws_cdk/aws_supportapp/__init__.py +39 -6
  273. aws_cdk/aws_synthetics/__init__.py +1088 -126
  274. aws_cdk/aws_systemsmanagersap/__init__.py +13 -2
  275. aws_cdk/aws_timestream/__init__.py +104 -8
  276. aws_cdk/aws_transfer/__init__.py +784 -87
  277. aws_cdk/aws_verifiedpermissions/__init__.py +306 -13
  278. aws_cdk/aws_voiceid/__init__.py +54 -5
  279. aws_cdk/aws_vpclattice/__init__.py +589 -231
  280. aws_cdk/aws_waf/__init__.py +79 -14
  281. aws_cdk/aws_wafregional/__init__.py +123 -22
  282. aws_cdk/aws_wafv2/__init__.py +1183 -64
  283. aws_cdk/aws_wisdom/__init__.py +1403 -90
  284. aws_cdk/aws_workspaces/__init__.py +134 -6
  285. aws_cdk/aws_workspacesinstances/__init__.py +3940 -0
  286. aws_cdk/aws_workspacesthinclient/__init__.py +79 -10
  287. aws_cdk/aws_workspacesweb/__init__.py +1057 -141
  288. aws_cdk/aws_xray/__init__.py +48 -8
  289. aws_cdk/cloud_assembly_schema/__init__.py +368 -48
  290. aws_cdk/custom_resources/__init__.py +58 -12
  291. aws_cdk/cx_api/__init__.py +125 -21
  292. aws_cdk/interfaces/__init__.py +739 -0
  293. aws_cdk/interfaces/alexa_ask/__init__.py +146 -0
  294. aws_cdk/interfaces/aws_accessanalyzer/__init__.py +146 -0
  295. aws_cdk/interfaces/aws_acmpca/__init__.py +501 -0
  296. aws_cdk/interfaces/aws_aiops/__init__.py +146 -0
  297. aws_cdk/interfaces/aws_amazonmq/__init__.py +386 -0
  298. aws_cdk/interfaces/aws_amplify/__init__.py +352 -0
  299. aws_cdk/interfaces/aws_amplifyuibuilder/__init__.py +454 -0
  300. aws_cdk/interfaces/aws_apigateway/__init__.py +2486 -0
  301. aws_cdk/interfaces/aws_apigatewayv2/__init__.py +1651 -0
  302. aws_cdk/interfaces/aws_appconfig/__init__.py +1020 -0
  303. aws_cdk/interfaces/aws_appflow/__init__.py +404 -0
  304. aws_cdk/interfaces/aws_appintegrations/__init__.py +396 -0
  305. aws_cdk/interfaces/aws_applicationautoscaling/__init__.py +307 -0
  306. aws_cdk/interfaces/aws_applicationinsights/__init__.py +148 -0
  307. aws_cdk/interfaces/aws_applicationsignals/__init__.py +358 -0
  308. aws_cdk/interfaces/aws_appmesh/__init__.py +888 -0
  309. aws_cdk/interfaces/aws_apprunner/__init__.py +564 -0
  310. aws_cdk/interfaces/aws_appstream/__init__.py +1482 -0
  311. aws_cdk/interfaces/aws_appsync/__init__.py +1326 -0
  312. aws_cdk/interfaces/aws_apptest/__init__.py +163 -0
  313. aws_cdk/interfaces/aws_aps/__init__.py +558 -0
  314. aws_cdk/interfaces/aws_arcregionswitch/__init__.py +146 -0
  315. aws_cdk/interfaces/aws_arczonalshift/__init__.py +273 -0
  316. aws_cdk/interfaces/aws_athena/__init__.py +575 -0
  317. aws_cdk/interfaces/aws_auditmanager/__init__.py +163 -0
  318. aws_cdk/interfaces/aws_autoscaling/__init__.py +705 -0
  319. aws_cdk/interfaces/aws_autoscalingplans/__init__.py +148 -0
  320. aws_cdk/interfaces/aws_b2bi/__init__.py +524 -0
  321. aws_cdk/interfaces/aws_backup/__init__.py +955 -0
  322. aws_cdk/interfaces/aws_backupgateway/__init__.py +146 -0
  323. aws_cdk/interfaces/aws_batch/__init__.py +681 -0
  324. aws_cdk/interfaces/aws_bcmdataexports/__init__.py +146 -0
  325. aws_cdk/interfaces/aws_bedrock/__init__.py +1942 -0
  326. aws_cdk/interfaces/aws_bedrockagentcore/__init__.py +934 -0
  327. aws_cdk/interfaces/aws_billing/__init__.py +146 -0
  328. aws_cdk/interfaces/aws_billingconductor/__init__.py +463 -0
  329. aws_cdk/interfaces/aws_budgets/__init__.py +261 -0
  330. aws_cdk/interfaces/aws_cassandra/__init__.py +381 -0
  331. aws_cdk/interfaces/aws_ce/__init__.py +352 -0
  332. aws_cdk/interfaces/aws_certificatemanager/__init__.py +251 -0
  333. aws_cdk/interfaces/aws_chatbot/__init__.py +366 -0
  334. aws_cdk/interfaces/aws_cleanrooms/__init__.py +1103 -0
  335. aws_cdk/interfaces/aws_cleanroomsml/__init__.py +148 -0
  336. aws_cdk/interfaces/aws_cloud9/__init__.py +166 -0
  337. aws_cdk/interfaces/aws_cloudformation/__init__.py +1919 -0
  338. aws_cdk/interfaces/aws_cloudfront/__init__.py +1998 -0
  339. aws_cdk/interfaces/aws_cloudtrail/__init__.py +570 -0
  340. aws_cdk/interfaces/aws_cloudwatch/__init__.py +733 -0
  341. aws_cdk/interfaces/aws_codeartifact/__init__.py +352 -0
  342. aws_cdk/interfaces/aws_codebuild/__init__.py +487 -0
  343. aws_cdk/interfaces/aws_codecommit/__init__.py +163 -0
  344. aws_cdk/interfaces/aws_codeconnections/__init__.py +146 -0
  345. aws_cdk/interfaces/aws_codedeploy/__init__.py +352 -0
  346. aws_cdk/interfaces/aws_codeguruprofiler/__init__.py +168 -0
  347. aws_cdk/interfaces/aws_codegurureviewer/__init__.py +148 -0
  348. aws_cdk/interfaces/aws_codepipeline/__init__.py +388 -0
  349. aws_cdk/interfaces/aws_codestar/__init__.py +146 -0
  350. aws_cdk/interfaces/aws_codestarconnections/__init__.py +370 -0
  351. aws_cdk/interfaces/aws_codestarnotifications/__init__.py +148 -0
  352. aws_cdk/interfaces/aws_cognito/__init__.py +1929 -0
  353. aws_cdk/interfaces/aws_comprehend/__init__.py +251 -0
  354. aws_cdk/interfaces/aws_config/__init__.py +1165 -0
  355. aws_cdk/interfaces/aws_connect/__init__.py +2949 -0
  356. aws_cdk/interfaces/aws_connectcampaigns/__init__.py +146 -0
  357. aws_cdk/interfaces/aws_connectcampaignsv2/__init__.py +146 -0
  358. aws_cdk/interfaces/aws_controltower/__init__.py +394 -0
  359. aws_cdk/interfaces/aws_cur/__init__.py +146 -0
  360. aws_cdk/interfaces/aws_customerprofiles/__init__.py +915 -0
  361. aws_cdk/interfaces/aws_databrew/__init__.py +661 -0
  362. aws_cdk/interfaces/aws_datapipeline/__init__.py +146 -0
  363. aws_cdk/interfaces/aws_datasync/__init__.py +1384 -0
  364. aws_cdk/interfaces/aws_datazone/__init__.py +2238 -0
  365. aws_cdk/interfaces/aws_dax/__init__.py +364 -0
  366. aws_cdk/interfaces/aws_deadline/__init__.py +1303 -0
  367. aws_cdk/interfaces/aws_detective/__init__.py +364 -0
  368. aws_cdk/interfaces/aws_devicefarm/__init__.py +663 -0
  369. aws_cdk/interfaces/aws_devopsguru/__init__.py +362 -0
  370. aws_cdk/interfaces/aws_directoryservice/__init__.py +251 -0
  371. aws_cdk/interfaces/aws_dlm/__init__.py +166 -0
  372. aws_cdk/interfaces/aws_dms/__init__.py +1176 -0
  373. aws_cdk/interfaces/aws_docdb/__init__.py +560 -0
  374. aws_cdk/interfaces/aws_docdbelastic/__init__.py +146 -0
  375. aws_cdk/interfaces/aws_dsql/__init__.py +146 -0
  376. aws_cdk/interfaces/aws_dynamodb/__init__.py +278 -0
  377. aws_cdk/interfaces/aws_ec2/__init__.py +11963 -0
  378. aws_cdk/interfaces/aws_ecr/__init__.py +814 -0
  379. aws_cdk/interfaces/aws_ecs/__init__.py +845 -0
  380. aws_cdk/interfaces/aws_efs/__init__.py +392 -0
  381. aws_cdk/interfaces/aws_eks/__init__.py +948 -0
  382. aws_cdk/interfaces/aws_elasticache/__init__.py +1108 -0
  383. aws_cdk/interfaces/aws_elasticbeanstalk/__init__.py +503 -0
  384. aws_cdk/interfaces/aws_elasticloadbalancing/__init__.py +148 -0
  385. aws_cdk/interfaces/aws_elasticloadbalancingv2/__init__.py +795 -0
  386. aws_cdk/interfaces/aws_elasticsearch/__init__.py +158 -0
  387. aws_cdk/interfaces/aws_emr/__init__.py +913 -0
  388. aws_cdk/interfaces/aws_emrcontainers/__init__.py +168 -0
  389. aws_cdk/interfaces/aws_emrserverless/__init__.py +166 -0
  390. aws_cdk/interfaces/aws_entityresolution/__init__.py +608 -0
  391. aws_cdk/interfaces/aws_events/__init__.py +872 -0
  392. aws_cdk/interfaces/aws_eventschemas/__init__.py +455 -0
  393. aws_cdk/interfaces/aws_evidently/__init__.py +558 -0
  394. aws_cdk/interfaces/aws_evs/__init__.py +166 -0
  395. aws_cdk/interfaces/aws_finspace/__init__.py +166 -0
  396. aws_cdk/interfaces/aws_fis/__init__.py +271 -0
  397. aws_cdk/interfaces/aws_fms/__init__.py +364 -0
  398. aws_cdk/interfaces/aws_forecast/__init__.py +249 -0
  399. aws_cdk/interfaces/aws_frauddetector/__init__.py +764 -0
  400. aws_cdk/interfaces/aws_fsx/__init__.py +663 -0
  401. aws_cdk/interfaces/aws_gamelift/__init__.py +1325 -0
  402. aws_cdk/interfaces/aws_gameliftstreams/__init__.py +249 -0
  403. aws_cdk/interfaces/aws_globalaccelerator/__init__.py +461 -0
  404. aws_cdk/interfaces/aws_glue/__init__.py +2377 -0
  405. aws_cdk/interfaces/aws_grafana/__init__.py +146 -0
  406. aws_cdk/interfaces/aws_greengrass/__init__.py +1871 -0
  407. aws_cdk/interfaces/aws_greengrassv2/__init__.py +251 -0
  408. aws_cdk/interfaces/aws_groundstation/__init__.py +396 -0
  409. aws_cdk/interfaces/aws_guardduty/__init__.py +1225 -0
  410. aws_cdk/interfaces/aws_healthimaging/__init__.py +163 -0
  411. aws_cdk/interfaces/aws_healthlake/__init__.py +146 -0
  412. aws_cdk/interfaces/aws_iam/__init__.py +1803 -0
  413. aws_cdk/interfaces/aws_identitystore/__init__.py +288 -0
  414. aws_cdk/interfaces/aws_imagebuilder/__init__.py +984 -0
  415. aws_cdk/interfaces/aws_inspector/__init__.py +354 -0
  416. aws_cdk/interfaces/aws_inspectorv2/__init__.py +467 -0
  417. aws_cdk/interfaces/aws_internetmonitor/__init__.py +163 -0
  418. aws_cdk/interfaces/aws_invoicing/__init__.py +146 -0
  419. aws_cdk/interfaces/aws_iot/__init__.py +3483 -0
  420. aws_cdk/interfaces/aws_iotanalytics/__init__.py +455 -0
  421. aws_cdk/interfaces/aws_iotcoredeviceadvisor/__init__.py +168 -0
  422. aws_cdk/interfaces/aws_iotevents/__init__.py +352 -0
  423. aws_cdk/interfaces/aws_iotfleethub/__init__.py +166 -0
  424. aws_cdk/interfaces/aws_iotfleetwise/__init__.py +892 -0
  425. aws_cdk/interfaces/aws_iotsitewise/__init__.py +1097 -0
  426. aws_cdk/interfaces/aws_iotthingsgraph/__init__.py +146 -0
  427. aws_cdk/interfaces/aws_iottwinmaker/__init__.py +711 -0
  428. aws_cdk/interfaces/aws_iotwireless/__init__.py +1401 -0
  429. aws_cdk/interfaces/aws_ivs/__init__.py +1075 -0
  430. aws_cdk/interfaces/aws_ivschat/__init__.py +251 -0
  431. aws_cdk/interfaces/aws_kafkaconnect/__init__.py +354 -0
  432. aws_cdk/interfaces/aws_kendra/__init__.py +428 -0
  433. aws_cdk/interfaces/aws_kendraranking/__init__.py +166 -0
  434. aws_cdk/interfaces/aws_kinesis/__init__.py +364 -0
  435. aws_cdk/interfaces/aws_kinesisanalytics/__init__.py +364 -0
  436. aws_cdk/interfaces/aws_kinesisanalyticsv2/__init__.py +479 -0
  437. aws_cdk/interfaces/aws_kinesisfirehose/__init__.py +168 -0
  438. aws_cdk/interfaces/aws_kinesisvideo/__init__.py +283 -0
  439. aws_cdk/interfaces/aws_kms/__init__.py +376 -0
  440. aws_cdk/interfaces/aws_lakeformation/__init__.py +860 -0
  441. aws_cdk/interfaces/aws_lambda/__init__.py +1141 -0
  442. aws_cdk/interfaces/aws_launchwizard/__init__.py +146 -0
  443. aws_cdk/interfaces/aws_lex/__init__.py +513 -0
  444. aws_cdk/interfaces/aws_licensemanager/__init__.py +249 -0
  445. aws_cdk/interfaces/aws_lightsail/__init__.py +1744 -0
  446. aws_cdk/interfaces/aws_location/__init__.py +879 -0
  447. aws_cdk/interfaces/aws_logs/__init__.py +1667 -0
  448. aws_cdk/interfaces/aws_lookoutequipment/__init__.py +168 -0
  449. aws_cdk/interfaces/aws_lookoutmetrics/__init__.py +251 -0
  450. aws_cdk/interfaces/aws_lookoutvision/__init__.py +163 -0
  451. aws_cdk/interfaces/aws_m2/__init__.py +352 -0
  452. aws_cdk/interfaces/aws_macie/__init__.py +512 -0
  453. aws_cdk/interfaces/aws_managedblockchain/__init__.py +381 -0
  454. aws_cdk/interfaces/aws_mediaconnect/__init__.py +1028 -0
  455. aws_cdk/interfaces/aws_mediaconvert/__init__.py +396 -0
  456. aws_cdk/interfaces/aws_medialive/__init__.py +1755 -0
  457. aws_cdk/interfaces/aws_mediapackage/__init__.py +644 -0
  458. aws_cdk/interfaces/aws_mediapackagev2/__init__.py +618 -0
  459. aws_cdk/interfaces/aws_mediastore/__init__.py +146 -0
  460. aws_cdk/interfaces/aws_mediatailor/__init__.py +788 -0
  461. aws_cdk/interfaces/aws_memorydb/__init__.py +685 -0
  462. aws_cdk/interfaces/aws_mpa/__init__.py +249 -0
  463. aws_cdk/interfaces/aws_msk/__init__.py +764 -0
  464. aws_cdk/interfaces/aws_mwaa/__init__.py +166 -0
  465. aws_cdk/interfaces/aws_neptune/__init__.py +663 -0
  466. aws_cdk/interfaces/aws_neptunegraph/__init__.py +265 -0
  467. aws_cdk/interfaces/aws_networkfirewall/__init__.py +669 -0
  468. aws_cdk/interfaces/aws_networkmanager/__init__.py +1832 -0
  469. aws_cdk/interfaces/aws_nimblestudio/__init__.py +388 -0
  470. aws_cdk/interfaces/aws_notifications/__init__.py +868 -0
  471. aws_cdk/interfaces/aws_notificationscontacts/__init__.py +148 -0
  472. aws_cdk/interfaces/aws_oam/__init__.py +249 -0
  473. aws_cdk/interfaces/aws_observabilityadmin/__init__.py +362 -0
  474. aws_cdk/interfaces/aws_odb/__init__.py +562 -0
  475. aws_cdk/interfaces/aws_omics/__init__.py +838 -0
  476. aws_cdk/interfaces/aws_opensearchserverless/__init__.py +859 -0
  477. aws_cdk/interfaces/aws_opensearchservice/__init__.py +283 -0
  478. aws_cdk/interfaces/aws_opsworks/__init__.py +772 -0
  479. aws_cdk/interfaces/aws_opsworkscm/__init__.py +146 -0
  480. aws_cdk/interfaces/aws_organizations/__init__.py +646 -0
  481. aws_cdk/interfaces/aws_osis/__init__.py +146 -0
  482. aws_cdk/interfaces/aws_panorama/__init__.py +420 -0
  483. aws_cdk/interfaces/aws_paymentcryptography/__init__.py +249 -0
  484. aws_cdk/interfaces/aws_pcaconnectorad/__init__.py +608 -0
  485. aws_cdk/interfaces/aws_pcaconnectorscep/__init__.py +249 -0
  486. aws_cdk/interfaces/aws_pcs/__init__.py +352 -0
  487. aws_cdk/interfaces/aws_personalize/__init__.py +455 -0
  488. aws_cdk/interfaces/aws_pinpoint/__init__.py +2125 -0
  489. aws_cdk/interfaces/aws_pinpointemail/__init__.py +467 -0
  490. aws_cdk/interfaces/aws_pipes/__init__.py +158 -0
  491. aws_cdk/interfaces/aws_proton/__init__.py +360 -0
  492. aws_cdk/interfaces/aws_qbusiness/__init__.py +1122 -0
  493. aws_cdk/interfaces/aws_qldb/__init__.py +283 -0
  494. aws_cdk/interfaces/aws_quicksight/__init__.py +1566 -0
  495. aws_cdk/interfaces/aws_ram/__init__.py +249 -0
  496. aws_cdk/interfaces/aws_rbin/__init__.py +146 -0
  497. aws_cdk/interfaces/aws_rds/__init__.py +1780 -0
  498. aws_cdk/interfaces/aws_redshift/__init__.py +1104 -0
  499. aws_cdk/interfaces/aws_redshiftserverless/__init__.py +356 -0
  500. aws_cdk/interfaces/aws_refactorspaces/__init__.py +605 -0
  501. aws_cdk/interfaces/aws_rekognition/__init__.py +406 -0
  502. aws_cdk/interfaces/aws_resiliencehub/__init__.py +251 -0
  503. aws_cdk/interfaces/aws_resourceexplorer2/__init__.py +354 -0
  504. aws_cdk/interfaces/aws_resourcegroups/__init__.py +261 -0
  505. aws_cdk/interfaces/aws_robomaker/__init__.py +673 -0
  506. aws_cdk/interfaces/aws_rolesanywhere/__init__.py +384 -0
  507. aws_cdk/interfaces/aws_route53/__init__.py +804 -0
  508. aws_cdk/interfaces/aws_route53profiles/__init__.py +368 -0
  509. aws_cdk/interfaces/aws_route53recoverycontrol/__init__.py +463 -0
  510. aws_cdk/interfaces/aws_route53recoveryreadiness/__init__.py +535 -0
  511. aws_cdk/interfaces/aws_route53resolver/__init__.py +1356 -0
  512. aws_cdk/interfaces/aws_rtbfabric/__init__.py +352 -0
  513. aws_cdk/interfaces/aws_rum/__init__.py +146 -0
  514. aws_cdk/interfaces/aws_s3/__init__.py +1171 -0
  515. aws_cdk/interfaces/aws_s3express/__init__.py +392 -0
  516. aws_cdk/interfaces/aws_s3objectlambda/__init__.py +271 -0
  517. aws_cdk/interfaces/aws_s3outposts/__init__.py +455 -0
  518. aws_cdk/interfaces/aws_s3tables/__init__.py +575 -0
  519. aws_cdk/interfaces/aws_s3vectors/__init__.py +354 -0
  520. aws_cdk/interfaces/aws_sagemaker/__init__.py +3797 -0
  521. aws_cdk/interfaces/aws_sam/__init__.py +603 -0
  522. aws_cdk/interfaces/aws_scheduler/__init__.py +286 -0
  523. aws_cdk/interfaces/aws_sdb/__init__.py +146 -0
  524. aws_cdk/interfaces/aws_secretsmanager/__init__.py +461 -0
  525. aws_cdk/interfaces/aws_securityhub/__init__.py +1499 -0
  526. aws_cdk/interfaces/aws_securitylake/__init__.py +474 -0
  527. aws_cdk/interfaces/aws_servicecatalog/__init__.py +1829 -0
  528. aws_cdk/interfaces/aws_servicecatalogappregistry/__init__.py +557 -0
  529. aws_cdk/interfaces/aws_servicediscovery/__init__.py +636 -0
  530. aws_cdk/interfaces/aws_ses/__init__.py +2018 -0
  531. aws_cdk/interfaces/aws_shield/__init__.py +455 -0
  532. aws_cdk/interfaces/aws_signer/__init__.py +266 -0
  533. aws_cdk/interfaces/aws_simspaceweaver/__init__.py +146 -0
  534. aws_cdk/interfaces/aws_smsvoice/__init__.py +892 -0
  535. aws_cdk/interfaces/aws_sns/__init__.py +455 -0
  536. aws_cdk/interfaces/aws_sqs/__init__.py +364 -0
  537. aws_cdk/interfaces/aws_ssm/__init__.py +982 -0
  538. aws_cdk/interfaces/aws_ssmcontacts/__init__.py +455 -0
  539. aws_cdk/interfaces/aws_ssmguiconnect/__init__.py +146 -0
  540. aws_cdk/interfaces/aws_ssmincidents/__init__.py +249 -0
  541. aws_cdk/interfaces/aws_ssmquicksetup/__init__.py +253 -0
  542. aws_cdk/interfaces/aws_sso/__init__.py +797 -0
  543. aws_cdk/interfaces/aws_stepfunctions/__init__.py +459 -0
  544. aws_cdk/interfaces/aws_supportapp/__init__.py +372 -0
  545. aws_cdk/interfaces/aws_synthetics/__init__.py +249 -0
  546. aws_cdk/interfaces/aws_systemsmanagersap/__init__.py +148 -0
  547. aws_cdk/interfaces/aws_timestream/__init__.py +526 -0
  548. aws_cdk/interfaces/aws_transfer/__init__.py +967 -0
  549. aws_cdk/interfaces/aws_verifiedpermissions/__init__.py +538 -0
  550. aws_cdk/interfaces/aws_voiceid/__init__.py +146 -0
  551. aws_cdk/interfaces/aws_vpclattice/__init__.py +1418 -0
  552. aws_cdk/interfaces/aws_waf/__init__.py +764 -0
  553. aws_cdk/interfaces/aws_wafregional/__init__.py +1182 -0
  554. aws_cdk/interfaces/aws_wafv2/__init__.py +870 -0
  555. aws_cdk/interfaces/aws_wisdom/__init__.py +1556 -0
  556. aws_cdk/interfaces/aws_workspaces/__init__.py +352 -0
  557. aws_cdk/interfaces/aws_workspacesinstances/__init__.py +390 -0
  558. aws_cdk/interfaces/aws_workspacesthinclient/__init__.py +168 -0
  559. aws_cdk/interfaces/aws_workspacesweb/__init__.py +1085 -0
  560. aws_cdk/interfaces/aws_xray/__init__.py +457 -0
  561. aws_cdk/lambda_layer_awscli/__init__.py +6 -0
  562. aws_cdk/lambda_layer_node_proxy_agent/__init__.py +6 -0
  563. aws_cdk/pipelines/__init__.py +202 -52
  564. aws_cdk/region_info/__init__.py +3 -0
  565. aws_cdk/triggers/__init__.py +66 -18
  566. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/METADATA +418 -18
  567. aws_cdk_lib-2.224.0.dist-info/RECORD +584 -0
  568. aws_cdk_lib-2.195.0.dist-info/RECORD +0 -304
  569. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/LICENSE +0 -0
  570. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/NOTICE +0 -0
  571. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/WHEEL +0 -0
  572. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/top_level.txt +0 -0
@@ -100,6 +100,12 @@ ses.AllowListReceiptFilter(self, "AllowList",
100
100
 
101
101
  This will first create a block all filter and then create allow filters for the listed ip addresses.
102
102
 
103
+ ### AWS Service Principal permissions
104
+
105
+ When adding an s3 action to a receipt rule, the CDK will automatically create a policy statement that allows the ses service principal to get write access to the bucket. This is done with the `SourceAccount` condition key, which is automatically added to the policy statement.
106
+ Previously, the policy used the `Referer` condition key, which caused confused deputy problems when the bucket policy allowed access to the bucket for all principals.
107
+ See more information in [this github issue](https://github.com/aws/aws-cdk/issues/29811)
108
+
103
109
  ## Email sending
104
110
 
105
111
  ### Dedicated IP pools
@@ -137,7 +143,6 @@ from aws_cdk import Duration
137
143
 
138
144
 
139
145
  ses.ConfigurationSet(self, "ConfigurationSet",
140
- custom_tracking_redirect_domain="track.cdk.dev",
141
146
  tls_policy=ses.ConfigurationSetTlsPolicy.REQUIRE,
142
147
  dedicated_ip_pool=my_pool,
143
148
  # Specify maximum delivery time
@@ -201,6 +206,20 @@ my_configuration_set.add_event_destination("ToFirehose",
201
206
  )
202
207
  ```
203
208
 
209
+ #### Tracking options
210
+
211
+ 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`.
212
+ Detail can be found in [Custom tracking domain](https://docs.aws.amazon.com/ses/latest/dg/configure-custom-open-click-domains.html).
213
+
214
+ ```python
215
+ ses.ConfigurationSet(self, "ConfigurationSet",
216
+ custom_tracking_redirect_domain="track.cdk.dev",
217
+ custom_tracking_https_policy=ses.HttpsPolicy.REQUIRE
218
+ )
219
+ ```
220
+
221
+ **Note**: The custom tracking redirect domain must be verified in Amazon SES. To create verified identities, you can use the [`EmailIdentity` construct](#email-identity).
222
+
204
223
  ### Override account-level suppression list settings
205
224
 
206
225
  You can customize account-level suppression list separately for different configuration sets by overriding it
@@ -410,6 +429,46 @@ from ..aws_iam import (
410
429
  from ..aws_kinesisfirehose import IDeliveryStream as _IDeliveryStream_8f118861
411
430
  from ..aws_route53 import IPublicHostedZone as _IPublicHostedZone_9b6e7da4
412
431
  from ..aws_sns import ITopic as _ITopic_9eca4852
432
+ from ..interfaces.aws_ses import (
433
+ ConfigurationSetEventDestinationReference as _ConfigurationSetEventDestinationReference_122c29c6,
434
+ ConfigurationSetReference as _ConfigurationSetReference_07006bc6,
435
+ ContactListReference as _ContactListReference_5d48a523,
436
+ DedicatedIpPoolReference as _DedicatedIpPoolReference_05fca49e,
437
+ EmailIdentityReference as _EmailIdentityReference_f9b00141,
438
+ IConfigurationSetEventDestinationRef as _IConfigurationSetEventDestinationRef_937b7110,
439
+ IConfigurationSetRef as _IConfigurationSetRef_c4f30d41,
440
+ IContactListRef as _IContactListRef_1c876363,
441
+ IDedicatedIpPoolRef as _IDedicatedIpPoolRef_c0fd271c,
442
+ IEmailIdentityRef as _IEmailIdentityRef_317356c6,
443
+ IMailManagerAddonInstanceRef as _IMailManagerAddonInstanceRef_6d78bf1e,
444
+ IMailManagerAddonSubscriptionRef as _IMailManagerAddonSubscriptionRef_5202f9cc,
445
+ IMailManagerAddressListRef as _IMailManagerAddressListRef_60a1eed4,
446
+ IMailManagerArchiveRef as _IMailManagerArchiveRef_0d35e3dc,
447
+ IMailManagerIngressPointRef as _IMailManagerIngressPointRef_17ebca73,
448
+ IMailManagerRelayRef as _IMailManagerRelayRef_09ae75d1,
449
+ IMailManagerRuleSetRef as _IMailManagerRuleSetRef_4d1ad1a8,
450
+ IMailManagerTrafficPolicyRef as _IMailManagerTrafficPolicyRef_cb765a4d,
451
+ IMultiRegionEndpointRef as _IMultiRegionEndpointRef_cfd99631,
452
+ IReceiptFilterRef as _IReceiptFilterRef_dbfb106a,
453
+ IReceiptRuleRef as _IReceiptRuleRef_0f93d846,
454
+ IReceiptRuleSetRef as _IReceiptRuleSetRef_f6b881e9,
455
+ ITemplateRef as _ITemplateRef_efd84872,
456
+ IVdmAttributesRef as _IVdmAttributesRef_2d5b2489,
457
+ MailManagerAddonInstanceReference as _MailManagerAddonInstanceReference_b1f4c533,
458
+ MailManagerAddonSubscriptionReference as _MailManagerAddonSubscriptionReference_f9373ba3,
459
+ MailManagerAddressListReference as _MailManagerAddressListReference_107ed953,
460
+ MailManagerArchiveReference as _MailManagerArchiveReference_9422aa21,
461
+ MailManagerIngressPointReference as _MailManagerIngressPointReference_5c89c08c,
462
+ MailManagerRelayReference as _MailManagerRelayReference_655db003,
463
+ MailManagerRuleSetReference as _MailManagerRuleSetReference_5cca7d98,
464
+ MailManagerTrafficPolicyReference as _MailManagerTrafficPolicyReference_4209d122,
465
+ MultiRegionEndpointReference as _MultiRegionEndpointReference_887ccebf,
466
+ ReceiptFilterReference as _ReceiptFilterReference_d15ec7c1,
467
+ ReceiptRuleReference as _ReceiptRuleReference_2b9e9bb2,
468
+ ReceiptRuleSetReference as _ReceiptRuleSetReference_0daf31cb,
469
+ TemplateReference as _TemplateReference_cceb8bea,
470
+ VdmAttributesReference as _VdmAttributesReference_007eac2c,
471
+ )
413
472
 
414
473
 
415
474
  @jsii.data_type(
@@ -785,7 +844,7 @@ class ByoDkimOptions:
785
844
  )
786
845
 
787
846
 
788
- @jsii.implements(_IInspectable_c2943556)
847
+ @jsii.implements(_IInspectable_c2943556, _IConfigurationSetRef_c4f30d41, _ITaggableV2_4e6798f8)
789
848
  class CfnConfigurationSet(
790
849
  _CfnResource_9df397a6,
791
850
  metaclass=jsii.JSIIMeta,
@@ -834,6 +893,10 @@ class CfnConfigurationSet(
834
893
  suppression_options=ses.CfnConfigurationSet.SuppressionOptionsProperty(
835
894
  suppressed_reasons=["suppressedReasons"]
836
895
  ),
896
+ tags=[CfnTag(
897
+ key="key",
898
+ value="value"
899
+ )],
837
900
  tracking_options=ses.CfnConfigurationSet.TrackingOptionsProperty(
838
901
  custom_redirect_domain="customRedirectDomain",
839
902
  https_policy="httpsPolicy"
@@ -859,10 +922,12 @@ class CfnConfigurationSet(
859
922
  reputation_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConfigurationSet.ReputationOptionsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
860
923
  sending_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConfigurationSet.SendingOptionsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
861
924
  suppression_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConfigurationSet.SuppressionOptionsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
925
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
862
926
  tracking_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConfigurationSet.TrackingOptionsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
863
927
  vdm_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConfigurationSet.VdmOptionsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
864
928
  ) -> None:
865
- '''
929
+ '''Create a new ``AWS::SES::ConfigurationSet``.
930
+
866
931
  :param scope: Scope in which this resource is defined.
867
932
  :param id: Construct identifier for this resource (unique in its scope).
868
933
  :param delivery_options: Specifies the name of the dedicated IP pool to associate with the configuration set and whether messages that use the configuration set are required to use Transport Layer Security (TLS).
@@ -870,6 +935,7 @@ class CfnConfigurationSet(
870
935
  :param reputation_options: An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set.
871
936
  :param sending_options: An object that defines whether or not Amazon SES can send email that you send using the configuration set.
872
937
  :param suppression_options: An object that contains information about the suppression list preferences for your account.
938
+ :param tags: An array of objects that define the tags (keys and values) that are associated with the configuration set.
873
939
  :param tracking_options: An object that defines the open and click tracking options for emails that you send using the configuration set.
874
940
  :param vdm_options: The Virtual Deliverability Manager (VDM) options that apply to the configuration set.
875
941
  '''
@@ -883,12 +949,34 @@ class CfnConfigurationSet(
883
949
  reputation_options=reputation_options,
884
950
  sending_options=sending_options,
885
951
  suppression_options=suppression_options,
952
+ tags=tags,
886
953
  tracking_options=tracking_options,
887
954
  vdm_options=vdm_options,
888
955
  )
889
956
 
890
957
  jsii.create(self.__class__, self, [scope, id, props])
891
958
 
959
+ @jsii.member(jsii_name="fromConfigurationSetName")
960
+ @builtins.classmethod
961
+ def from_configuration_set_name(
962
+ cls,
963
+ scope: _constructs_77d1e7e8.Construct,
964
+ id: builtins.str,
965
+ configuration_set_name: builtins.str,
966
+ ) -> _IConfigurationSetRef_c4f30d41:
967
+ '''Creates a new IConfigurationSetRef from a configurationSetName.
968
+
969
+ :param scope: -
970
+ :param id: -
971
+ :param configuration_set_name: -
972
+ '''
973
+ if __debug__:
974
+ type_hints = typing.get_type_hints(_typecheckingstub__f7e0cde305853fb2c740f29455949111afc0143ce4346e290a5d583cd414e670)
975
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
976
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
977
+ check_type(argname="argument configuration_set_name", value=configuration_set_name, expected_type=type_hints["configuration_set_name"])
978
+ return typing.cast(_IConfigurationSetRef_c4f30d41, jsii.sinvoke(cls, "fromConfigurationSetName", [scope, id, configuration_set_name]))
979
+
892
980
  @jsii.member(jsii_name="inspect")
893
981
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
894
982
  '''Examines the CloudFormation resource and discloses attributes.
@@ -919,11 +1007,23 @@ class CfnConfigurationSet(
919
1007
  '''The CloudFormation resource type name for this resource class.'''
920
1008
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
921
1009
 
1010
+ @builtins.property
1011
+ @jsii.member(jsii_name="cdkTagManager")
1012
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
1013
+ '''Tag Manager which manages the tags for this resource.'''
1014
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
1015
+
922
1016
  @builtins.property
923
1017
  @jsii.member(jsii_name="cfnProperties")
924
1018
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
925
1019
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
926
1020
 
1021
+ @builtins.property
1022
+ @jsii.member(jsii_name="configurationSetRef")
1023
+ def configuration_set_ref(self) -> _ConfigurationSetReference_07006bc6:
1024
+ '''A reference to a ConfigurationSet resource.'''
1025
+ return typing.cast(_ConfigurationSetReference_07006bc6, jsii.get(self, "configurationSetRef"))
1026
+
927
1027
  @builtins.property
928
1028
  @jsii.member(jsii_name="deliveryOptions")
929
1029
  def delivery_options(
@@ -1012,6 +1112,19 @@ class CfnConfigurationSet(
1012
1112
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1013
1113
  jsii.set(self, "suppressionOptions", value) # pyright: ignore[reportArgumentType]
1014
1114
 
1115
+ @builtins.property
1116
+ @jsii.member(jsii_name="tags")
1117
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1118
+ '''An array of objects that define the tags (keys and values) that are associated with the configuration set.'''
1119
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
1120
+
1121
+ @tags.setter
1122
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
1123
+ if __debug__:
1124
+ type_hints = typing.get_type_hints(_typecheckingstub__c62b9f68ee9b0075b17aa0e2ad90c86281aa22d6d7e67129dbeee761ce2c5d4f)
1125
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1126
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
1127
+
1015
1128
  @builtins.property
1016
1129
  @jsii.member(jsii_name="trackingOptions")
1017
1130
  def tracking_options(
@@ -1122,7 +1235,7 @@ class CfnConfigurationSet(
1122
1235
  ) -> None:
1123
1236
  '''Specifies the name of the dedicated IP pool to associate with the configuration set and whether messages that use the configuration set are required to use Transport Layer Security (TLS).
1124
1237
 
1125
- :param max_delivery_seconds: The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes).
1238
+ :param max_delivery_seconds: The name of the configuration set used when sent through a configuration set with archiving enabled.
1126
1239
  :param sending_pool_name: The name of the dedicated IP pool to associate with the configuration set.
1127
1240
  :param tls_policy: Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). If the value is ``REQUIRE`` , messages are only delivered if a TLS connection can be established. If the value is ``OPTIONAL`` , messages can be delivered in plain text if a TLS connection can't be established. Valid Values: ``REQUIRE | OPTIONAL``
1128
1241
 
@@ -1156,9 +1269,7 @@ class CfnConfigurationSet(
1156
1269
 
1157
1270
  @builtins.property
1158
1271
  def max_delivery_seconds(self) -> typing.Optional[jsii.Number]:
1159
- '''The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email.
1160
-
1161
- If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes).
1272
+ '''The name of the configuration set used when sent through a configuration set with archiving enabled.
1162
1273
 
1163
1274
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-deliveryoptions.html#cfn-ses-configurationset-deliveryoptions-maxdeliveryseconds
1164
1275
  '''
@@ -1455,7 +1566,7 @@ class CfnConfigurationSet(
1455
1566
  For more information, see `Configuring Custom Domains to Handle Open and Click Tracking <https://docs.aws.amazon.com/ses/latest/dg/configure-custom-open-click-domains.html>`_ in the *Amazon SES Developer Guide* .
1456
1567
 
1457
1568
  :param custom_redirect_domain: The custom subdomain that is used to redirect email recipients to the Amazon SES event tracking domain.
1458
- :param https_policy: The https policy to use for tracking open and click events.
1569
+ :param https_policy: The name of the configuration set used when sent through a configuration set with archiving enabled.
1459
1570
 
1460
1571
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-trackingoptions.html
1461
1572
  :exampleMetadata: fixture=_generated
@@ -1492,7 +1603,7 @@ class CfnConfigurationSet(
1492
1603
 
1493
1604
  @builtins.property
1494
1605
  def https_policy(self) -> typing.Optional[builtins.str]:
1495
- '''The https policy to use for tracking open and click events.
1606
+ '''The name of the configuration set used when sent through a configuration set with archiving enabled.
1496
1607
 
1497
1608
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-trackingoptions.html#cfn-ses-configurationset-trackingoptions-httpspolicy
1498
1609
  '''
@@ -1592,7 +1703,7 @@ class CfnConfigurationSet(
1592
1703
  )
1593
1704
 
1594
1705
 
1595
- @jsii.implements(_IInspectable_c2943556)
1706
+ @jsii.implements(_IInspectable_c2943556, _IConfigurationSetEventDestinationRef_937b7110)
1596
1707
  class CfnConfigurationSetEventDestination(
1597
1708
  _CfnResource_9df397a6,
1598
1709
  metaclass=jsii.JSIIMeta,
@@ -1651,7 +1762,8 @@ class CfnConfigurationSetEventDestination(
1651
1762
  configuration_set_name: builtins.str,
1652
1763
  event_destination: typing.Union[_IResolvable_da3f097b, typing.Union["CfnConfigurationSetEventDestination.EventDestinationProperty", typing.Dict[builtins.str, typing.Any]]],
1653
1764
  ) -> None:
1654
- '''
1765
+ '''Create a new ``AWS::SES::ConfigurationSetEventDestination``.
1766
+
1655
1767
  :param scope: Scope in which this resource is defined.
1656
1768
  :param id: Construct identifier for this resource (unique in its scope).
1657
1769
  :param configuration_set_name: The name of the configuration set that contains the event destination.
@@ -1711,6 +1823,14 @@ class CfnConfigurationSetEventDestination(
1711
1823
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
1712
1824
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1713
1825
 
1826
+ @builtins.property
1827
+ @jsii.member(jsii_name="configurationSetEventDestinationRef")
1828
+ def configuration_set_event_destination_ref(
1829
+ self,
1830
+ ) -> _ConfigurationSetEventDestinationReference_122c29c6:
1831
+ '''A reference to a ConfigurationSetEventDestination resource.'''
1832
+ return typing.cast(_ConfigurationSetEventDestinationReference_122c29c6, jsii.get(self, "configurationSetEventDestinationRef"))
1833
+
1714
1834
  @builtins.property
1715
1835
  @jsii.member(jsii_name="configurationSetName")
1716
1836
  def configuration_set_name(self) -> builtins.str:
@@ -1992,7 +2112,7 @@ class CfnConfigurationSetEventDestination(
1992
2112
 
1993
2113
  *Event destinations* are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage.
1994
2114
 
1995
- :param matching_event_types: The types of events that Amazon SES sends to the specified event destinations. - ``SEND`` - The send request was successful and SES will attempt to deliver the message to the recipient’s mail server. (If account-level or global suppression is being used, SES will still count it as a send, but delivery is suppressed.) - ``REJECT`` - SES accepted the email, but determined that it contained a virus and didn’t attempt to deliver it to the recipient’s mail server. - ``BOUNCE`` - ( *Hard bounce* ) The recipient's mail server permanently rejected the email. ( *Soft bounces* are only included when SES fails to deliver the email after retrying for a period of time.) - ``COMPLAINT`` - The email was successfully delivered to the recipient’s mail server, but the recipient marked it as spam. - ``DELIVERY`` - SES successfully delivered the email to the recipient's mail server. - ``OPEN`` - The recipient received the message and opened it in their email client. - ``CLICK`` - The recipient clicked one or more links in the email. - ``RENDERING_FAILURE`` - The email wasn't sent because of a template rendering issue. This event type can occur when template data is missing, or when there is a mismatch between template parameters and data. (This event type only occurs when you send email using the ```SendTemplatedEmail`` <https://docs.aws.amazon.com/ses/latest/APIReference/API_SendTemplatedEmail.html>`_ or ```SendBulkTemplatedEmail`` <https://docs.aws.amazon.com/ses/latest/APIReference/API_SendBulkTemplatedEmail.html>`_ API operations.) - ``DELIVERY_DELAY`` - The email couldn't be delivered to the recipient’s mail server because a temporary issue occurred. Delivery delays can occur, for example, when the recipient's inbox is full, or when the receiving email server experiences a transient issue. - ``SUBSCRIPTION`` - The email was successfully delivered, but the recipient updated their subscription preferences by clicking on an *unsubscribe* link as part of your `subscription management <https://docs.aws.amazon.com/ses/latest/dg/sending-email-subscription-management.html>`_ .
2115
+ :param matching_event_types: The types of events that Amazon SES sends to the specified event destinations. - ``SEND`` - The send request was successful and SES will attempt to deliver the message to the recipient’s mail server. (If account-level or global suppression is being used, SES will still count it as a send, but delivery is suppressed.) - ``REJECT`` - SES accepted the email, but determined that it contained a virus and didn’t attempt to deliver it to the recipient’s mail server. - ``BOUNCE`` - ( *Hard bounce* ) The recipient's mail server permanently rejected the email. ( *Soft bounces* are only included when SES fails to deliver the email after retrying for a period of time.) - ``COMPLAINT`` - The email was successfully delivered to the recipient’s mail server, but the recipient marked it as spam. - ``DELIVERY`` - SES successfully delivered the email to the recipient's mail server. - ``OPEN`` - The recipient received the message and opened it in their email client. - ``CLICK`` - The recipient clicked one or more links in the email. - ``RENDERING_FAILURE`` - The email wasn't sent because of a template rendering issue. This event type can occur when template data is missing, or when there is a mismatch between template parameters and data. (This event type only occurs when you send email using the ```SendEmail`` <https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SendEmail.html>`_ or ```SendBulkEmail`` <https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SendBulkEmail.html>`_ API operations.) - ``DELIVERY_DELAY`` - The email couldn't be delivered to the recipient’s mail server because a temporary issue occurred. Delivery delays can occur, for example, when the recipient's inbox is full, or when the receiving email server experiences a transient issue. - ``SUBSCRIPTION`` - The email was successfully delivered, but the recipient updated their subscription preferences by clicking on an *unsubscribe* link as part of your `subscription management <https://docs.aws.amazon.com/ses/latest/dg/sending-email-subscription-management.html>`_ .
1996
2116
  :param cloud_watch_destination: An object that defines an Amazon CloudWatch destination for email events. You can use Amazon CloudWatch to monitor and gain insights on your email sending metrics.
1997
2117
  :param enabled: If ``true`` , the event destination is enabled. When the event destination is enabled, the specified event types are sent to the destinations in this ``EventDestinationDefinition`` . If ``false`` , the event destination is disabled. When the event destination is disabled, events aren't sent to the specified destinations.
1998
2118
  :param event_bridge_destination: An object that defines an Amazon EventBridge destination for email events. You can use Amazon EventBridge to send notifications when certain email events occur.
@@ -2070,7 +2190,7 @@ class CfnConfigurationSetEventDestination(
2070
2190
  - ``DELIVERY`` - SES successfully delivered the email to the recipient's mail server.
2071
2191
  - ``OPEN`` - The recipient received the message and opened it in their email client.
2072
2192
  - ``CLICK`` - The recipient clicked one or more links in the email.
2073
- - ``RENDERING_FAILURE`` - The email wasn't sent because of a template rendering issue. This event type can occur when template data is missing, or when there is a mismatch between template parameters and data. (This event type only occurs when you send email using the ```SendTemplatedEmail`` <https://docs.aws.amazon.com/ses/latest/APIReference/API_SendTemplatedEmail.html>`_ or ```SendBulkTemplatedEmail`` <https://docs.aws.amazon.com/ses/latest/APIReference/API_SendBulkTemplatedEmail.html>`_ API operations.)
2193
+ - ``RENDERING_FAILURE`` - The email wasn't sent because of a template rendering issue. This event type can occur when template data is missing, or when there is a mismatch between template parameters and data. (This event type only occurs when you send email using the ```SendEmail`` <https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SendEmail.html>`_ or ```SendBulkEmail`` <https://docs.aws.amazon.com/ses/latest/APIReference-V2/API_SendBulkEmail.html>`_ API operations.)
2074
2194
  - ``DELIVERY_DELAY`` - The email couldn't be delivered to the recipient’s mail server because a temporary issue occurred. Delivery delays can occur, for example, when the recipient's inbox is full, or when the receiving email server experiences a transient issue.
2075
2195
  - ``SUBSCRIPTION`` - The email was successfully delivered, but the recipient updated their subscription preferences by clicking on an *unsubscribe* link as part of your `subscription management <https://docs.aws.amazon.com/ses/latest/dg/sending-email-subscription-management.html>`_ .
2076
2196
 
@@ -2410,6 +2530,7 @@ class CfnConfigurationSetEventDestinationProps:
2410
2530
  "reputation_options": "reputationOptions",
2411
2531
  "sending_options": "sendingOptions",
2412
2532
  "suppression_options": "suppressionOptions",
2533
+ "tags": "tags",
2413
2534
  "tracking_options": "trackingOptions",
2414
2535
  "vdm_options": "vdmOptions",
2415
2536
  },
@@ -2423,6 +2544,7 @@ class CfnConfigurationSetProps:
2423
2544
  reputation_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfigurationSet.ReputationOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2424
2545
  sending_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfigurationSet.SendingOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2425
2546
  suppression_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfigurationSet.SuppressionOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2547
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2426
2548
  tracking_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfigurationSet.TrackingOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2427
2549
  vdm_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfigurationSet.VdmOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2428
2550
  ) -> None:
@@ -2433,6 +2555,7 @@ class CfnConfigurationSetProps:
2433
2555
  :param reputation_options: An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set.
2434
2556
  :param sending_options: An object that defines whether or not Amazon SES can send email that you send using the configuration set.
2435
2557
  :param suppression_options: An object that contains information about the suppression list preferences for your account.
2558
+ :param tags: An array of objects that define the tags (keys and values) that are associated with the configuration set.
2436
2559
  :param tracking_options: An object that defines the open and click tracking options for emails that you send using the configuration set.
2437
2560
  :param vdm_options: The Virtual Deliverability Manager (VDM) options that apply to the configuration set.
2438
2561
 
@@ -2461,6 +2584,10 @@ class CfnConfigurationSetProps:
2461
2584
  suppression_options=ses.CfnConfigurationSet.SuppressionOptionsProperty(
2462
2585
  suppressed_reasons=["suppressedReasons"]
2463
2586
  ),
2587
+ tags=[CfnTag(
2588
+ key="key",
2589
+ value="value"
2590
+ )],
2464
2591
  tracking_options=ses.CfnConfigurationSet.TrackingOptionsProperty(
2465
2592
  custom_redirect_domain="customRedirectDomain",
2466
2593
  https_policy="httpsPolicy"
@@ -2482,6 +2609,7 @@ class CfnConfigurationSetProps:
2482
2609
  check_type(argname="argument reputation_options", value=reputation_options, expected_type=type_hints["reputation_options"])
2483
2610
  check_type(argname="argument sending_options", value=sending_options, expected_type=type_hints["sending_options"])
2484
2611
  check_type(argname="argument suppression_options", value=suppression_options, expected_type=type_hints["suppression_options"])
2612
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
2485
2613
  check_type(argname="argument tracking_options", value=tracking_options, expected_type=type_hints["tracking_options"])
2486
2614
  check_type(argname="argument vdm_options", value=vdm_options, expected_type=type_hints["vdm_options"])
2487
2615
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -2495,6 +2623,8 @@ class CfnConfigurationSetProps:
2495
2623
  self._values["sending_options"] = sending_options
2496
2624
  if suppression_options is not None:
2497
2625
  self._values["suppression_options"] = suppression_options
2626
+ if tags is not None:
2627
+ self._values["tags"] = tags
2498
2628
  if tracking_options is not None:
2499
2629
  self._values["tracking_options"] = tracking_options
2500
2630
  if vdm_options is not None:
@@ -2556,6 +2686,15 @@ class CfnConfigurationSetProps:
2556
2686
  result = self._values.get("suppression_options")
2557
2687
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnConfigurationSet.SuppressionOptionsProperty]], result)
2558
2688
 
2689
+ @builtins.property
2690
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
2691
+ '''An array of objects that define the tags (keys and values) that are associated with the configuration set.
2692
+
2693
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationset.html#cfn-ses-configurationset-tags
2694
+ '''
2695
+ result = self._values.get("tags")
2696
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
2697
+
2559
2698
  @builtins.property
2560
2699
  def tracking_options(
2561
2700
  self,
@@ -2590,7 +2729,7 @@ class CfnConfigurationSetProps:
2590
2729
  )
2591
2730
 
2592
2731
 
2593
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
2732
+ @jsii.implements(_IInspectable_c2943556, _IContactListRef_1c876363, _ITaggable_36806126)
2594
2733
  class CfnContactList(
2595
2734
  _CfnResource_9df397a6,
2596
2735
  metaclass=jsii.JSIIMeta,
@@ -2636,7 +2775,8 @@ class CfnContactList(
2636
2775
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2637
2776
  topics: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnContactList.TopicProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
2638
2777
  ) -> None:
2639
- '''
2778
+ '''Create a new ``AWS::SES::ContactList``.
2779
+
2640
2780
  :param scope: Scope in which this resource is defined.
2641
2781
  :param id: Construct identifier for this resource (unique in its scope).
2642
2782
  :param contact_list_name: The name of the contact list.
@@ -2657,6 +2797,27 @@ class CfnContactList(
2657
2797
 
2658
2798
  jsii.create(self.__class__, self, [scope, id, props])
2659
2799
 
2800
+ @jsii.member(jsii_name="fromContactListName")
2801
+ @builtins.classmethod
2802
+ def from_contact_list_name(
2803
+ cls,
2804
+ scope: _constructs_77d1e7e8.Construct,
2805
+ id: builtins.str,
2806
+ contact_list_name: builtins.str,
2807
+ ) -> _IContactListRef_1c876363:
2808
+ '''Creates a new IContactListRef from a contactListName.
2809
+
2810
+ :param scope: -
2811
+ :param id: -
2812
+ :param contact_list_name: -
2813
+ '''
2814
+ if __debug__:
2815
+ type_hints = typing.get_type_hints(_typecheckingstub__3b19a50d34c95519a9d081d656ff2b1634828c7fe7a66b655cd9cb5360e9e3f6)
2816
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
2817
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
2818
+ check_type(argname="argument contact_list_name", value=contact_list_name, expected_type=type_hints["contact_list_name"])
2819
+ return typing.cast(_IContactListRef_1c876363, jsii.sinvoke(cls, "fromContactListName", [scope, id, contact_list_name]))
2820
+
2660
2821
  @jsii.member(jsii_name="inspect")
2661
2822
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
2662
2823
  '''Examines the CloudFormation resource and discloses attributes.
@@ -2692,6 +2853,12 @@ class CfnContactList(
2692
2853
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
2693
2854
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
2694
2855
 
2856
+ @builtins.property
2857
+ @jsii.member(jsii_name="contactListRef")
2858
+ def contact_list_ref(self) -> _ContactListReference_5d48a523:
2859
+ '''A reference to a ContactList resource.'''
2860
+ return typing.cast(_ContactListReference_5d48a523, jsii.get(self, "contactListRef"))
2861
+
2695
2862
  @builtins.property
2696
2863
  @jsii.member(jsii_name="tags")
2697
2864
  def tags(self) -> _TagManager_0a598cb3:
@@ -2986,7 +3153,7 @@ class CfnContactListProps:
2986
3153
  )
2987
3154
 
2988
3155
 
2989
- @jsii.implements(_IInspectable_c2943556)
3156
+ @jsii.implements(_IInspectable_c2943556, _IDedicatedIpPoolRef_c0fd271c, _ITaggableV2_4e6798f8)
2990
3157
  class CfnDedicatedIpPool(
2991
3158
  _CfnResource_9df397a6,
2992
3159
  metaclass=jsii.JSIIMeta,
@@ -3011,7 +3178,11 @@ class CfnDedicatedIpPool(
3011
3178
 
3012
3179
  cfn_dedicated_ip_pool = ses.CfnDedicatedIpPool(self, "MyCfnDedicatedIpPool",
3013
3180
  pool_name="poolName",
3014
- scaling_mode="scalingMode"
3181
+ scaling_mode="scalingMode",
3182
+ tags=[CfnTag(
3183
+ key="key",
3184
+ value="value"
3185
+ )]
3015
3186
  )
3016
3187
  '''
3017
3188
 
@@ -3022,18 +3193,23 @@ class CfnDedicatedIpPool(
3022
3193
  *,
3023
3194
  pool_name: typing.Optional[builtins.str] = None,
3024
3195
  scaling_mode: typing.Optional[builtins.str] = None,
3196
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3025
3197
  ) -> None:
3026
- '''
3198
+ '''Create a new ``AWS::SES::DedicatedIpPool``.
3199
+
3027
3200
  :param scope: Scope in which this resource is defined.
3028
3201
  :param id: Construct identifier for this resource (unique in its scope).
3029
3202
  :param pool_name: The name of the dedicated IP pool that the IP address is associated with.
3030
3203
  :param scaling_mode: The type of scaling mode. The following options are available: - ``STANDARD`` - The customer controls which IPs are part of the dedicated IP pool. - ``MANAGED`` - The reputation and number of IPs are automatically managed by Amazon SES . The ``STANDARD`` option is selected by default if no value is specified. .. epigraph:: Updating *ScalingMode* doesn't require a replacement if you're updating its value from ``STANDARD`` to ``MANAGED`` . However, updating *ScalingMode* from ``MANAGED`` to ``STANDARD`` is not supported.
3204
+ :param tags: An object that defines the tags (keys and values) that you want to associate with the pool.
3031
3205
  '''
3032
3206
  if __debug__:
3033
3207
  type_hints = typing.get_type_hints(_typecheckingstub__86a024e58c5549e30a3beca5bb152d09219a0cb42e6e02b0e95395595c9930e2)
3034
3208
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
3035
3209
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
3036
- props = CfnDedicatedIpPoolProps(pool_name=pool_name, scaling_mode=scaling_mode)
3210
+ props = CfnDedicatedIpPoolProps(
3211
+ pool_name=pool_name, scaling_mode=scaling_mode, tags=tags
3212
+ )
3037
3213
 
3038
3214
  jsii.create(self.__class__, self, [scope, id, props])
3039
3215
 
@@ -3067,11 +3243,23 @@ class CfnDedicatedIpPool(
3067
3243
  '''The CloudFormation resource type name for this resource class.'''
3068
3244
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
3069
3245
 
3246
+ @builtins.property
3247
+ @jsii.member(jsii_name="cdkTagManager")
3248
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
3249
+ '''Tag Manager which manages the tags for this resource.'''
3250
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
3251
+
3070
3252
  @builtins.property
3071
3253
  @jsii.member(jsii_name="cfnProperties")
3072
3254
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
3073
3255
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
3074
3256
 
3257
+ @builtins.property
3258
+ @jsii.member(jsii_name="dedicatedIpPoolRef")
3259
+ def dedicated_ip_pool_ref(self) -> _DedicatedIpPoolReference_05fca49e:
3260
+ '''A reference to a DedicatedIpPool resource.'''
3261
+ return typing.cast(_DedicatedIpPoolReference_05fca49e, jsii.get(self, "dedicatedIpPoolRef"))
3262
+
3075
3263
  @builtins.property
3076
3264
  @jsii.member(jsii_name="poolName")
3077
3265
  def pool_name(self) -> typing.Optional[builtins.str]:
@@ -3098,11 +3286,28 @@ class CfnDedicatedIpPool(
3098
3286
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3099
3287
  jsii.set(self, "scalingMode", value) # pyright: ignore[reportArgumentType]
3100
3288
 
3289
+ @builtins.property
3290
+ @jsii.member(jsii_name="tags")
3291
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
3292
+ '''An object that defines the tags (keys and values) that you want to associate with the pool.'''
3293
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
3294
+
3295
+ @tags.setter
3296
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
3297
+ if __debug__:
3298
+ type_hints = typing.get_type_hints(_typecheckingstub__fdfb8383d85d605dbc464ac070d5b1dbd7acd9e899b479c712bf9f4e9432f8d8)
3299
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3300
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
3301
+
3101
3302
 
3102
3303
  @jsii.data_type(
3103
3304
  jsii_type="aws-cdk-lib.aws_ses.CfnDedicatedIpPoolProps",
3104
3305
  jsii_struct_bases=[],
3105
- name_mapping={"pool_name": "poolName", "scaling_mode": "scalingMode"},
3306
+ name_mapping={
3307
+ "pool_name": "poolName",
3308
+ "scaling_mode": "scalingMode",
3309
+ "tags": "tags",
3310
+ },
3106
3311
  )
3107
3312
  class CfnDedicatedIpPoolProps:
3108
3313
  def __init__(
@@ -3110,11 +3315,13 @@ class CfnDedicatedIpPoolProps:
3110
3315
  *,
3111
3316
  pool_name: typing.Optional[builtins.str] = None,
3112
3317
  scaling_mode: typing.Optional[builtins.str] = None,
3318
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3113
3319
  ) -> None:
3114
3320
  '''Properties for defining a ``CfnDedicatedIpPool``.
3115
3321
 
3116
3322
  :param pool_name: The name of the dedicated IP pool that the IP address is associated with.
3117
3323
  :param scaling_mode: The type of scaling mode. The following options are available: - ``STANDARD`` - The customer controls which IPs are part of the dedicated IP pool. - ``MANAGED`` - The reputation and number of IPs are automatically managed by Amazon SES . The ``STANDARD`` option is selected by default if no value is specified. .. epigraph:: Updating *ScalingMode* doesn't require a replacement if you're updating its value from ``STANDARD`` to ``MANAGED`` . However, updating *ScalingMode* from ``MANAGED`` to ``STANDARD`` is not supported.
3324
+ :param tags: An object that defines the tags (keys and values) that you want to associate with the pool.
3118
3325
 
3119
3326
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-dedicatedippool.html
3120
3327
  :exampleMetadata: fixture=_generated
@@ -3127,18 +3334,25 @@ class CfnDedicatedIpPoolProps:
3127
3334
 
3128
3335
  cfn_dedicated_ip_pool_props = ses.CfnDedicatedIpPoolProps(
3129
3336
  pool_name="poolName",
3130
- scaling_mode="scalingMode"
3337
+ scaling_mode="scalingMode",
3338
+ tags=[CfnTag(
3339
+ key="key",
3340
+ value="value"
3341
+ )]
3131
3342
  )
3132
3343
  '''
3133
3344
  if __debug__:
3134
3345
  type_hints = typing.get_type_hints(_typecheckingstub__ea1a308c0c75c9aabf33c8c8b6378da7534f946eff787acdd2dc100f0b482f56)
3135
3346
  check_type(argname="argument pool_name", value=pool_name, expected_type=type_hints["pool_name"])
3136
3347
  check_type(argname="argument scaling_mode", value=scaling_mode, expected_type=type_hints["scaling_mode"])
3348
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
3137
3349
  self._values: typing.Dict[builtins.str, typing.Any] = {}
3138
3350
  if pool_name is not None:
3139
3351
  self._values["pool_name"] = pool_name
3140
3352
  if scaling_mode is not None:
3141
3353
  self._values["scaling_mode"] = scaling_mode
3354
+ if tags is not None:
3355
+ self._values["tags"] = tags
3142
3356
 
3143
3357
  @builtins.property
3144
3358
  def pool_name(self) -> typing.Optional[builtins.str]:
@@ -3168,6 +3382,15 @@ class CfnDedicatedIpPoolProps:
3168
3382
  result = self._values.get("scaling_mode")
3169
3383
  return typing.cast(typing.Optional[builtins.str], result)
3170
3384
 
3385
+ @builtins.property
3386
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
3387
+ '''An object that defines the tags (keys and values) that you want to associate with the pool.
3388
+
3389
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-dedicatedippool.html#cfn-ses-dedicatedippool-tags
3390
+ '''
3391
+ result = self._values.get("tags")
3392
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
3393
+
3171
3394
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
3172
3395
  return isinstance(rhs, self.__class__) and rhs._values == self._values
3173
3396
 
@@ -3180,7 +3403,7 @@ class CfnDedicatedIpPoolProps:
3180
3403
  )
3181
3404
 
3182
3405
 
3183
- @jsii.implements(_IInspectable_c2943556)
3406
+ @jsii.implements(_IInspectable_c2943556, _IEmailIdentityRef_317356c6, _ITaggableV2_4e6798f8)
3184
3407
  class CfnEmailIdentity(
3185
3408
  _CfnResource_9df397a6,
3186
3409
  metaclass=jsii.JSIIMeta,
@@ -3227,7 +3450,11 @@ class CfnEmailIdentity(
3227
3450
  mail_from_attributes=ses.CfnEmailIdentity.MailFromAttributesProperty(
3228
3451
  behavior_on_mx_failure="behaviorOnMxFailure",
3229
3452
  mail_from_domain="mailFromDomain"
3230
- )
3453
+ ),
3454
+ tags=[CfnTag(
3455
+ key="key",
3456
+ value="value"
3457
+ )]
3231
3458
  )
3232
3459
  '''
3233
3460
 
@@ -3242,8 +3469,10 @@ class CfnEmailIdentity(
3242
3469
  dkim_signing_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnEmailIdentity.DkimSigningAttributesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3243
3470
  feedback_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnEmailIdentity.FeedbackAttributesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3244
3471
  mail_from_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnEmailIdentity.MailFromAttributesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3472
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3245
3473
  ) -> None:
3246
- '''
3474
+ '''Create a new ``AWS::SES::EmailIdentity``.
3475
+
3247
3476
  :param scope: Scope in which this resource is defined.
3248
3477
  :param id: Construct identifier for this resource (unique in its scope).
3249
3478
  :param email_identity: The email address or domain to verify.
@@ -3252,6 +3481,7 @@ class CfnEmailIdentity(
3252
3481
  :param dkim_signing_attributes: If your request includes this object, Amazon SES configures the identity to use Bring Your Own DKIM (BYODKIM) for DKIM authentication purposes, or, configures the key length to be used for `Easy DKIM <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html>`_ . You can only specify this object if the email identity is a domain, as opposed to an address.
3253
3482
  :param feedback_attributes: Used to enable or disable feedback forwarding for an identity.
3254
3483
  :param mail_from_attributes: Used to enable or disable the custom Mail-From domain configuration for an email identity.
3484
+ :param tags: An array of objects that define the tags (keys and values) to associate with the email identity.
3255
3485
  '''
3256
3486
  if __debug__:
3257
3487
  type_hints = typing.get_type_hints(_typecheckingstub__6dd153888b73988faf47365b573ef9e102d03faf2ff7fc2112c9b85962c0cc81)
@@ -3264,6 +3494,7 @@ class CfnEmailIdentity(
3264
3494
  dkim_signing_attributes=dkim_signing_attributes,
3265
3495
  feedback_attributes=feedback_attributes,
3266
3496
  mail_from_attributes=mail_from_attributes,
3497
+ tags=tags,
3267
3498
  )
3268
3499
 
3269
3500
  jsii.create(self.__class__, self, [scope, id, props])
@@ -3352,11 +3583,23 @@ class CfnEmailIdentity(
3352
3583
  '''
3353
3584
  return typing.cast(builtins.str, jsii.get(self, "attrDkimDnsTokenValue3"))
3354
3585
 
3586
+ @builtins.property
3587
+ @jsii.member(jsii_name="cdkTagManager")
3588
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
3589
+ '''Tag Manager which manages the tags for this resource.'''
3590
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
3591
+
3355
3592
  @builtins.property
3356
3593
  @jsii.member(jsii_name="cfnProperties")
3357
3594
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
3358
3595
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
3359
3596
 
3597
+ @builtins.property
3598
+ @jsii.member(jsii_name="emailIdentityRef")
3599
+ def email_identity_ref(self) -> _EmailIdentityReference_f9b00141:
3600
+ '''A reference to a EmailIdentity resource.'''
3601
+ return typing.cast(_EmailIdentityReference_f9b00141, jsii.get(self, "emailIdentityRef"))
3602
+
3360
3603
  @builtins.property
3361
3604
  @jsii.member(jsii_name="emailIdentity")
3362
3605
  def email_identity(self) -> builtins.str:
@@ -3460,6 +3703,19 @@ class CfnEmailIdentity(
3460
3703
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3461
3704
  jsii.set(self, "mailFromAttributes", value) # pyright: ignore[reportArgumentType]
3462
3705
 
3706
+ @builtins.property
3707
+ @jsii.member(jsii_name="tags")
3708
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
3709
+ '''An array of objects that define the tags (keys and values) to associate with the email identity.'''
3710
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
3711
+
3712
+ @tags.setter
3713
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
3714
+ if __debug__:
3715
+ type_hints = typing.get_type_hints(_typecheckingstub__734a5169a3a8e4af6fa9920987d51d19a7ae6a49e4504934eb9c54d8bf21aa81)
3716
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3717
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
3718
+
3463
3719
  @jsii.data_type(
3464
3720
  jsii_type="aws-cdk-lib.aws_ses.CfnEmailIdentity.ConfigurationSetAttributesProperty",
3465
3721
  jsii_struct_bases=[],
@@ -3842,6 +4098,7 @@ class CfnEmailIdentity(
3842
4098
  "dkim_signing_attributes": "dkimSigningAttributes",
3843
4099
  "feedback_attributes": "feedbackAttributes",
3844
4100
  "mail_from_attributes": "mailFromAttributes",
4101
+ "tags": "tags",
3845
4102
  },
3846
4103
  )
3847
4104
  class CfnEmailIdentityProps:
@@ -3854,6 +4111,7 @@ class CfnEmailIdentityProps:
3854
4111
  dkim_signing_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEmailIdentity.DkimSigningAttributesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3855
4112
  feedback_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEmailIdentity.FeedbackAttributesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3856
4113
  mail_from_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEmailIdentity.MailFromAttributesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4114
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3857
4115
  ) -> None:
3858
4116
  '''Properties for defining a ``CfnEmailIdentity``.
3859
4117
 
@@ -3863,6 +4121,7 @@ class CfnEmailIdentityProps:
3863
4121
  :param dkim_signing_attributes: If your request includes this object, Amazon SES configures the identity to use Bring Your Own DKIM (BYODKIM) for DKIM authentication purposes, or, configures the key length to be used for `Easy DKIM <https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html>`_ . You can only specify this object if the email identity is a domain, as opposed to an address.
3864
4122
  :param feedback_attributes: Used to enable or disable feedback forwarding for an identity.
3865
4123
  :param mail_from_attributes: Used to enable or disable the custom Mail-From domain configuration for an email identity.
4124
+ :param tags: An array of objects that define the tags (keys and values) to associate with the email identity.
3866
4125
 
3867
4126
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-emailidentity.html
3868
4127
  :exampleMetadata: fixture=_generated
@@ -3894,7 +4153,11 @@ class CfnEmailIdentityProps:
3894
4153
  mail_from_attributes=ses.CfnEmailIdentity.MailFromAttributesProperty(
3895
4154
  behavior_on_mx_failure="behaviorOnMxFailure",
3896
4155
  mail_from_domain="mailFromDomain"
3897
- )
4156
+ ),
4157
+ tags=[CfnTag(
4158
+ key="key",
4159
+ value="value"
4160
+ )]
3898
4161
  )
3899
4162
  '''
3900
4163
  if __debug__:
@@ -3905,6 +4168,7 @@ class CfnEmailIdentityProps:
3905
4168
  check_type(argname="argument dkim_signing_attributes", value=dkim_signing_attributes, expected_type=type_hints["dkim_signing_attributes"])
3906
4169
  check_type(argname="argument feedback_attributes", value=feedback_attributes, expected_type=type_hints["feedback_attributes"])
3907
4170
  check_type(argname="argument mail_from_attributes", value=mail_from_attributes, expected_type=type_hints["mail_from_attributes"])
4171
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
3908
4172
  self._values: typing.Dict[builtins.str, typing.Any] = {
3909
4173
  "email_identity": email_identity,
3910
4174
  }
@@ -3918,6 +4182,8 @@ class CfnEmailIdentityProps:
3918
4182
  self._values["feedback_attributes"] = feedback_attributes
3919
4183
  if mail_from_attributes is not None:
3920
4184
  self._values["mail_from_attributes"] = mail_from_attributes
4185
+ if tags is not None:
4186
+ self._values["tags"] = tags
3921
4187
 
3922
4188
  @builtins.property
3923
4189
  def email_identity(self) -> builtins.str:
@@ -3986,6 +4252,15 @@ class CfnEmailIdentityProps:
3986
4252
  result = self._values.get("mail_from_attributes")
3987
4253
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnEmailIdentity.MailFromAttributesProperty]], result)
3988
4254
 
4255
+ @builtins.property
4256
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
4257
+ '''An array of objects that define the tags (keys and values) to associate with the email identity.
4258
+
4259
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-emailidentity.html#cfn-ses-emailidentity-tags
4260
+ '''
4261
+ result = self._values.get("tags")
4262
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
4263
+
3989
4264
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
3990
4265
  return isinstance(rhs, self.__class__) and rhs._values == self._values
3991
4266
 
@@ -3998,7 +4273,7 @@ class CfnEmailIdentityProps:
3998
4273
  )
3999
4274
 
4000
4275
 
4001
- @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
4276
+ @jsii.implements(_IInspectable_c2943556, _IMailManagerAddonInstanceRef_6d78bf1e, _ITaggableV2_4e6798f8)
4002
4277
  class CfnMailManagerAddonInstance(
4003
4278
  _CfnResource_9df397a6,
4004
4279
  metaclass=jsii.JSIIMeta,
@@ -4037,7 +4312,8 @@ class CfnMailManagerAddonInstance(
4037
4312
  addon_subscription_id: builtins.str,
4038
4313
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
4039
4314
  ) -> None:
4040
- '''
4315
+ '''Create a new ``AWS::SES::MailManagerAddonInstance``.
4316
+
4041
4317
  :param scope: Scope in which this resource is defined.
4042
4318
  :param id: Construct identifier for this resource (unique in its scope).
4043
4319
  :param addon_subscription_id: The subscription ID for the instance.
@@ -4053,6 +4329,27 @@ class CfnMailManagerAddonInstance(
4053
4329
 
4054
4330
  jsii.create(self.__class__, self, [scope, id, props])
4055
4331
 
4332
+ @jsii.member(jsii_name="fromAddonInstanceId")
4333
+ @builtins.classmethod
4334
+ def from_addon_instance_id(
4335
+ cls,
4336
+ scope: _constructs_77d1e7e8.Construct,
4337
+ id: builtins.str,
4338
+ addon_instance_id: builtins.str,
4339
+ ) -> _IMailManagerAddonInstanceRef_6d78bf1e:
4340
+ '''Creates a new IMailManagerAddonInstanceRef from a addonInstanceId.
4341
+
4342
+ :param scope: -
4343
+ :param id: -
4344
+ :param addon_instance_id: -
4345
+ '''
4346
+ if __debug__:
4347
+ type_hints = typing.get_type_hints(_typecheckingstub__4b82d982a648e92902a374694f84ff5e1fb61a1267dc909d615a37c7e086d706)
4348
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
4349
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
4350
+ check_type(argname="argument addon_instance_id", value=addon_instance_id, expected_type=type_hints["addon_instance_id"])
4351
+ return typing.cast(_IMailManagerAddonInstanceRef_6d78bf1e, jsii.sinvoke(cls, "fromAddonInstanceId", [scope, id, addon_instance_id]))
4352
+
4056
4353
  @jsii.member(jsii_name="inspect")
4057
4354
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
4058
4355
  '''Examines the CloudFormation resource and discloses attributes.
@@ -4121,6 +4418,14 @@ class CfnMailManagerAddonInstance(
4121
4418
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4122
4419
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4123
4420
 
4421
+ @builtins.property
4422
+ @jsii.member(jsii_name="mailManagerAddonInstanceRef")
4423
+ def mail_manager_addon_instance_ref(
4424
+ self,
4425
+ ) -> _MailManagerAddonInstanceReference_b1f4c533:
4426
+ '''A reference to a MailManagerAddonInstance resource.'''
4427
+ return typing.cast(_MailManagerAddonInstanceReference_b1f4c533, jsii.get(self, "mailManagerAddonInstanceRef"))
4428
+
4124
4429
  @builtins.property
4125
4430
  @jsii.member(jsii_name="addonSubscriptionId")
4126
4431
  def addon_subscription_id(self) -> builtins.str:
@@ -4227,7 +4532,7 @@ class CfnMailManagerAddonInstanceProps:
4227
4532
  )
4228
4533
 
4229
4534
 
4230
- @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
4535
+ @jsii.implements(_IInspectable_c2943556, _IMailManagerAddonSubscriptionRef_5202f9cc, _ITaggableV2_4e6798f8)
4231
4536
  class CfnMailManagerAddonSubscription(
4232
4537
  _CfnResource_9df397a6,
4233
4538
  metaclass=jsii.JSIIMeta,
@@ -4266,10 +4571,11 @@ class CfnMailManagerAddonSubscription(
4266
4571
  addon_name: builtins.str,
4267
4572
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
4268
4573
  ) -> None:
4269
- '''
4574
+ '''Create a new ``AWS::SES::MailManagerAddonSubscription``.
4575
+
4270
4576
  :param scope: Scope in which this resource is defined.
4271
4577
  :param id: Construct identifier for this resource (unique in its scope).
4272
- :param addon_name: The name of the Add On to subscribe to. You can only have one subscription for each Add On name. Valid Values: ``TRENDMICRO_VSAPI | SPAMHAUS_DBL | ABUSIX_MAIL_INTELLIGENCE``
4578
+ :param addon_name: The name of the Add On to subscribe to. You can only have one subscription for each Add On name. Valid Values: ``TRENDMICRO_VSAPI | SPAMHAUS_DBL | ABUSIX_MAIL_INTELLIGENCE | VADE_ADVANCED_EMAIL_SECURITY``
4273
4579
  :param tags: The tags used to organize, track, or control access for the resource. For example, { "tags": {"key1":"value1", "key2":"value2"} }.
4274
4580
  '''
4275
4581
  if __debug__:
@@ -4280,6 +4586,27 @@ class CfnMailManagerAddonSubscription(
4280
4586
 
4281
4587
  jsii.create(self.__class__, self, [scope, id, props])
4282
4588
 
4589
+ @jsii.member(jsii_name="fromAddonSubscriptionId")
4590
+ @builtins.classmethod
4591
+ def from_addon_subscription_id(
4592
+ cls,
4593
+ scope: _constructs_77d1e7e8.Construct,
4594
+ id: builtins.str,
4595
+ addon_subscription_id: builtins.str,
4596
+ ) -> _IMailManagerAddonSubscriptionRef_5202f9cc:
4597
+ '''Creates a new IMailManagerAddonSubscriptionRef from a addonSubscriptionId.
4598
+
4599
+ :param scope: -
4600
+ :param id: -
4601
+ :param addon_subscription_id: -
4602
+ '''
4603
+ if __debug__:
4604
+ type_hints = typing.get_type_hints(_typecheckingstub__285468e4ba3edb67c9b4bcd9489b416e31f4f85a2a5e786f30d01535e38cacdc)
4605
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
4606
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
4607
+ check_type(argname="argument addon_subscription_id", value=addon_subscription_id, expected_type=type_hints["addon_subscription_id"])
4608
+ return typing.cast(_IMailManagerAddonSubscriptionRef_5202f9cc, jsii.sinvoke(cls, "fromAddonSubscriptionId", [scope, id, addon_subscription_id]))
4609
+
4283
4610
  @jsii.member(jsii_name="inspect")
4284
4611
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
4285
4612
  '''Examines the CloudFormation resource and discloses attributes.
@@ -4339,6 +4666,14 @@ class CfnMailManagerAddonSubscription(
4339
4666
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4340
4667
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4341
4668
 
4669
+ @builtins.property
4670
+ @jsii.member(jsii_name="mailManagerAddonSubscriptionRef")
4671
+ def mail_manager_addon_subscription_ref(
4672
+ self,
4673
+ ) -> _MailManagerAddonSubscriptionReference_f9373ba3:
4674
+ '''A reference to a MailManagerAddonSubscription resource.'''
4675
+ return typing.cast(_MailManagerAddonSubscriptionReference_f9373ba3, jsii.get(self, "mailManagerAddonSubscriptionRef"))
4676
+
4342
4677
  @builtins.property
4343
4678
  @jsii.member(jsii_name="addonName")
4344
4679
  def addon_name(self) -> builtins.str:
@@ -4380,7 +4715,7 @@ class CfnMailManagerAddonSubscriptionProps:
4380
4715
  ) -> None:
4381
4716
  '''Properties for defining a ``CfnMailManagerAddonSubscription``.
4382
4717
 
4383
- :param addon_name: The name of the Add On to subscribe to. You can only have one subscription for each Add On name. Valid Values: ``TRENDMICRO_VSAPI | SPAMHAUS_DBL | ABUSIX_MAIL_INTELLIGENCE``
4718
+ :param addon_name: The name of the Add On to subscribe to. You can only have one subscription for each Add On name. Valid Values: ``TRENDMICRO_VSAPI | SPAMHAUS_DBL | ABUSIX_MAIL_INTELLIGENCE | VADE_ADVANCED_EMAIL_SECURITY``
4384
4719
  :param tags: The tags used to organize, track, or control access for the resource. For example, { "tags": {"key1":"value1", "key2":"value2"} }.
4385
4720
 
4386
4721
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageraddonsubscription.html
@@ -4418,7 +4753,7 @@ class CfnMailManagerAddonSubscriptionProps:
4418
4753
 
4419
4754
  You can only have one subscription for each Add On name.
4420
4755
 
4421
- Valid Values: ``TRENDMICRO_VSAPI | SPAMHAUS_DBL | ABUSIX_MAIL_INTELLIGENCE``
4756
+ Valid Values: ``TRENDMICRO_VSAPI | SPAMHAUS_DBL | ABUSIX_MAIL_INTELLIGENCE | VADE_ADVANCED_EMAIL_SECURITY``
4422
4757
 
4423
4758
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageraddonsubscription.html#cfn-ses-mailmanageraddonsubscription-addonname
4424
4759
  '''
@@ -4449,16 +4784,16 @@ class CfnMailManagerAddonSubscriptionProps:
4449
4784
  )
4450
4785
 
4451
4786
 
4452
- @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
4453
- class CfnMailManagerArchive(
4787
+ @jsii.implements(_IInspectable_c2943556, _IMailManagerAddressListRef_60a1eed4, _ITaggableV2_4e6798f8)
4788
+ class CfnMailManagerAddressList(
4454
4789
  _CfnResource_9df397a6,
4455
4790
  metaclass=jsii.JSIIMeta,
4456
- jsii_type="aws-cdk-lib.aws_ses.CfnMailManagerArchive",
4791
+ jsii_type="aws-cdk-lib.aws_ses.CfnMailManagerAddressList",
4457
4792
  ):
4458
- '''Creates a new email archive resource for storing and retaining emails.
4793
+ '''The structure representing the address lists and address list attribute that will be used in evaluation of boolean expression.
4459
4794
 
4460
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagerarchive.html
4461
- :cloudformationResource: AWS::SES::MailManagerArchive
4795
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageraddresslist.html
4796
+ :cloudformationResource: AWS::SES::MailManagerAddressList
4462
4797
  :exampleMetadata: fixture=_generated
4463
4798
 
4464
4799
  Example::
@@ -4467,12 +4802,8 @@ class CfnMailManagerArchive(
4467
4802
  # The values are placeholders you should change.
4468
4803
  from aws_cdk import aws_ses as ses
4469
4804
 
4470
- cfn_mail_manager_archive = ses.CfnMailManagerArchive(self, "MyCfnMailManagerArchive",
4471
- archive_name="archiveName",
4472
- kms_key_arn="kmsKeyArn",
4473
- retention=ses.CfnMailManagerArchive.ArchiveRetentionProperty(
4474
- retention_period="retentionPeriod"
4475
- ),
4805
+ cfn_mail_manager_address_list = ses.CfnMailManagerAddressList(self, "MyCfnMailManagerAddressList",
4806
+ address_list_name="addressListName",
4476
4807
  tags=[CfnTag(
4477
4808
  key="key",
4478
4809
  value="value"
@@ -4485,38 +4816,307 @@ class CfnMailManagerArchive(
4485
4816
  scope: _constructs_77d1e7e8.Construct,
4486
4817
  id: builtins.str,
4487
4818
  *,
4488
- archive_name: typing.Optional[builtins.str] = None,
4489
- kms_key_arn: typing.Optional[builtins.str] = None,
4490
- retention: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMailManagerArchive.ArchiveRetentionProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4819
+ address_list_name: typing.Optional[builtins.str] = None,
4491
4820
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
4492
4821
  ) -> None:
4493
- '''
4822
+ '''Create a new ``AWS::SES::MailManagerAddressList``.
4823
+
4494
4824
  :param scope: Scope in which this resource is defined.
4495
4825
  :param id: Construct identifier for this resource (unique in its scope).
4496
- :param archive_name: A unique name for the new archive.
4497
- :param kms_key_arn: The Amazon Resource Name (ARN) of the KMS key for encrypting emails in the archive.
4498
- :param retention: The period for retaining emails in the archive before automatic deletion.
4826
+ :param address_list_name: A user-friendly name for the address list.
4499
4827
  :param tags: The tags used to organize, track, or control access for the resource. For example, { "tags": {"key1":"value1", "key2":"value2"} }.
4500
4828
  '''
4501
4829
  if __debug__:
4502
- type_hints = typing.get_type_hints(_typecheckingstub__22dd3c6f42e37a1d2959a6aa4871e671e1737ebb4110933d8bfa22c2c7f5d626)
4830
+ type_hints = typing.get_type_hints(_typecheckingstub__6a8a172d98fe048a3419d1b92dcaf2e59e8461e9b0baf073f812b3916bcd4974)
4503
4831
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
4504
4832
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
4505
- props = CfnMailManagerArchiveProps(
4506
- archive_name=archive_name,
4507
- kms_key_arn=kms_key_arn,
4508
- retention=retention,
4509
- tags=tags,
4833
+ props = CfnMailManagerAddressListProps(
4834
+ address_list_name=address_list_name, tags=tags
4510
4835
  )
4511
4836
 
4512
4837
  jsii.create(self.__class__, self, [scope, id, props])
4513
4838
 
4514
- @jsii.member(jsii_name="inspect")
4515
- def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
4516
- '''Examines the CloudFormation resource and discloses attributes.
4517
-
4518
- :param inspector: tree inspector to collect and process attributes.
4519
- '''
4839
+ @jsii.member(jsii_name="fromAddressListId")
4840
+ @builtins.classmethod
4841
+ def from_address_list_id(
4842
+ cls,
4843
+ scope: _constructs_77d1e7e8.Construct,
4844
+ id: builtins.str,
4845
+ address_list_id: builtins.str,
4846
+ ) -> _IMailManagerAddressListRef_60a1eed4:
4847
+ '''Creates a new IMailManagerAddressListRef from a addressListId.
4848
+
4849
+ :param scope: -
4850
+ :param id: -
4851
+ :param address_list_id: -
4852
+ '''
4853
+ if __debug__:
4854
+ type_hints = typing.get_type_hints(_typecheckingstub__120660db0c0d7502ce27d42115e731ab20d88dfeccd8fa2bb55ed90b870488c4)
4855
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
4856
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
4857
+ check_type(argname="argument address_list_id", value=address_list_id, expected_type=type_hints["address_list_id"])
4858
+ return typing.cast(_IMailManagerAddressListRef_60a1eed4, jsii.sinvoke(cls, "fromAddressListId", [scope, id, address_list_id]))
4859
+
4860
+ @jsii.member(jsii_name="inspect")
4861
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
4862
+ '''Examines the CloudFormation resource and discloses attributes.
4863
+
4864
+ :param inspector: tree inspector to collect and process attributes.
4865
+ '''
4866
+ if __debug__:
4867
+ type_hints = typing.get_type_hints(_typecheckingstub__4f6a8901ab278ee698ce069b658195d6cc144f36006c6c634fd9c8598d24d83d)
4868
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
4869
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
4870
+
4871
+ @jsii.member(jsii_name="renderProperties")
4872
+ def _render_properties(
4873
+ self,
4874
+ props: typing.Mapping[builtins.str, typing.Any],
4875
+ ) -> typing.Mapping[builtins.str, typing.Any]:
4876
+ '''
4877
+ :param props: -
4878
+ '''
4879
+ if __debug__:
4880
+ type_hints = typing.get_type_hints(_typecheckingstub__5a2a230c58a2c2b4b62e185b88fe729ffbc699c86e17f9fe3d25e95ae19ea40b)
4881
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
4882
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
4883
+
4884
+ @jsii.python.classproperty
4885
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
4886
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
4887
+ '''The CloudFormation resource type name for this resource class.'''
4888
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
4889
+
4890
+ @builtins.property
4891
+ @jsii.member(jsii_name="attrAddressListArn")
4892
+ def attr_address_list_arn(self) -> builtins.str:
4893
+ '''The Amazon Resource Name (ARN) of the address list.
4894
+
4895
+ :cloudformationAttribute: AddressListArn
4896
+ '''
4897
+ return typing.cast(builtins.str, jsii.get(self, "attrAddressListArn"))
4898
+
4899
+ @builtins.property
4900
+ @jsii.member(jsii_name="attrAddressListId")
4901
+ def attr_address_list_id(self) -> builtins.str:
4902
+ '''The identifier of the address list.
4903
+
4904
+ :cloudformationAttribute: AddressListId
4905
+ '''
4906
+ return typing.cast(builtins.str, jsii.get(self, "attrAddressListId"))
4907
+
4908
+ @builtins.property
4909
+ @jsii.member(jsii_name="cdkTagManager")
4910
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
4911
+ '''Tag Manager which manages the tags for this resource.'''
4912
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
4913
+
4914
+ @builtins.property
4915
+ @jsii.member(jsii_name="cfnProperties")
4916
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4917
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4918
+
4919
+ @builtins.property
4920
+ @jsii.member(jsii_name="mailManagerAddressListRef")
4921
+ def mail_manager_address_list_ref(
4922
+ self,
4923
+ ) -> _MailManagerAddressListReference_107ed953:
4924
+ '''A reference to a MailManagerAddressList resource.'''
4925
+ return typing.cast(_MailManagerAddressListReference_107ed953, jsii.get(self, "mailManagerAddressListRef"))
4926
+
4927
+ @builtins.property
4928
+ @jsii.member(jsii_name="addressListName")
4929
+ def address_list_name(self) -> typing.Optional[builtins.str]:
4930
+ '''A user-friendly name for the address list.'''
4931
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "addressListName"))
4932
+
4933
+ @address_list_name.setter
4934
+ def address_list_name(self, value: typing.Optional[builtins.str]) -> None:
4935
+ if __debug__:
4936
+ type_hints = typing.get_type_hints(_typecheckingstub__53d1505dab469f39095f9e22ba4d8bdae2405adbe8d8d641e4d4a1abbf6b3770)
4937
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4938
+ jsii.set(self, "addressListName", value) # pyright: ignore[reportArgumentType]
4939
+
4940
+ @builtins.property
4941
+ @jsii.member(jsii_name="tags")
4942
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
4943
+ '''The tags used to organize, track, or control access for the resource.'''
4944
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
4945
+
4946
+ @tags.setter
4947
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
4948
+ if __debug__:
4949
+ type_hints = typing.get_type_hints(_typecheckingstub__f941c234d4973425d4ac187f87f54965bfdb82848d3fcf93664acc11143c1068)
4950
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4951
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
4952
+
4953
+
4954
+ @jsii.data_type(
4955
+ jsii_type="aws-cdk-lib.aws_ses.CfnMailManagerAddressListProps",
4956
+ jsii_struct_bases=[],
4957
+ name_mapping={"address_list_name": "addressListName", "tags": "tags"},
4958
+ )
4959
+ class CfnMailManagerAddressListProps:
4960
+ def __init__(
4961
+ self,
4962
+ *,
4963
+ address_list_name: typing.Optional[builtins.str] = None,
4964
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
4965
+ ) -> None:
4966
+ '''Properties for defining a ``CfnMailManagerAddressList``.
4967
+
4968
+ :param address_list_name: A user-friendly name for the address list.
4969
+ :param tags: The tags used to organize, track, or control access for the resource. For example, { "tags": {"key1":"value1", "key2":"value2"} }.
4970
+
4971
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageraddresslist.html
4972
+ :exampleMetadata: fixture=_generated
4973
+
4974
+ Example::
4975
+
4976
+ # The code below shows an example of how to instantiate this type.
4977
+ # The values are placeholders you should change.
4978
+ from aws_cdk import aws_ses as ses
4979
+
4980
+ cfn_mail_manager_address_list_props = ses.CfnMailManagerAddressListProps(
4981
+ address_list_name="addressListName",
4982
+ tags=[CfnTag(
4983
+ key="key",
4984
+ value="value"
4985
+ )]
4986
+ )
4987
+ '''
4988
+ if __debug__:
4989
+ type_hints = typing.get_type_hints(_typecheckingstub__ec45e85ebcc385f7d054df8a6b207754f0fa06560d7270f49432e2594f0626f9)
4990
+ check_type(argname="argument address_list_name", value=address_list_name, expected_type=type_hints["address_list_name"])
4991
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
4992
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
4993
+ if address_list_name is not None:
4994
+ self._values["address_list_name"] = address_list_name
4995
+ if tags is not None:
4996
+ self._values["tags"] = tags
4997
+
4998
+ @builtins.property
4999
+ def address_list_name(self) -> typing.Optional[builtins.str]:
5000
+ '''A user-friendly name for the address list.
5001
+
5002
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageraddresslist.html#cfn-ses-mailmanageraddresslist-addresslistname
5003
+ '''
5004
+ result = self._values.get("address_list_name")
5005
+ return typing.cast(typing.Optional[builtins.str], result)
5006
+
5007
+ @builtins.property
5008
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
5009
+ '''The tags used to organize, track, or control access for the resource.
5010
+
5011
+ For example, { "tags": {"key1":"value1", "key2":"value2"} }.
5012
+
5013
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanageraddresslist.html#cfn-ses-mailmanageraddresslist-tags
5014
+ '''
5015
+ result = self._values.get("tags")
5016
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
5017
+
5018
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5019
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5020
+
5021
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5022
+ return not (rhs == self)
5023
+
5024
+ def __repr__(self) -> str:
5025
+ return "CfnMailManagerAddressListProps(%s)" % ", ".join(
5026
+ k + "=" + repr(v) for k, v in self._values.items()
5027
+ )
5028
+
5029
+
5030
+ @jsii.implements(_IInspectable_c2943556, _IMailManagerArchiveRef_0d35e3dc, _ITaggableV2_4e6798f8)
5031
+ class CfnMailManagerArchive(
5032
+ _CfnResource_9df397a6,
5033
+ metaclass=jsii.JSIIMeta,
5034
+ jsii_type="aws-cdk-lib.aws_ses.CfnMailManagerArchive",
5035
+ ):
5036
+ '''Creates a new email archive resource for storing and retaining emails.
5037
+
5038
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagerarchive.html
5039
+ :cloudformationResource: AWS::SES::MailManagerArchive
5040
+ :exampleMetadata: fixture=_generated
5041
+
5042
+ Example::
5043
+
5044
+ # The code below shows an example of how to instantiate this type.
5045
+ # The values are placeholders you should change.
5046
+ from aws_cdk import aws_ses as ses
5047
+
5048
+ cfn_mail_manager_archive = ses.CfnMailManagerArchive(self, "MyCfnMailManagerArchive",
5049
+ archive_name="archiveName",
5050
+ kms_key_arn="kmsKeyArn",
5051
+ retention=ses.CfnMailManagerArchive.ArchiveRetentionProperty(
5052
+ retention_period="retentionPeriod"
5053
+ ),
5054
+ tags=[CfnTag(
5055
+ key="key",
5056
+ value="value"
5057
+ )]
5058
+ )
5059
+ '''
5060
+
5061
+ def __init__(
5062
+ self,
5063
+ scope: _constructs_77d1e7e8.Construct,
5064
+ id: builtins.str,
5065
+ *,
5066
+ archive_name: typing.Optional[builtins.str] = None,
5067
+ kms_key_arn: typing.Optional[builtins.str] = None,
5068
+ retention: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMailManagerArchive.ArchiveRetentionProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5069
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
5070
+ ) -> None:
5071
+ '''Create a new ``AWS::SES::MailManagerArchive``.
5072
+
5073
+ :param scope: Scope in which this resource is defined.
5074
+ :param id: Construct identifier for this resource (unique in its scope).
5075
+ :param archive_name: A unique name for the new archive.
5076
+ :param kms_key_arn: The Amazon Resource Name (ARN) of the KMS key for encrypting emails in the archive.
5077
+ :param retention: The period for retaining emails in the archive before automatic deletion.
5078
+ :param tags: The tags used to organize, track, or control access for the resource. For example, { "tags": {"key1":"value1", "key2":"value2"} }.
5079
+ '''
5080
+ if __debug__:
5081
+ type_hints = typing.get_type_hints(_typecheckingstub__22dd3c6f42e37a1d2959a6aa4871e671e1737ebb4110933d8bfa22c2c7f5d626)
5082
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
5083
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
5084
+ props = CfnMailManagerArchiveProps(
5085
+ archive_name=archive_name,
5086
+ kms_key_arn=kms_key_arn,
5087
+ retention=retention,
5088
+ tags=tags,
5089
+ )
5090
+
5091
+ jsii.create(self.__class__, self, [scope, id, props])
5092
+
5093
+ @jsii.member(jsii_name="fromArchiveId")
5094
+ @builtins.classmethod
5095
+ def from_archive_id(
5096
+ cls,
5097
+ scope: _constructs_77d1e7e8.Construct,
5098
+ id: builtins.str,
5099
+ archive_id: builtins.str,
5100
+ ) -> _IMailManagerArchiveRef_0d35e3dc:
5101
+ '''Creates a new IMailManagerArchiveRef from a archiveId.
5102
+
5103
+ :param scope: -
5104
+ :param id: -
5105
+ :param archive_id: -
5106
+ '''
5107
+ if __debug__:
5108
+ type_hints = typing.get_type_hints(_typecheckingstub__a42d7ef06c37673fd058e245cd5defc63931aa1bb15399b919109cc87dcb76a2)
5109
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
5110
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
5111
+ check_type(argname="argument archive_id", value=archive_id, expected_type=type_hints["archive_id"])
5112
+ return typing.cast(_IMailManagerArchiveRef_0d35e3dc, jsii.sinvoke(cls, "fromArchiveId", [scope, id, archive_id]))
5113
+
5114
+ @jsii.member(jsii_name="inspect")
5115
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
5116
+ '''Examines the CloudFormation resource and discloses attributes.
5117
+
5118
+ :param inspector: tree inspector to collect and process attributes.
5119
+ '''
4520
5120
  if __debug__:
4521
5121
  type_hints = typing.get_type_hints(_typecheckingstub__ab6bbd8ed2986ac0e486edacc5048b747fb9a30a15f56c21ed3845accc6da320)
4522
5122
  check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
@@ -4582,6 +5182,12 @@ class CfnMailManagerArchive(
4582
5182
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4583
5183
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4584
5184
 
5185
+ @builtins.property
5186
+ @jsii.member(jsii_name="mailManagerArchiveRef")
5187
+ def mail_manager_archive_ref(self) -> _MailManagerArchiveReference_9422aa21:
5188
+ '''A reference to a MailManagerArchive resource.'''
5189
+ return typing.cast(_MailManagerArchiveReference_9422aa21, jsii.get(self, "mailManagerArchiveRef"))
5190
+
4585
5191
  @builtins.property
4586
5192
  @jsii.member(jsii_name="archiveName")
4587
5193
  def archive_name(self) -> typing.Optional[builtins.str]:
@@ -4807,7 +5413,7 @@ class CfnMailManagerArchiveProps:
4807
5413
  )
4808
5414
 
4809
5415
 
4810
- @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
5416
+ @jsii.implements(_IInspectable_c2943556, _IMailManagerIngressPointRef_17ebca73, _ITaggableV2_4e6798f8)
4811
5417
  class CfnMailManagerIngressPoint(
4812
5418
  _CfnResource_9df397a6,
4813
5419
  metaclass=jsii.JSIIMeta,
@@ -4868,7 +5474,8 @@ class CfnMailManagerIngressPoint(
4868
5474
  status_to_update: typing.Optional[builtins.str] = None,
4869
5475
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
4870
5476
  ) -> None:
4871
- '''
5477
+ '''Create a new ``AWS::SES::MailManagerIngressPoint``.
5478
+
4872
5479
  :param scope: Scope in which this resource is defined.
4873
5480
  :param id: Construct identifier for this resource (unique in its scope).
4874
5481
  :param rule_set_id: The identifier of an existing rule set that you attach to an ingress endpoint resource.
@@ -4897,6 +5504,27 @@ class CfnMailManagerIngressPoint(
4897
5504
 
4898
5505
  jsii.create(self.__class__, self, [scope, id, props])
4899
5506
 
5507
+ @jsii.member(jsii_name="fromIngressPointId")
5508
+ @builtins.classmethod
5509
+ def from_ingress_point_id(
5510
+ cls,
5511
+ scope: _constructs_77d1e7e8.Construct,
5512
+ id: builtins.str,
5513
+ ingress_point_id: builtins.str,
5514
+ ) -> _IMailManagerIngressPointRef_17ebca73:
5515
+ '''Creates a new IMailManagerIngressPointRef from a ingressPointId.
5516
+
5517
+ :param scope: -
5518
+ :param id: -
5519
+ :param ingress_point_id: -
5520
+ '''
5521
+ if __debug__:
5522
+ type_hints = typing.get_type_hints(_typecheckingstub__92ffe7e62420c63aff01fd3a633abd4afd6de74cfc9be5956502b4eae1715abc)
5523
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
5524
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
5525
+ check_type(argname="argument ingress_point_id", value=ingress_point_id, expected_type=type_hints["ingress_point_id"])
5526
+ return typing.cast(_IMailManagerIngressPointRef_17ebca73, jsii.sinvoke(cls, "fromIngressPointId", [scope, id, ingress_point_id]))
5527
+
4900
5528
  @jsii.member(jsii_name="inspect")
4901
5529
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
4902
5530
  '''Examines the CloudFormation resource and discloses attributes.
@@ -4976,6 +5604,14 @@ class CfnMailManagerIngressPoint(
4976
5604
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4977
5605
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4978
5606
 
5607
+ @builtins.property
5608
+ @jsii.member(jsii_name="mailManagerIngressPointRef")
5609
+ def mail_manager_ingress_point_ref(
5610
+ self,
5611
+ ) -> _MailManagerIngressPointReference_5c89c08c:
5612
+ '''A reference to a MailManagerIngressPoint resource.'''
5613
+ return typing.cast(_MailManagerIngressPointReference_5c89c08c, jsii.get(self, "mailManagerIngressPointRef"))
5614
+
4979
5615
  @builtins.property
4980
5616
  @jsii.member(jsii_name="ruleSetId")
4981
5617
  def rule_set_id(self) -> builtins.str:
@@ -5544,7 +6180,7 @@ class CfnMailManagerIngressPointProps:
5544
6180
  )
5545
6181
 
5546
6182
 
5547
- @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
6183
+ @jsii.implements(_IInspectable_c2943556, _IMailManagerRelayRef_09ae75d1, _ITaggableV2_4e6798f8)
5548
6184
  class CfnMailManagerRelay(
5549
6185
  _CfnResource_9df397a6,
5550
6186
  metaclass=jsii.JSIIMeta,
@@ -5592,7 +6228,8 @@ class CfnMailManagerRelay(
5592
6228
  relay_name: typing.Optional[builtins.str] = None,
5593
6229
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
5594
6230
  ) -> None:
5595
- '''
6231
+ '''Create a new ``AWS::SES::MailManagerRelay``.
6232
+
5596
6233
  :param scope: Scope in which this resource is defined.
5597
6234
  :param id: Construct identifier for this resource (unique in its scope).
5598
6235
  :param authentication: Authentication for the relay destination server—specify the secretARN where the SMTP credentials are stored.
@@ -5615,6 +6252,27 @@ class CfnMailManagerRelay(
5615
6252
 
5616
6253
  jsii.create(self.__class__, self, [scope, id, props])
5617
6254
 
6255
+ @jsii.member(jsii_name="fromRelayId")
6256
+ @builtins.classmethod
6257
+ def from_relay_id(
6258
+ cls,
6259
+ scope: _constructs_77d1e7e8.Construct,
6260
+ id: builtins.str,
6261
+ relay_id: builtins.str,
6262
+ ) -> _IMailManagerRelayRef_09ae75d1:
6263
+ '''Creates a new IMailManagerRelayRef from a relayId.
6264
+
6265
+ :param scope: -
6266
+ :param id: -
6267
+ :param relay_id: -
6268
+ '''
6269
+ if __debug__:
6270
+ type_hints = typing.get_type_hints(_typecheckingstub__20d085590a05ce27b9599b7ddb5dc4d721ab8fc87c006babf37032cd0ffc46ed)
6271
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
6272
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
6273
+ check_type(argname="argument relay_id", value=relay_id, expected_type=type_hints["relay_id"])
6274
+ return typing.cast(_IMailManagerRelayRef_09ae75d1, jsii.sinvoke(cls, "fromRelayId", [scope, id, relay_id]))
6275
+
5618
6276
  @jsii.member(jsii_name="inspect")
5619
6277
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
5620
6278
  '''Examines the CloudFormation resource and discloses attributes.
@@ -5674,6 +6332,12 @@ class CfnMailManagerRelay(
5674
6332
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
5675
6333
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
5676
6334
 
6335
+ @builtins.property
6336
+ @jsii.member(jsii_name="mailManagerRelayRef")
6337
+ def mail_manager_relay_ref(self) -> _MailManagerRelayReference_655db003:
6338
+ '''A reference to a MailManagerRelay resource.'''
6339
+ return typing.cast(_MailManagerRelayReference_655db003, jsii.get(self, "mailManagerRelayRef"))
6340
+
5677
6341
  @builtins.property
5678
6342
  @jsii.member(jsii_name="authentication")
5679
6343
  def authentication(
@@ -5961,7 +6625,7 @@ class CfnMailManagerRelayProps:
5961
6625
  )
5962
6626
 
5963
6627
 
5964
- @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
6628
+ @jsii.implements(_IInspectable_c2943556, _IMailManagerRuleSetRef_4d1ad1a8, _ITaggableV2_4e6798f8)
5965
6629
  class CfnMailManagerRuleSet(
5966
6630
  _CfnResource_9df397a6,
5967
6631
  metaclass=jsii.JSIIMeta,
@@ -6010,12 +6674,21 @@ class CfnMailManagerRuleSet(
6010
6674
  action_failure_policy="actionFailurePolicy"
6011
6675
  ),
6012
6676
  drop=drop,
6013
- relay=ses.CfnMailManagerRuleSet.RelayActionProperty(
6014
- relay="relay",
6677
+ publish_to_sns=ses.CfnMailManagerRuleSet.SnsActionProperty(
6678
+ role_arn="roleArn",
6679
+ topic_arn="topicArn",
6015
6680
 
6016
6681
  # the properties below are optional
6017
6682
  action_failure_policy="actionFailurePolicy",
6018
- mail_from="mailFrom"
6683
+ encoding="encoding",
6684
+ payload_type="payloadType"
6685
+ ),
6686
+ relay=ses.CfnMailManagerRuleSet.RelayActionProperty(
6687
+ relay="relay",
6688
+
6689
+ # the properties below are optional
6690
+ action_failure_policy="actionFailurePolicy",
6691
+ mail_from="mailFrom"
6019
6692
  ),
6020
6693
  replace_recipient=ses.CfnMailManagerRuleSet.ReplaceRecipientActionProperty(
6021
6694
  replace_with=["replaceWith"]
@@ -6045,7 +6718,11 @@ class CfnMailManagerRuleSet(
6045
6718
  analyzer="analyzer",
6046
6719
  result_field="resultField"
6047
6720
  ),
6048
- attribute="attribute"
6721
+ attribute="attribute",
6722
+ is_in_address_list=ses.CfnMailManagerRuleSet.RuleIsInAddressListProperty(
6723
+ address_lists=["addressLists"],
6724
+ attribute="attribute"
6725
+ )
6049
6726
  ),
6050
6727
  operator="operator"
6051
6728
  ),
@@ -6099,7 +6776,11 @@ class CfnMailManagerRuleSet(
6099
6776
  analyzer="analyzer",
6100
6777
  result_field="resultField"
6101
6778
  ),
6102
- attribute="attribute"
6779
+ attribute="attribute",
6780
+ is_in_address_list=ses.CfnMailManagerRuleSet.RuleIsInAddressListProperty(
6781
+ address_lists=["addressLists"],
6782
+ attribute="attribute"
6783
+ )
6103
6784
  ),
6104
6785
  operator="operator"
6105
6786
  ),
@@ -6165,7 +6846,8 @@ class CfnMailManagerRuleSet(
6165
6846
  rule_set_name: typing.Optional[builtins.str] = None,
6166
6847
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
6167
6848
  ) -> None:
6168
- '''
6849
+ '''Create a new ``AWS::SES::MailManagerRuleSet``.
6850
+
6169
6851
  :param scope: Scope in which this resource is defined.
6170
6852
  :param id: Construct identifier for this resource (unique in its scope).
6171
6853
  :param rules: Conditional rules that are evaluated for determining actions on email.
@@ -6182,6 +6864,27 @@ class CfnMailManagerRuleSet(
6182
6864
 
6183
6865
  jsii.create(self.__class__, self, [scope, id, props])
6184
6866
 
6867
+ @jsii.member(jsii_name="fromRuleSetId")
6868
+ @builtins.classmethod
6869
+ def from_rule_set_id(
6870
+ cls,
6871
+ scope: _constructs_77d1e7e8.Construct,
6872
+ id: builtins.str,
6873
+ rule_set_id: builtins.str,
6874
+ ) -> _IMailManagerRuleSetRef_4d1ad1a8:
6875
+ '''Creates a new IMailManagerRuleSetRef from a ruleSetId.
6876
+
6877
+ :param scope: -
6878
+ :param id: -
6879
+ :param rule_set_id: -
6880
+ '''
6881
+ if __debug__:
6882
+ type_hints = typing.get_type_hints(_typecheckingstub__78355a4a2620715789c2e5c3123619e35973a72ffc685bd95914181f608af137)
6883
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
6884
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
6885
+ check_type(argname="argument rule_set_id", value=rule_set_id, expected_type=type_hints["rule_set_id"])
6886
+ return typing.cast(_IMailManagerRuleSetRef_4d1ad1a8, jsii.sinvoke(cls, "fromRuleSetId", [scope, id, rule_set_id]))
6887
+
6185
6888
  @jsii.member(jsii_name="inspect")
6186
6889
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
6187
6890
  '''Examines the CloudFormation resource and discloses attributes.
@@ -6241,6 +6944,12 @@ class CfnMailManagerRuleSet(
6241
6944
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
6242
6945
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
6243
6946
 
6947
+ @builtins.property
6948
+ @jsii.member(jsii_name="mailManagerRuleSetRef")
6949
+ def mail_manager_rule_set_ref(self) -> _MailManagerRuleSetReference_5cca7d98:
6950
+ '''A reference to a MailManagerRuleSet resource.'''
6951
+ return typing.cast(_MailManagerRuleSetReference_5cca7d98, jsii.get(self, "mailManagerRuleSetRef"))
6952
+
6244
6953
  @builtins.property
6245
6954
  @jsii.member(jsii_name="rules")
6246
6955
  def rules(
@@ -6630,8 +7339,8 @@ class CfnMailManagerRuleSet(
6630
7339
 
6631
7340
  :param application_id: The unique identifier of the Amazon Q Business application instance where the email content will be delivered.
6632
7341
  :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.
7342
+ :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.
7343
+ :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
7344
 
6636
7345
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-delivertoqbusinessaction.html
6637
7346
  :exampleMetadata: fixture=_generated
@@ -6689,7 +7398,7 @@ class CfnMailManagerRuleSet(
6689
7398
  def role_arn(self) -> builtins.str:
6690
7399
  '''The Amazon Resource Name (ARN) of the IAM Role to use while delivering to Amazon Q Business.
6691
7400
 
6692
- This role must have access to the qbusiness:BatchPutDocument API for the given application and index.
7401
+ This role must have access to the ``qbusiness:BatchPutDocument`` API for the given application and index.
6693
7402
 
6694
7403
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-delivertoqbusinessaction.html#cfn-ses-mailmanagerruleset-delivertoqbusinessaction-rolearn
6695
7404
  '''
@@ -6701,7 +7410,7 @@ class CfnMailManagerRuleSet(
6701
7410
  def action_failure_policy(self) -> typing.Optional[builtins.str]:
6702
7411
  '''A policy that states what to do in the case of failure.
6703
7412
 
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.
7413
+ 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
7414
 
6706
7415
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-delivertoqbusinessaction.html#cfn-ses-mailmanagerruleset-delivertoqbusinessaction-actionfailurepolicy
6707
7416
  '''
@@ -6879,6 +7588,7 @@ class CfnMailManagerRuleSet(
6879
7588
  "deliver_to_mailbox": "deliverToMailbox",
6880
7589
  "deliver_to_q_business": "deliverToQBusiness",
6881
7590
  "drop": "drop",
7591
+ "publish_to_sns": "publishToSns",
6882
7592
  "relay": "relay",
6883
7593
  "replace_recipient": "replaceRecipient",
6884
7594
  "send": "send",
@@ -6894,6 +7604,7 @@ class CfnMailManagerRuleSet(
6894
7604
  deliver_to_mailbox: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMailManagerRuleSet.DeliverToMailboxActionProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6895
7605
  deliver_to_q_business: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMailManagerRuleSet.DeliverToQBusinessActionProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6896
7606
  drop: typing.Any = None,
7607
+ publish_to_sns: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMailManagerRuleSet.SnsActionProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6897
7608
  relay: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMailManagerRuleSet.RelayActionProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6898
7609
  replace_recipient: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMailManagerRuleSet.ReplaceRecipientActionProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6899
7610
  send: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMailManagerRuleSet.SendActionProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -6910,6 +7621,7 @@ class CfnMailManagerRuleSet(
6910
7621
  :param deliver_to_mailbox: This action delivers an email to a WorkMail mailbox.
6911
7622
  :param deliver_to_q_business: This action delivers an email to an Amazon Q Business application for ingestion into its knowledge base.
6912
7623
  :param drop: This action terminates the evaluation of rules in the rule set.
7624
+ :param publish_to_sns: This action publishes the email content to an Amazon SNS topic.
6913
7625
  :param relay: This action relays the email to another SMTP server.
6914
7626
  :param replace_recipient: The action replaces certain or all recipients with a different set of recipients.
6915
7627
  :param send: This action sends the email to the internet.
@@ -6953,6 +7665,15 @@ class CfnMailManagerRuleSet(
6953
7665
  action_failure_policy="actionFailurePolicy"
6954
7666
  ),
6955
7667
  drop=drop,
7668
+ publish_to_sns=ses.CfnMailManagerRuleSet.SnsActionProperty(
7669
+ role_arn="roleArn",
7670
+ topic_arn="topicArn",
7671
+
7672
+ # the properties below are optional
7673
+ action_failure_policy="actionFailurePolicy",
7674
+ encoding="encoding",
7675
+ payload_type="payloadType"
7676
+ ),
6956
7677
  relay=ses.CfnMailManagerRuleSet.RelayActionProperty(
6957
7678
  relay="relay",
6958
7679
 
@@ -6987,6 +7708,7 @@ class CfnMailManagerRuleSet(
6987
7708
  check_type(argname="argument deliver_to_mailbox", value=deliver_to_mailbox, expected_type=type_hints["deliver_to_mailbox"])
6988
7709
  check_type(argname="argument deliver_to_q_business", value=deliver_to_q_business, expected_type=type_hints["deliver_to_q_business"])
6989
7710
  check_type(argname="argument drop", value=drop, expected_type=type_hints["drop"])
7711
+ check_type(argname="argument publish_to_sns", value=publish_to_sns, expected_type=type_hints["publish_to_sns"])
6990
7712
  check_type(argname="argument relay", value=relay, expected_type=type_hints["relay"])
6991
7713
  check_type(argname="argument replace_recipient", value=replace_recipient, expected_type=type_hints["replace_recipient"])
6992
7714
  check_type(argname="argument send", value=send, expected_type=type_hints["send"])
@@ -7002,6 +7724,8 @@ class CfnMailManagerRuleSet(
7002
7724
  self._values["deliver_to_q_business"] = deliver_to_q_business
7003
7725
  if drop is not None:
7004
7726
  self._values["drop"] = drop
7727
+ if publish_to_sns is not None:
7728
+ self._values["publish_to_sns"] = publish_to_sns
7005
7729
  if relay is not None:
7006
7730
  self._values["relay"] = relay
7007
7731
  if replace_recipient is not None:
@@ -7068,6 +7792,17 @@ class CfnMailManagerRuleSet(
7068
7792
  result = self._values.get("drop")
7069
7793
  return typing.cast(typing.Any, result)
7070
7794
 
7795
+ @builtins.property
7796
+ def publish_to_sns(
7797
+ self,
7798
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMailManagerRuleSet.SnsActionProperty"]]:
7799
+ '''This action publishes the email content to an Amazon SNS topic.
7800
+
7801
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-ruleaction.html#cfn-ses-mailmanagerruleset-ruleaction-publishtosns
7802
+ '''
7803
+ result = self._values.get("publish_to_sns")
7804
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMailManagerRuleSet.SnsActionProperty"]], result)
7805
+
7071
7806
  @builtins.property
7072
7807
  def relay(
7073
7808
  self,
@@ -7155,7 +7890,11 @@ class CfnMailManagerRuleSet(
7155
7890
  analyzer="analyzer",
7156
7891
  result_field="resultField"
7157
7892
  ),
7158
- attribute="attribute"
7893
+ attribute="attribute",
7894
+ is_in_address_list=ses.CfnMailManagerRuleSet.RuleIsInAddressListProperty(
7895
+ address_lists=["addressLists"],
7896
+ attribute="attribute"
7897
+ )
7159
7898
  ),
7160
7899
  operator="operator"
7161
7900
  )
@@ -7205,7 +7944,11 @@ class CfnMailManagerRuleSet(
7205
7944
  @jsii.data_type(
7206
7945
  jsii_type="aws-cdk-lib.aws_ses.CfnMailManagerRuleSet.RuleBooleanToEvaluateProperty",
7207
7946
  jsii_struct_bases=[],
7208
- name_mapping={"analysis": "analysis", "attribute": "attribute"},
7947
+ name_mapping={
7948
+ "analysis": "analysis",
7949
+ "attribute": "attribute",
7950
+ "is_in_address_list": "isInAddressList",
7951
+ },
7209
7952
  )
7210
7953
  class RuleBooleanToEvaluateProperty:
7211
7954
  def __init__(
@@ -7213,11 +7956,13 @@ class CfnMailManagerRuleSet(
7213
7956
  *,
7214
7957
  analysis: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMailManagerRuleSet.AnalysisProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
7215
7958
  attribute: typing.Optional[builtins.str] = None,
7959
+ is_in_address_list: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMailManagerRuleSet.RuleIsInAddressListProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
7216
7960
  ) -> None:
7217
7961
  '''The union type representing the allowed types of operands for a boolean condition.
7218
7962
 
7219
7963
  :param analysis: The Add On ARN and its returned value to evaluate in a boolean condition expression.
7220
7964
  :param attribute: The boolean type representing the allowed attribute types for an email.
7965
+ :param is_in_address_list: The structure representing the address lists and address list attribute that will be used in evaluation of boolean expression.
7221
7966
 
7222
7967
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-rulebooleantoevaluate.html
7223
7968
  :exampleMetadata: fixture=_generated
@@ -7233,18 +7978,25 @@ class CfnMailManagerRuleSet(
7233
7978
  analyzer="analyzer",
7234
7979
  result_field="resultField"
7235
7980
  ),
7236
- attribute="attribute"
7981
+ attribute="attribute",
7982
+ is_in_address_list=ses.CfnMailManagerRuleSet.RuleIsInAddressListProperty(
7983
+ address_lists=["addressLists"],
7984
+ attribute="attribute"
7985
+ )
7237
7986
  )
7238
7987
  '''
7239
7988
  if __debug__:
7240
7989
  type_hints = typing.get_type_hints(_typecheckingstub__837a4286b4e8b71b3f01d430cb3025b92d9655011a10dc38d56eb207d40ebc95)
7241
7990
  check_type(argname="argument analysis", value=analysis, expected_type=type_hints["analysis"])
7242
7991
  check_type(argname="argument attribute", value=attribute, expected_type=type_hints["attribute"])
7992
+ check_type(argname="argument is_in_address_list", value=is_in_address_list, expected_type=type_hints["is_in_address_list"])
7243
7993
  self._values: typing.Dict[builtins.str, typing.Any] = {}
7244
7994
  if analysis is not None:
7245
7995
  self._values["analysis"] = analysis
7246
7996
  if attribute is not None:
7247
7997
  self._values["attribute"] = attribute
7998
+ if is_in_address_list is not None:
7999
+ self._values["is_in_address_list"] = is_in_address_list
7248
8000
 
7249
8001
  @builtins.property
7250
8002
  def analysis(
@@ -7266,6 +8018,17 @@ class CfnMailManagerRuleSet(
7266
8018
  result = self._values.get("attribute")
7267
8019
  return typing.cast(typing.Optional[builtins.str], result)
7268
8020
 
8021
+ @builtins.property
8022
+ def is_in_address_list(
8023
+ self,
8024
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMailManagerRuleSet.RuleIsInAddressListProperty"]]:
8025
+ '''The structure representing the address lists and address list attribute that will be used in evaluation of boolean expression.
8026
+
8027
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-rulebooleantoevaluate.html#cfn-ses-mailmanagerruleset-rulebooleantoevaluate-isinaddresslist
8028
+ '''
8029
+ result = self._values.get("is_in_address_list")
8030
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMailManagerRuleSet.RuleIsInAddressListProperty"]], result)
8031
+
7269
8032
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
7270
8033
  return isinstance(rhs, self.__class__) and rhs._values == self._values
7271
8034
 
@@ -7329,7 +8092,11 @@ class CfnMailManagerRuleSet(
7329
8092
  analyzer="analyzer",
7330
8093
  result_field="resultField"
7331
8094
  ),
7332
- attribute="attribute"
8095
+ attribute="attribute",
8096
+ is_in_address_list=ses.CfnMailManagerRuleSet.RuleIsInAddressListProperty(
8097
+ address_lists=["addressLists"],
8098
+ attribute="attribute"
8099
+ )
7333
8100
  ),
7334
8101
  operator="operator"
7335
8102
  ),
@@ -7696,6 +8463,77 @@ class CfnMailManagerRuleSet(
7696
8463
  k + "=" + repr(v) for k, v in self._values.items()
7697
8464
  )
7698
8465
 
8466
+ @jsii.data_type(
8467
+ jsii_type="aws-cdk-lib.aws_ses.CfnMailManagerRuleSet.RuleIsInAddressListProperty",
8468
+ jsii_struct_bases=[],
8469
+ name_mapping={"address_lists": "addressLists", "attribute": "attribute"},
8470
+ )
8471
+ class RuleIsInAddressListProperty:
8472
+ def __init__(
8473
+ self,
8474
+ *,
8475
+ address_lists: typing.Sequence[builtins.str],
8476
+ attribute: builtins.str,
8477
+ ) -> None:
8478
+ '''The structure type for a boolean condition that provides the address lists and address list attribute to evaluate.
8479
+
8480
+ :param address_lists: The address lists that will be used for evaluation.
8481
+ :param attribute: The email attribute that needs to be evaluated against the address list.
8482
+
8483
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-ruleisinaddresslist.html
8484
+ :exampleMetadata: fixture=_generated
8485
+
8486
+ Example::
8487
+
8488
+ # The code below shows an example of how to instantiate this type.
8489
+ # The values are placeholders you should change.
8490
+ from aws_cdk import aws_ses as ses
8491
+
8492
+ rule_is_in_address_list_property = ses.CfnMailManagerRuleSet.RuleIsInAddressListProperty(
8493
+ address_lists=["addressLists"],
8494
+ attribute="attribute"
8495
+ )
8496
+ '''
8497
+ if __debug__:
8498
+ type_hints = typing.get_type_hints(_typecheckingstub__c73eebae950a2c422d0d245422988b23abb78b0806a5c9c6767b4faf77f00de5)
8499
+ check_type(argname="argument address_lists", value=address_lists, expected_type=type_hints["address_lists"])
8500
+ check_type(argname="argument attribute", value=attribute, expected_type=type_hints["attribute"])
8501
+ self._values: typing.Dict[builtins.str, typing.Any] = {
8502
+ "address_lists": address_lists,
8503
+ "attribute": attribute,
8504
+ }
8505
+
8506
+ @builtins.property
8507
+ def address_lists(self) -> typing.List[builtins.str]:
8508
+ '''The address lists that will be used for evaluation.
8509
+
8510
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-ruleisinaddresslist.html#cfn-ses-mailmanagerruleset-ruleisinaddresslist-addresslists
8511
+ '''
8512
+ result = self._values.get("address_lists")
8513
+ assert result is not None, "Required property 'address_lists' is missing"
8514
+ return typing.cast(typing.List[builtins.str], result)
8515
+
8516
+ @builtins.property
8517
+ def attribute(self) -> builtins.str:
8518
+ '''The email attribute that needs to be evaluated against the address list.
8519
+
8520
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-ruleisinaddresslist.html#cfn-ses-mailmanagerruleset-ruleisinaddresslist-attribute
8521
+ '''
8522
+ result = self._values.get("attribute")
8523
+ assert result is not None, "Required property 'attribute' is missing"
8524
+ return typing.cast(builtins.str, result)
8525
+
8526
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
8527
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
8528
+
8529
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
8530
+ return not (rhs == self)
8531
+
8532
+ def __repr__(self) -> str:
8533
+ return "RuleIsInAddressListProperty(%s)" % ", ".join(
8534
+ k + "=" + repr(v) for k, v in self._values.items()
8535
+ )
8536
+
7699
8537
  @jsii.data_type(
7700
8538
  jsii_type="aws-cdk-lib.aws_ses.CfnMailManagerRuleSet.RuleNumberExpressionProperty",
7701
8539
  jsii_struct_bases=[],
@@ -7909,6 +8747,15 @@ class CfnMailManagerRuleSet(
7909
8747
  action_failure_policy="actionFailurePolicy"
7910
8748
  ),
7911
8749
  drop=drop,
8750
+ publish_to_sns=ses.CfnMailManagerRuleSet.SnsActionProperty(
8751
+ role_arn="roleArn",
8752
+ topic_arn="topicArn",
8753
+
8754
+ # the properties below are optional
8755
+ action_failure_policy="actionFailurePolicy",
8756
+ encoding="encoding",
8757
+ payload_type="payloadType"
8758
+ ),
7912
8759
  relay=ses.CfnMailManagerRuleSet.RelayActionProperty(
7913
8760
  relay="relay",
7914
8761
 
@@ -7944,7 +8791,11 @@ class CfnMailManagerRuleSet(
7944
8791
  analyzer="analyzer",
7945
8792
  result_field="resultField"
7946
8793
  ),
7947
- attribute="attribute"
8794
+ attribute="attribute",
8795
+ is_in_address_list=ses.CfnMailManagerRuleSet.RuleIsInAddressListProperty(
8796
+ address_lists=["addressLists"],
8797
+ attribute="attribute"
8798
+ )
7948
8799
  ),
7949
8800
  operator="operator"
7950
8801
  ),
@@ -7998,7 +8849,11 @@ class CfnMailManagerRuleSet(
7998
8849
  analyzer="analyzer",
7999
8850
  result_field="resultField"
8000
8851
  ),
8001
- attribute="attribute"
8852
+ attribute="attribute",
8853
+ is_in_address_list=ses.CfnMailManagerRuleSet.RuleIsInAddressListProperty(
8854
+ address_lists=["addressLists"],
8855
+ attribute="attribute"
8856
+ )
8002
8857
  ),
8003
8858
  operator="operator"
8004
8859
  ),
@@ -8706,6 +9561,140 @@ class CfnMailManagerRuleSet(
8706
9561
  k + "=" + repr(v) for k, v in self._values.items()
8707
9562
  )
8708
9563
 
9564
+ @jsii.data_type(
9565
+ jsii_type="aws-cdk-lib.aws_ses.CfnMailManagerRuleSet.SnsActionProperty",
9566
+ jsii_struct_bases=[],
9567
+ name_mapping={
9568
+ "role_arn": "roleArn",
9569
+ "topic_arn": "topicArn",
9570
+ "action_failure_policy": "actionFailurePolicy",
9571
+ "encoding": "encoding",
9572
+ "payload_type": "payloadType",
9573
+ },
9574
+ )
9575
+ class SnsActionProperty:
9576
+ def __init__(
9577
+ self,
9578
+ *,
9579
+ role_arn: builtins.str,
9580
+ topic_arn: builtins.str,
9581
+ action_failure_policy: typing.Optional[builtins.str] = None,
9582
+ encoding: typing.Optional[builtins.str] = None,
9583
+ payload_type: typing.Optional[builtins.str] = None,
9584
+ ) -> None:
9585
+ '''The action to publish the email content to an Amazon SNS topic.
9586
+
9587
+ When executed, this action will send the email as a notification to the specified SNS topic.
9588
+
9589
+ :param role_arn: The Amazon Resource Name (ARN) of the IAM Role to use while writing to Amazon SNS. This role must have access to the ``sns:Publish`` API for the given topic.
9590
+ :param topic_arn: The Amazon Resource Name (ARN) of the Amazon SNS Topic to which notification for the email received will be published.
9591
+ :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, specified SNS topic has been deleted or the role lacks necessary permissions to call the ``sns:Publish`` API.
9592
+ :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.
9593
+ :param payload_type: The expected payload type within the Amazon SNS notification. ``CONTENT`` attempts to publish the full email content with 20KB of headers content. ``HEADERS`` extracts up to 100KB of header content to include in the notification, email content will not be included to the notification. The default value is ``CONTENT`` .
9594
+
9595
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-snsaction.html
9596
+ :exampleMetadata: fixture=_generated
9597
+
9598
+ Example::
9599
+
9600
+ # The code below shows an example of how to instantiate this type.
9601
+ # The values are placeholders you should change.
9602
+ from aws_cdk import aws_ses as ses
9603
+
9604
+ sns_action_property = ses.CfnMailManagerRuleSet.SnsActionProperty(
9605
+ role_arn="roleArn",
9606
+ topic_arn="topicArn",
9607
+
9608
+ # the properties below are optional
9609
+ action_failure_policy="actionFailurePolicy",
9610
+ encoding="encoding",
9611
+ payload_type="payloadType"
9612
+ )
9613
+ '''
9614
+ if __debug__:
9615
+ type_hints = typing.get_type_hints(_typecheckingstub__c1dba6e94fdb5a871528ffcc897120b50f8c7998718a851aaed472055a2a05a6)
9616
+ check_type(argname="argument role_arn", value=role_arn, expected_type=type_hints["role_arn"])
9617
+ check_type(argname="argument topic_arn", value=topic_arn, expected_type=type_hints["topic_arn"])
9618
+ check_type(argname="argument action_failure_policy", value=action_failure_policy, expected_type=type_hints["action_failure_policy"])
9619
+ check_type(argname="argument encoding", value=encoding, expected_type=type_hints["encoding"])
9620
+ check_type(argname="argument payload_type", value=payload_type, expected_type=type_hints["payload_type"])
9621
+ self._values: typing.Dict[builtins.str, typing.Any] = {
9622
+ "role_arn": role_arn,
9623
+ "topic_arn": topic_arn,
9624
+ }
9625
+ if action_failure_policy is not None:
9626
+ self._values["action_failure_policy"] = action_failure_policy
9627
+ if encoding is not None:
9628
+ self._values["encoding"] = encoding
9629
+ if payload_type is not None:
9630
+ self._values["payload_type"] = payload_type
9631
+
9632
+ @builtins.property
9633
+ def role_arn(self) -> builtins.str:
9634
+ '''The Amazon Resource Name (ARN) of the IAM Role to use while writing to Amazon SNS.
9635
+
9636
+ This role must have access to the ``sns:Publish`` API for the given topic.
9637
+
9638
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-snsaction.html#cfn-ses-mailmanagerruleset-snsaction-rolearn
9639
+ '''
9640
+ result = self._values.get("role_arn")
9641
+ assert result is not None, "Required property 'role_arn' is missing"
9642
+ return typing.cast(builtins.str, result)
9643
+
9644
+ @builtins.property
9645
+ def topic_arn(self) -> builtins.str:
9646
+ '''The Amazon Resource Name (ARN) of the Amazon SNS Topic to which notification for the email received will be published.
9647
+
9648
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-snsaction.html#cfn-ses-mailmanagerruleset-snsaction-topicarn
9649
+ '''
9650
+ result = self._values.get("topic_arn")
9651
+ assert result is not None, "Required property 'topic_arn' is missing"
9652
+ return typing.cast(builtins.str, result)
9653
+
9654
+ @builtins.property
9655
+ def action_failure_policy(self) -> typing.Optional[builtins.str]:
9656
+ '''A policy that states what to do in the case of failure.
9657
+
9658
+ The action will fail if there are configuration errors. For example, specified SNS topic has been deleted or the role lacks necessary permissions to call the ``sns:Publish`` API.
9659
+
9660
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-snsaction.html#cfn-ses-mailmanagerruleset-snsaction-actionfailurepolicy
9661
+ '''
9662
+ result = self._values.get("action_failure_policy")
9663
+ return typing.cast(typing.Optional[builtins.str], result)
9664
+
9665
+ @builtins.property
9666
+ def encoding(self) -> typing.Optional[builtins.str]:
9667
+ '''The encoding to use for the email within the Amazon SNS notification.
9668
+
9669
+ 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.
9670
+
9671
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-snsaction.html#cfn-ses-mailmanagerruleset-snsaction-encoding
9672
+ '''
9673
+ result = self._values.get("encoding")
9674
+ return typing.cast(typing.Optional[builtins.str], result)
9675
+
9676
+ @builtins.property
9677
+ def payload_type(self) -> typing.Optional[builtins.str]:
9678
+ '''The expected payload type within the Amazon SNS notification.
9679
+
9680
+ ``CONTENT`` attempts to publish the full email content with 20KB of headers content. ``HEADERS`` extracts up to 100KB of header content to include in the notification, email content will not be included to the notification. The default value is ``CONTENT`` .
9681
+
9682
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-snsaction.html#cfn-ses-mailmanagerruleset-snsaction-payloadtype
9683
+ '''
9684
+ result = self._values.get("payload_type")
9685
+ return typing.cast(typing.Optional[builtins.str], result)
9686
+
9687
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
9688
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
9689
+
9690
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
9691
+ return not (rhs == self)
9692
+
9693
+ def __repr__(self) -> str:
9694
+ return "SnsActionProperty(%s)" % ", ".join(
9695
+ k + "=" + repr(v) for k, v in self._values.items()
9696
+ )
9697
+
8709
9698
 
8710
9699
  @jsii.data_type(
8711
9700
  jsii_type="aws-cdk-lib.aws_ses.CfnMailManagerRuleSetProps",
@@ -8766,6 +9755,15 @@ class CfnMailManagerRuleSetProps:
8766
9755
  action_failure_policy="actionFailurePolicy"
8767
9756
  ),
8768
9757
  drop=drop,
9758
+ publish_to_sns=ses.CfnMailManagerRuleSet.SnsActionProperty(
9759
+ role_arn="roleArn",
9760
+ topic_arn="topicArn",
9761
+
9762
+ # the properties below are optional
9763
+ action_failure_policy="actionFailurePolicy",
9764
+ encoding="encoding",
9765
+ payload_type="payloadType"
9766
+ ),
8769
9767
  relay=ses.CfnMailManagerRuleSet.RelayActionProperty(
8770
9768
  relay="relay",
8771
9769
 
@@ -8801,7 +9799,11 @@ class CfnMailManagerRuleSetProps:
8801
9799
  analyzer="analyzer",
8802
9800
  result_field="resultField"
8803
9801
  ),
8804
- attribute="attribute"
9802
+ attribute="attribute",
9803
+ is_in_address_list=ses.CfnMailManagerRuleSet.RuleIsInAddressListProperty(
9804
+ address_lists=["addressLists"],
9805
+ attribute="attribute"
9806
+ )
8805
9807
  ),
8806
9808
  operator="operator"
8807
9809
  ),
@@ -8855,7 +9857,11 @@ class CfnMailManagerRuleSetProps:
8855
9857
  analyzer="analyzer",
8856
9858
  result_field="resultField"
8857
9859
  ),
8858
- attribute="attribute"
9860
+ attribute="attribute",
9861
+ is_in_address_list=ses.CfnMailManagerRuleSet.RuleIsInAddressListProperty(
9862
+ address_lists=["addressLists"],
9863
+ attribute="attribute"
9864
+ )
8859
9865
  ),
8860
9866
  operator="operator"
8861
9867
  ),
@@ -8968,7 +9974,7 @@ class CfnMailManagerRuleSetProps:
8968
9974
  )
8969
9975
 
8970
9976
 
8971
- @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
9977
+ @jsii.implements(_IInspectable_c2943556, _IMailManagerTrafficPolicyRef_cb765a4d, _ITaggableV2_4e6798f8)
8972
9978
  class CfnMailManagerTrafficPolicy(
8973
9979
  _CfnResource_9df397a6,
8974
9980
  metaclass=jsii.JSIIMeta,
@@ -8996,6 +10002,10 @@ class CfnMailManagerTrafficPolicy(
8996
10002
  analysis=ses.CfnMailManagerTrafficPolicy.IngressAnalysisProperty(
8997
10003
  analyzer="analyzer",
8998
10004
  result_field="resultField"
10005
+ ),
10006
+ is_in_address_list=ses.CfnMailManagerTrafficPolicy.IngressIsInAddressListProperty(
10007
+ address_lists=["addressLists"],
10008
+ attribute="attribute"
8999
10009
  )
9000
10010
  ),
9001
10011
  operator="operator"
@@ -9056,7 +10066,8 @@ class CfnMailManagerTrafficPolicy(
9056
10066
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
9057
10067
  traffic_policy_name: typing.Optional[builtins.str] = None,
9058
10068
  ) -> None:
9059
- '''
10069
+ '''Create a new ``AWS::SES::MailManagerTrafficPolicy``.
10070
+
9060
10071
  :param scope: Scope in which this resource is defined.
9061
10072
  :param id: Construct identifier for this resource (unique in its scope).
9062
10073
  :param default_action: Default action instructs the traffic policy to either Allow or Deny (block) messages that fall outside of (or not addressed by) the conditions of your policy statements.
@@ -9079,6 +10090,27 @@ class CfnMailManagerTrafficPolicy(
9079
10090
 
9080
10091
  jsii.create(self.__class__, self, [scope, id, props])
9081
10092
 
10093
+ @jsii.member(jsii_name="fromTrafficPolicyId")
10094
+ @builtins.classmethod
10095
+ def from_traffic_policy_id(
10096
+ cls,
10097
+ scope: _constructs_77d1e7e8.Construct,
10098
+ id: builtins.str,
10099
+ traffic_policy_id: builtins.str,
10100
+ ) -> _IMailManagerTrafficPolicyRef_cb765a4d:
10101
+ '''Creates a new IMailManagerTrafficPolicyRef from a trafficPolicyId.
10102
+
10103
+ :param scope: -
10104
+ :param id: -
10105
+ :param traffic_policy_id: -
10106
+ '''
10107
+ if __debug__:
10108
+ type_hints = typing.get_type_hints(_typecheckingstub__395da52cf16177971e7e9b795c457d2866532863ec94dc2aa23f2270e7a7d028)
10109
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
10110
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
10111
+ check_type(argname="argument traffic_policy_id", value=traffic_policy_id, expected_type=type_hints["traffic_policy_id"])
10112
+ return typing.cast(_IMailManagerTrafficPolicyRef_cb765a4d, jsii.sinvoke(cls, "fromTrafficPolicyId", [scope, id, traffic_policy_id]))
10113
+
9082
10114
  @jsii.member(jsii_name="inspect")
9083
10115
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
9084
10116
  '''Examines the CloudFormation resource and discloses attributes.
@@ -9139,7 +10171,15 @@ class CfnMailManagerTrafficPolicy(
9139
10171
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
9140
10172
 
9141
10173
  @builtins.property
9142
- @jsii.member(jsii_name="defaultAction")
10174
+ @jsii.member(jsii_name="mailManagerTrafficPolicyRef")
10175
+ def mail_manager_traffic_policy_ref(
10176
+ self,
10177
+ ) -> _MailManagerTrafficPolicyReference_4209d122:
10178
+ '''A reference to a MailManagerTrafficPolicy resource.'''
10179
+ return typing.cast(_MailManagerTrafficPolicyReference_4209d122, jsii.get(self, "mailManagerTrafficPolicyRef"))
10180
+
10181
+ @builtins.property
10182
+ @jsii.member(jsii_name="defaultAction")
9143
10183
  def default_action(self) -> builtins.str:
9144
10184
  '''Default action instructs the traffic policy to either Allow or Deny (block) messages that fall outside of (or not addressed by) the conditions of your policy statements.'''
9145
10185
  return typing.cast(builtins.str, jsii.get(self, "defaultAction"))
@@ -9310,6 +10350,10 @@ class CfnMailManagerTrafficPolicy(
9310
10350
  analysis=ses.CfnMailManagerTrafficPolicy.IngressAnalysisProperty(
9311
10351
  analyzer="analyzer",
9312
10352
  result_field="resultField"
10353
+ ),
10354
+ is_in_address_list=ses.CfnMailManagerTrafficPolicy.IngressIsInAddressListProperty(
10355
+ address_lists=["addressLists"],
10356
+ attribute="attribute"
9313
10357
  )
9314
10358
  ),
9315
10359
  operator="operator"
@@ -9360,17 +10404,19 @@ class CfnMailManagerTrafficPolicy(
9360
10404
  @jsii.data_type(
9361
10405
  jsii_type="aws-cdk-lib.aws_ses.CfnMailManagerTrafficPolicy.IngressBooleanToEvaluateProperty",
9362
10406
  jsii_struct_bases=[],
9363
- name_mapping={"analysis": "analysis"},
10407
+ name_mapping={"analysis": "analysis", "is_in_address_list": "isInAddressList"},
9364
10408
  )
9365
10409
  class IngressBooleanToEvaluateProperty:
9366
10410
  def __init__(
9367
10411
  self,
9368
10412
  *,
9369
- analysis: typing.Union[_IResolvable_da3f097b, typing.Union["CfnMailManagerTrafficPolicy.IngressAnalysisProperty", typing.Dict[builtins.str, typing.Any]]],
10413
+ analysis: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMailManagerTrafficPolicy.IngressAnalysisProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
10414
+ is_in_address_list: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMailManagerTrafficPolicy.IngressIsInAddressListProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
9370
10415
  ) -> None:
9371
10416
  '''The union type representing the allowed types of operands for a boolean condition.
9372
10417
 
9373
10418
  :param analysis: The structure type for a boolean condition stating the Add On ARN and its returned value.
10419
+ :param is_in_address_list: The structure type for a boolean condition that provides the address lists to evaluate incoming traffic on.
9374
10420
 
9375
10421
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-ingressbooleantoevaluate.html
9376
10422
  :exampleMetadata: fixture=_generated
@@ -9385,27 +10431,44 @@ class CfnMailManagerTrafficPolicy(
9385
10431
  analysis=ses.CfnMailManagerTrafficPolicy.IngressAnalysisProperty(
9386
10432
  analyzer="analyzer",
9387
10433
  result_field="resultField"
10434
+ ),
10435
+ is_in_address_list=ses.CfnMailManagerTrafficPolicy.IngressIsInAddressListProperty(
10436
+ address_lists=["addressLists"],
10437
+ attribute="attribute"
9388
10438
  )
9389
10439
  )
9390
10440
  '''
9391
10441
  if __debug__:
9392
10442
  type_hints = typing.get_type_hints(_typecheckingstub__f984617bda8a2e4d661237f8f2d083ff4f9510ebc7ccbff62ef023d22ebe961f)
9393
10443
  check_type(argname="argument analysis", value=analysis, expected_type=type_hints["analysis"])
9394
- self._values: typing.Dict[builtins.str, typing.Any] = {
9395
- "analysis": analysis,
9396
- }
10444
+ check_type(argname="argument is_in_address_list", value=is_in_address_list, expected_type=type_hints["is_in_address_list"])
10445
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
10446
+ if analysis is not None:
10447
+ self._values["analysis"] = analysis
10448
+ if is_in_address_list is not None:
10449
+ self._values["is_in_address_list"] = is_in_address_list
9397
10450
 
9398
10451
  @builtins.property
9399
10452
  def analysis(
9400
10453
  self,
9401
- ) -> typing.Union[_IResolvable_da3f097b, "CfnMailManagerTrafficPolicy.IngressAnalysisProperty"]:
10454
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMailManagerTrafficPolicy.IngressAnalysisProperty"]]:
9402
10455
  '''The structure type for a boolean condition stating the Add On ARN and its returned value.
9403
10456
 
9404
10457
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-ingressbooleantoevaluate.html#cfn-ses-mailmanagertrafficpolicy-ingressbooleantoevaluate-analysis
9405
10458
  '''
9406
10459
  result = self._values.get("analysis")
9407
- assert result is not None, "Required property 'analysis' is missing"
9408
- return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnMailManagerTrafficPolicy.IngressAnalysisProperty"], result)
10460
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMailManagerTrafficPolicy.IngressAnalysisProperty"]], result)
10461
+
10462
+ @builtins.property
10463
+ def is_in_address_list(
10464
+ self,
10465
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMailManagerTrafficPolicy.IngressIsInAddressListProperty"]]:
10466
+ '''The structure type for a boolean condition that provides the address lists to evaluate incoming traffic on.
10467
+
10468
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-ingressbooleantoevaluate.html#cfn-ses-mailmanagertrafficpolicy-ingressbooleantoevaluate-isinaddresslist
10469
+ '''
10470
+ result = self._values.get("is_in_address_list")
10471
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMailManagerTrafficPolicy.IngressIsInAddressListProperty"]], result)
9409
10472
 
9410
10473
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
9411
10474
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -9581,10 +10644,11 @@ class CfnMailManagerTrafficPolicy(
9581
10644
  operator: builtins.str,
9582
10645
  values: typing.Sequence[builtins.str],
9583
10646
  ) -> None:
9584
- '''
9585
- :param evaluate:
9586
- :param operator:
9587
- :param values:
10647
+ '''The union type representing the allowed types for the left hand side of an IPv6 condition.
10648
+
10649
+ :param evaluate: The left hand side argument of an IPv6 condition expression.
10650
+ :param operator: The matching operator for an IPv6 condition expression.
10651
+ :param values: The right hand side argument of an IPv6 condition expression.
9588
10652
 
9589
10653
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-ingressipv6expression.html
9590
10654
  :exampleMetadata: fixture=_generated
@@ -9618,7 +10682,8 @@ class CfnMailManagerTrafficPolicy(
9618
10682
  def evaluate(
9619
10683
  self,
9620
10684
  ) -> typing.Union[_IResolvable_da3f097b, "CfnMailManagerTrafficPolicy.IngressIpv6ToEvaluateProperty"]:
9621
- '''
10685
+ '''The left hand side argument of an IPv6 condition expression.
10686
+
9622
10687
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-ingressipv6expression.html#cfn-ses-mailmanagertrafficpolicy-ingressipv6expression-evaluate
9623
10688
  '''
9624
10689
  result = self._values.get("evaluate")
@@ -9627,7 +10692,8 @@ class CfnMailManagerTrafficPolicy(
9627
10692
 
9628
10693
  @builtins.property
9629
10694
  def operator(self) -> builtins.str:
9630
- '''
10695
+ '''The matching operator for an IPv6 condition expression.
10696
+
9631
10697
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-ingressipv6expression.html#cfn-ses-mailmanagertrafficpolicy-ingressipv6expression-operator
9632
10698
  '''
9633
10699
  result = self._values.get("operator")
@@ -9636,7 +10702,8 @@ class CfnMailManagerTrafficPolicy(
9636
10702
 
9637
10703
  @builtins.property
9638
10704
  def values(self) -> typing.List[builtins.str]:
9639
- '''
10705
+ '''The right hand side argument of an IPv6 condition expression.
10706
+
9640
10707
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-ingressipv6expression.html#cfn-ses-mailmanagertrafficpolicy-ingressipv6expression-values
9641
10708
  '''
9642
10709
  result = self._values.get("values")
@@ -9661,8 +10728,9 @@ class CfnMailManagerTrafficPolicy(
9661
10728
  )
9662
10729
  class IngressIpv6ToEvaluateProperty:
9663
10730
  def __init__(self, *, attribute: builtins.str) -> None:
9664
- '''
9665
- :param attribute:
10731
+ '''The structure for an IPv6 based condition matching on the incoming mail.
10732
+
10733
+ :param attribute: An enum type representing the allowed attribute types for an IPv6 condition.
9666
10734
 
9667
10735
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-ingressipv6toevaluate.html
9668
10736
  :exampleMetadata: fixture=_generated
@@ -9686,7 +10754,8 @@ class CfnMailManagerTrafficPolicy(
9686
10754
 
9687
10755
  @builtins.property
9688
10756
  def attribute(self) -> builtins.str:
9689
- '''
10757
+ '''An enum type representing the allowed attribute types for an IPv6 condition.
10758
+
9690
10759
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-ingressipv6toevaluate.html#cfn-ses-mailmanagertrafficpolicy-ingressipv6toevaluate-attribute
9691
10760
  '''
9692
10761
  result = self._values.get("attribute")
@@ -9704,6 +10773,77 @@ class CfnMailManagerTrafficPolicy(
9704
10773
  k + "=" + repr(v) for k, v in self._values.items()
9705
10774
  )
9706
10775
 
10776
+ @jsii.data_type(
10777
+ jsii_type="aws-cdk-lib.aws_ses.CfnMailManagerTrafficPolicy.IngressIsInAddressListProperty",
10778
+ jsii_struct_bases=[],
10779
+ name_mapping={"address_lists": "addressLists", "attribute": "attribute"},
10780
+ )
10781
+ class IngressIsInAddressListProperty:
10782
+ def __init__(
10783
+ self,
10784
+ *,
10785
+ address_lists: typing.Sequence[builtins.str],
10786
+ attribute: builtins.str,
10787
+ ) -> None:
10788
+ '''The address lists and the address list attribute value that is evaluated in a policy statement's conditional expression to either deny or block the incoming email.
10789
+
10790
+ :param address_lists: The address lists that will be used for evaluation.
10791
+ :param attribute: The email attribute that needs to be evaluated against the address list.
10792
+
10793
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-ingressisinaddresslist.html
10794
+ :exampleMetadata: fixture=_generated
10795
+
10796
+ Example::
10797
+
10798
+ # The code below shows an example of how to instantiate this type.
10799
+ # The values are placeholders you should change.
10800
+ from aws_cdk import aws_ses as ses
10801
+
10802
+ ingress_is_in_address_list_property = ses.CfnMailManagerTrafficPolicy.IngressIsInAddressListProperty(
10803
+ address_lists=["addressLists"],
10804
+ attribute="attribute"
10805
+ )
10806
+ '''
10807
+ if __debug__:
10808
+ type_hints = typing.get_type_hints(_typecheckingstub__5756963845a73e3e00c9928d7ef48ca41a788f8ce93f22f31e10d1f99dbfe7fd)
10809
+ check_type(argname="argument address_lists", value=address_lists, expected_type=type_hints["address_lists"])
10810
+ check_type(argname="argument attribute", value=attribute, expected_type=type_hints["attribute"])
10811
+ self._values: typing.Dict[builtins.str, typing.Any] = {
10812
+ "address_lists": address_lists,
10813
+ "attribute": attribute,
10814
+ }
10815
+
10816
+ @builtins.property
10817
+ def address_lists(self) -> typing.List[builtins.str]:
10818
+ '''The address lists that will be used for evaluation.
10819
+
10820
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-ingressisinaddresslist.html#cfn-ses-mailmanagertrafficpolicy-ingressisinaddresslist-addresslists
10821
+ '''
10822
+ result = self._values.get("address_lists")
10823
+ assert result is not None, "Required property 'address_lists' is missing"
10824
+ return typing.cast(typing.List[builtins.str], result)
10825
+
10826
+ @builtins.property
10827
+ def attribute(self) -> builtins.str:
10828
+ '''The email attribute that needs to be evaluated against the address list.
10829
+
10830
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-ingressisinaddresslist.html#cfn-ses-mailmanagertrafficpolicy-ingressisinaddresslist-attribute
10831
+ '''
10832
+ result = self._values.get("attribute")
10833
+ assert result is not None, "Required property 'attribute' is missing"
10834
+ return typing.cast(builtins.str, result)
10835
+
10836
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
10837
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
10838
+
10839
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
10840
+ return not (rhs == self)
10841
+
10842
+ def __repr__(self) -> str:
10843
+ return "IngressIsInAddressListProperty(%s)" % ", ".join(
10844
+ k + "=" + repr(v) for k, v in self._values.items()
10845
+ )
10846
+
9707
10847
  @jsii.data_type(
9708
10848
  jsii_type="aws-cdk-lib.aws_ses.CfnMailManagerTrafficPolicy.IngressStringExpressionProperty",
9709
10849
  jsii_struct_bases=[],
@@ -9815,7 +10955,7 @@ class CfnMailManagerTrafficPolicy(
9815
10955
  ) -> None:
9816
10956
  '''The union type representing the allowed types for the left hand side of a string condition.
9817
10957
 
9818
- :param analysis:
10958
+ :param analysis: The structure type for a string condition stating the Add On ARN and its returned value.
9819
10959
  :param attribute: The enum type representing the allowed attribute types for a string condition.
9820
10960
 
9821
10961
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-ingressstringtoevaluate.html
@@ -9849,7 +10989,8 @@ class CfnMailManagerTrafficPolicy(
9849
10989
  def analysis(
9850
10990
  self,
9851
10991
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMailManagerTrafficPolicy.IngressAnalysisProperty"]]:
9852
- '''
10992
+ '''The structure type for a string condition stating the Add On ARN and its returned value.
10993
+
9853
10994
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-ingressstringtoevaluate.html#cfn-ses-mailmanagertrafficpolicy-ingressstringtoevaluate-analysis
9854
10995
  '''
9855
10996
  result = self._values.get("analysis")
@@ -10050,7 +11191,7 @@ class CfnMailManagerTrafficPolicy(
10050
11191
 
10051
11192
  :param boolean_expression: This represents a boolean type condition matching on the incoming mail. It performs the boolean operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.
10052
11193
  :param ip_expression: This represents an IP based condition matching on the incoming mail. It performs the operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.
10053
- :param ipv6_expression:
11194
+ :param ipv6_expression: This represents an IPv6 based condition matching on the incoming mail. It performs the operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.
10054
11195
  :param string_expression: This represents a string based condition matching on the incoming mail. It performs the string operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.
10055
11196
  :param tls_expression: This represents a TLS based condition matching on the incoming mail. It performs the operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.
10056
11197
 
@@ -10069,6 +11210,10 @@ class CfnMailManagerTrafficPolicy(
10069
11210
  analysis=ses.CfnMailManagerTrafficPolicy.IngressAnalysisProperty(
10070
11211
  analyzer="analyzer",
10071
11212
  result_field="resultField"
11213
+ ),
11214
+ is_in_address_list=ses.CfnMailManagerTrafficPolicy.IngressIsInAddressListProperty(
11215
+ address_lists=["addressLists"],
11216
+ attribute="attribute"
10072
11217
  )
10073
11218
  ),
10074
11219
  operator="operator"
@@ -10156,37 +11301,559 @@ class CfnMailManagerTrafficPolicy(
10156
11301
  def ipv6_expression(
10157
11302
  self,
10158
11303
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMailManagerTrafficPolicy.IngressIpv6ExpressionProperty"]]:
10159
- '''
11304
+ '''This represents an IPv6 based condition matching on the incoming mail.
11305
+
11306
+ It performs the operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.
11307
+
10160
11308
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-policycondition.html#cfn-ses-mailmanagertrafficpolicy-policycondition-ipv6expression
10161
11309
  '''
10162
11310
  result = self._values.get("ipv6_expression")
10163
11311
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMailManagerTrafficPolicy.IngressIpv6ExpressionProperty"]], result)
10164
11312
 
10165
- @builtins.property
10166
- def string_expression(
11313
+ @builtins.property
11314
+ def string_expression(
11315
+ self,
11316
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMailManagerTrafficPolicy.IngressStringExpressionProperty"]]:
11317
+ '''This represents a string based condition matching on the incoming mail.
11318
+
11319
+ It performs the string operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.
11320
+
11321
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-policycondition.html#cfn-ses-mailmanagertrafficpolicy-policycondition-stringexpression
11322
+ '''
11323
+ result = self._values.get("string_expression")
11324
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMailManagerTrafficPolicy.IngressStringExpressionProperty"]], result)
11325
+
11326
+ @builtins.property
11327
+ def tls_expression(
11328
+ self,
11329
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMailManagerTrafficPolicy.IngressTlsProtocolExpressionProperty"]]:
11330
+ '''This represents a TLS based condition matching on the incoming mail.
11331
+
11332
+ It performs the operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.
11333
+
11334
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-policycondition.html#cfn-ses-mailmanagertrafficpolicy-policycondition-tlsexpression
11335
+ '''
11336
+ result = self._values.get("tls_expression")
11337
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMailManagerTrafficPolicy.IngressTlsProtocolExpressionProperty"]], result)
11338
+
11339
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
11340
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
11341
+
11342
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
11343
+ return not (rhs == self)
11344
+
11345
+ def __repr__(self) -> str:
11346
+ return "PolicyConditionProperty(%s)" % ", ".join(
11347
+ k + "=" + repr(v) for k, v in self._values.items()
11348
+ )
11349
+
11350
+ @jsii.data_type(
11351
+ jsii_type="aws-cdk-lib.aws_ses.CfnMailManagerTrafficPolicy.PolicyStatementProperty",
11352
+ jsii_struct_bases=[],
11353
+ name_mapping={"action": "action", "conditions": "conditions"},
11354
+ )
11355
+ class PolicyStatementProperty:
11356
+ def __init__(
11357
+ self,
11358
+ *,
11359
+ action: builtins.str,
11360
+ conditions: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMailManagerTrafficPolicy.PolicyConditionProperty", typing.Dict[builtins.str, typing.Any]]]]],
11361
+ ) -> None:
11362
+ '''The structure containing traffic policy conditions and actions.
11363
+
11364
+ :param action: The action that informs a traffic policy resource to either allow or block the email if it matches a condition in the policy statement.
11365
+ :param conditions: The list of conditions to apply to incoming messages for filtering email traffic.
11366
+
11367
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-policystatement.html
11368
+ :exampleMetadata: fixture=_generated
11369
+
11370
+ Example::
11371
+
11372
+ # The code below shows an example of how to instantiate this type.
11373
+ # The values are placeholders you should change.
11374
+ from aws_cdk import aws_ses as ses
11375
+
11376
+ policy_statement_property = ses.CfnMailManagerTrafficPolicy.PolicyStatementProperty(
11377
+ action="action",
11378
+ conditions=[ses.CfnMailManagerTrafficPolicy.PolicyConditionProperty(
11379
+ boolean_expression=ses.CfnMailManagerTrafficPolicy.IngressBooleanExpressionProperty(
11380
+ evaluate=ses.CfnMailManagerTrafficPolicy.IngressBooleanToEvaluateProperty(
11381
+ analysis=ses.CfnMailManagerTrafficPolicy.IngressAnalysisProperty(
11382
+ analyzer="analyzer",
11383
+ result_field="resultField"
11384
+ ),
11385
+ is_in_address_list=ses.CfnMailManagerTrafficPolicy.IngressIsInAddressListProperty(
11386
+ address_lists=["addressLists"],
11387
+ attribute="attribute"
11388
+ )
11389
+ ),
11390
+ operator="operator"
11391
+ ),
11392
+ ip_expression=ses.CfnMailManagerTrafficPolicy.IngressIpv4ExpressionProperty(
11393
+ evaluate=ses.CfnMailManagerTrafficPolicy.IngressIpToEvaluateProperty(
11394
+ attribute="attribute"
11395
+ ),
11396
+ operator="operator",
11397
+ values=["values"]
11398
+ ),
11399
+ ipv6_expression=ses.CfnMailManagerTrafficPolicy.IngressIpv6ExpressionProperty(
11400
+ evaluate=ses.CfnMailManagerTrafficPolicy.IngressIpv6ToEvaluateProperty(
11401
+ attribute="attribute"
11402
+ ),
11403
+ operator="operator",
11404
+ values=["values"]
11405
+ ),
11406
+ string_expression=ses.CfnMailManagerTrafficPolicy.IngressStringExpressionProperty(
11407
+ evaluate=ses.CfnMailManagerTrafficPolicy.IngressStringToEvaluateProperty(
11408
+ analysis=ses.CfnMailManagerTrafficPolicy.IngressAnalysisProperty(
11409
+ analyzer="analyzer",
11410
+ result_field="resultField"
11411
+ ),
11412
+ attribute="attribute"
11413
+ ),
11414
+ operator="operator",
11415
+ values=["values"]
11416
+ ),
11417
+ tls_expression=ses.CfnMailManagerTrafficPolicy.IngressTlsProtocolExpressionProperty(
11418
+ evaluate=ses.CfnMailManagerTrafficPolicy.IngressTlsProtocolToEvaluateProperty(
11419
+ attribute="attribute"
11420
+ ),
11421
+ operator="operator",
11422
+ value="value"
11423
+ )
11424
+ )]
11425
+ )
11426
+ '''
11427
+ if __debug__:
11428
+ type_hints = typing.get_type_hints(_typecheckingstub__b922305a6b38d117885f741ba67de50b32b60f8d84e07583f5e79f9efd3182aa)
11429
+ check_type(argname="argument action", value=action, expected_type=type_hints["action"])
11430
+ check_type(argname="argument conditions", value=conditions, expected_type=type_hints["conditions"])
11431
+ self._values: typing.Dict[builtins.str, typing.Any] = {
11432
+ "action": action,
11433
+ "conditions": conditions,
11434
+ }
11435
+
11436
+ @builtins.property
11437
+ def action(self) -> builtins.str:
11438
+ '''The action that informs a traffic policy resource to either allow or block the email if it matches a condition in the policy statement.
11439
+
11440
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-policystatement.html#cfn-ses-mailmanagertrafficpolicy-policystatement-action
11441
+ '''
11442
+ result = self._values.get("action")
11443
+ assert result is not None, "Required property 'action' is missing"
11444
+ return typing.cast(builtins.str, result)
11445
+
11446
+ @builtins.property
11447
+ def conditions(
11448
+ self,
11449
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMailManagerTrafficPolicy.PolicyConditionProperty"]]]:
11450
+ '''The list of conditions to apply to incoming messages for filtering email traffic.
11451
+
11452
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-policystatement.html#cfn-ses-mailmanagertrafficpolicy-policystatement-conditions
11453
+ '''
11454
+ result = self._values.get("conditions")
11455
+ assert result is not None, "Required property 'conditions' is missing"
11456
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMailManagerTrafficPolicy.PolicyConditionProperty"]]], result)
11457
+
11458
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
11459
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
11460
+
11461
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
11462
+ return not (rhs == self)
11463
+
11464
+ def __repr__(self) -> str:
11465
+ return "PolicyStatementProperty(%s)" % ", ".join(
11466
+ k + "=" + repr(v) for k, v in self._values.items()
11467
+ )
11468
+
11469
+
11470
+ @jsii.data_type(
11471
+ jsii_type="aws-cdk-lib.aws_ses.CfnMailManagerTrafficPolicyProps",
11472
+ jsii_struct_bases=[],
11473
+ name_mapping={
11474
+ "default_action": "defaultAction",
11475
+ "policy_statements": "policyStatements",
11476
+ "max_message_size_bytes": "maxMessageSizeBytes",
11477
+ "tags": "tags",
11478
+ "traffic_policy_name": "trafficPolicyName",
11479
+ },
11480
+ )
11481
+ class CfnMailManagerTrafficPolicyProps:
11482
+ def __init__(
11483
+ self,
11484
+ *,
11485
+ default_action: builtins.str,
11486
+ policy_statements: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMailManagerTrafficPolicy.PolicyStatementProperty, typing.Dict[builtins.str, typing.Any]]]]],
11487
+ max_message_size_bytes: typing.Optional[jsii.Number] = None,
11488
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
11489
+ traffic_policy_name: typing.Optional[builtins.str] = None,
11490
+ ) -> None:
11491
+ '''Properties for defining a ``CfnMailManagerTrafficPolicy``.
11492
+
11493
+ :param default_action: Default action instructs the traffic policy to either Allow or Deny (block) messages that fall outside of (or not addressed by) the conditions of your policy statements.
11494
+ :param policy_statements: Conditional statements for filtering email traffic.
11495
+ :param max_message_size_bytes: The maximum message size in bytes of email which is allowed in by this traffic policy—anything larger will be blocked.
11496
+ :param tags: The tags used to organize, track, or control access for the resource. For example, { "tags": {"key1":"value1", "key2":"value2"} }.
11497
+ :param traffic_policy_name: The name of the policy. The policy name cannot exceed 64 characters and can only include alphanumeric characters, dashes, and underscores.
11498
+
11499
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagertrafficpolicy.html
11500
+ :exampleMetadata: fixture=_generated
11501
+
11502
+ Example::
11503
+
11504
+ # The code below shows an example of how to instantiate this type.
11505
+ # The values are placeholders you should change.
11506
+ from aws_cdk import aws_ses as ses
11507
+
11508
+ cfn_mail_manager_traffic_policy_props = ses.CfnMailManagerTrafficPolicyProps(
11509
+ default_action="defaultAction",
11510
+ policy_statements=[ses.CfnMailManagerTrafficPolicy.PolicyStatementProperty(
11511
+ action="action",
11512
+ conditions=[ses.CfnMailManagerTrafficPolicy.PolicyConditionProperty(
11513
+ boolean_expression=ses.CfnMailManagerTrafficPolicy.IngressBooleanExpressionProperty(
11514
+ evaluate=ses.CfnMailManagerTrafficPolicy.IngressBooleanToEvaluateProperty(
11515
+ analysis=ses.CfnMailManagerTrafficPolicy.IngressAnalysisProperty(
11516
+ analyzer="analyzer",
11517
+ result_field="resultField"
11518
+ ),
11519
+ is_in_address_list=ses.CfnMailManagerTrafficPolicy.IngressIsInAddressListProperty(
11520
+ address_lists=["addressLists"],
11521
+ attribute="attribute"
11522
+ )
11523
+ ),
11524
+ operator="operator"
11525
+ ),
11526
+ ip_expression=ses.CfnMailManagerTrafficPolicy.IngressIpv4ExpressionProperty(
11527
+ evaluate=ses.CfnMailManagerTrafficPolicy.IngressIpToEvaluateProperty(
11528
+ attribute="attribute"
11529
+ ),
11530
+ operator="operator",
11531
+ values=["values"]
11532
+ ),
11533
+ ipv6_expression=ses.CfnMailManagerTrafficPolicy.IngressIpv6ExpressionProperty(
11534
+ evaluate=ses.CfnMailManagerTrafficPolicy.IngressIpv6ToEvaluateProperty(
11535
+ attribute="attribute"
11536
+ ),
11537
+ operator="operator",
11538
+ values=["values"]
11539
+ ),
11540
+ string_expression=ses.CfnMailManagerTrafficPolicy.IngressStringExpressionProperty(
11541
+ evaluate=ses.CfnMailManagerTrafficPolicy.IngressStringToEvaluateProperty(
11542
+ analysis=ses.CfnMailManagerTrafficPolicy.IngressAnalysisProperty(
11543
+ analyzer="analyzer",
11544
+ result_field="resultField"
11545
+ ),
11546
+ attribute="attribute"
11547
+ ),
11548
+ operator="operator",
11549
+ values=["values"]
11550
+ ),
11551
+ tls_expression=ses.CfnMailManagerTrafficPolicy.IngressTlsProtocolExpressionProperty(
11552
+ evaluate=ses.CfnMailManagerTrafficPolicy.IngressTlsProtocolToEvaluateProperty(
11553
+ attribute="attribute"
11554
+ ),
11555
+ operator="operator",
11556
+ value="value"
11557
+ )
11558
+ )]
11559
+ )],
11560
+
11561
+ # the properties below are optional
11562
+ max_message_size_bytes=123,
11563
+ tags=[CfnTag(
11564
+ key="key",
11565
+ value="value"
11566
+ )],
11567
+ traffic_policy_name="trafficPolicyName"
11568
+ )
11569
+ '''
11570
+ if __debug__:
11571
+ type_hints = typing.get_type_hints(_typecheckingstub__ed881964bd518a16a88f17ded480c0caabc8547dbbd126d0803e1424b80d51ef)
11572
+ check_type(argname="argument default_action", value=default_action, expected_type=type_hints["default_action"])
11573
+ check_type(argname="argument policy_statements", value=policy_statements, expected_type=type_hints["policy_statements"])
11574
+ check_type(argname="argument max_message_size_bytes", value=max_message_size_bytes, expected_type=type_hints["max_message_size_bytes"])
11575
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
11576
+ check_type(argname="argument traffic_policy_name", value=traffic_policy_name, expected_type=type_hints["traffic_policy_name"])
11577
+ self._values: typing.Dict[builtins.str, typing.Any] = {
11578
+ "default_action": default_action,
11579
+ "policy_statements": policy_statements,
11580
+ }
11581
+ if max_message_size_bytes is not None:
11582
+ self._values["max_message_size_bytes"] = max_message_size_bytes
11583
+ if tags is not None:
11584
+ self._values["tags"] = tags
11585
+ if traffic_policy_name is not None:
11586
+ self._values["traffic_policy_name"] = traffic_policy_name
11587
+
11588
+ @builtins.property
11589
+ def default_action(self) -> builtins.str:
11590
+ '''Default action instructs the traffic policy to either Allow or Deny (block) messages that fall outside of (or not addressed by) the conditions of your policy statements.
11591
+
11592
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagertrafficpolicy.html#cfn-ses-mailmanagertrafficpolicy-defaultaction
11593
+ '''
11594
+ result = self._values.get("default_action")
11595
+ assert result is not None, "Required property 'default_action' is missing"
11596
+ return typing.cast(builtins.str, result)
11597
+
11598
+ @builtins.property
11599
+ def policy_statements(
11600
+ self,
11601
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnMailManagerTrafficPolicy.PolicyStatementProperty]]]:
11602
+ '''Conditional statements for filtering email traffic.
11603
+
11604
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagertrafficpolicy.html#cfn-ses-mailmanagertrafficpolicy-policystatements
11605
+ '''
11606
+ result = self._values.get("policy_statements")
11607
+ assert result is not None, "Required property 'policy_statements' is missing"
11608
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnMailManagerTrafficPolicy.PolicyStatementProperty]]], result)
11609
+
11610
+ @builtins.property
11611
+ def max_message_size_bytes(self) -> typing.Optional[jsii.Number]:
11612
+ '''The maximum message size in bytes of email which is allowed in by this traffic policy—anything larger will be blocked.
11613
+
11614
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagertrafficpolicy.html#cfn-ses-mailmanagertrafficpolicy-maxmessagesizebytes
11615
+ '''
11616
+ result = self._values.get("max_message_size_bytes")
11617
+ return typing.cast(typing.Optional[jsii.Number], result)
11618
+
11619
+ @builtins.property
11620
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
11621
+ '''The tags used to organize, track, or control access for the resource.
11622
+
11623
+ For example, { "tags": {"key1":"value1", "key2":"value2"} }.
11624
+
11625
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagertrafficpolicy.html#cfn-ses-mailmanagertrafficpolicy-tags
11626
+ '''
11627
+ result = self._values.get("tags")
11628
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
11629
+
11630
+ @builtins.property
11631
+ def traffic_policy_name(self) -> typing.Optional[builtins.str]:
11632
+ '''The name of the policy.
11633
+
11634
+ The policy name cannot exceed 64 characters and can only include alphanumeric characters, dashes, and underscores.
11635
+
11636
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagertrafficpolicy.html#cfn-ses-mailmanagertrafficpolicy-trafficpolicyname
11637
+ '''
11638
+ result = self._values.get("traffic_policy_name")
11639
+ return typing.cast(typing.Optional[builtins.str], result)
11640
+
11641
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
11642
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
11643
+
11644
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
11645
+ return not (rhs == self)
11646
+
11647
+ def __repr__(self) -> str:
11648
+ return "CfnMailManagerTrafficPolicyProps(%s)" % ", ".join(
11649
+ k + "=" + repr(v) for k, v in self._values.items()
11650
+ )
11651
+
11652
+
11653
+ @jsii.implements(_IInspectable_c2943556, _IMultiRegionEndpointRef_cfd99631, _ITaggableV2_4e6798f8)
11654
+ class CfnMultiRegionEndpoint(
11655
+ _CfnResource_9df397a6,
11656
+ metaclass=jsii.JSIIMeta,
11657
+ jsii_type="aws-cdk-lib.aws_ses.CfnMultiRegionEndpoint",
11658
+ ):
11659
+ '''Creates a multi-region endpoint (global-endpoint).
11660
+
11661
+ The primary region is going to be the AWS-Region where the operation is executed. The secondary region has to be provided in request's parameters. From the data flow standpoint there is no difference between primary and secondary regions - sending traffic will be split equally between the two. The primary region is the region where the resource has been created and where it can be managed.
11662
+
11663
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-multiregionendpoint.html
11664
+ :cloudformationResource: AWS::SES::MultiRegionEndpoint
11665
+ :exampleMetadata: fixture=_generated
11666
+
11667
+ Example::
11668
+
11669
+ # The code below shows an example of how to instantiate this type.
11670
+ # The values are placeholders you should change.
11671
+ from aws_cdk import aws_ses as ses
11672
+
11673
+ cfn_multi_region_endpoint = ses.CfnMultiRegionEndpoint(self, "MyCfnMultiRegionEndpoint",
11674
+ details=ses.CfnMultiRegionEndpoint.DetailsProperty(
11675
+ route_details=[ses.CfnMultiRegionEndpoint.RouteDetailsItemsProperty(
11676
+ region="region"
11677
+ )]
11678
+ ),
11679
+ endpoint_name="endpointName",
11680
+
11681
+ # the properties below are optional
11682
+ tags=[CfnTag(
11683
+ key="key",
11684
+ value="value"
11685
+ )]
11686
+ )
11687
+ '''
11688
+
11689
+ def __init__(
11690
+ self,
11691
+ scope: _constructs_77d1e7e8.Construct,
11692
+ id: builtins.str,
11693
+ *,
11694
+ details: typing.Union[_IResolvable_da3f097b, typing.Union["CfnMultiRegionEndpoint.DetailsProperty", typing.Dict[builtins.str, typing.Any]]],
11695
+ endpoint_name: builtins.str,
11696
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
11697
+ ) -> None:
11698
+ '''Create a new ``AWS::SES::MultiRegionEndpoint``.
11699
+
11700
+ :param scope: Scope in which this resource is defined.
11701
+ :param id: Construct identifier for this resource (unique in its scope).
11702
+ :param details: Contains details of a multi-region endpoint (global-endpoint) being created.
11703
+ :param endpoint_name: The name of the multi-region endpoint (global-endpoint).
11704
+ :param tags: An array of objects that define the tags (keys and values) to associate with the multi-region endpoint (global-endpoint).
11705
+ '''
11706
+ if __debug__:
11707
+ type_hints = typing.get_type_hints(_typecheckingstub__8d7e94f6d9cd343f5c2c621d4e2a086c1db0d608865fb3a5015d0b11df5b0c2a)
11708
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
11709
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
11710
+ props = CfnMultiRegionEndpointProps(
11711
+ details=details, endpoint_name=endpoint_name, tags=tags
11712
+ )
11713
+
11714
+ jsii.create(self.__class__, self, [scope, id, props])
11715
+
11716
+ @jsii.member(jsii_name="inspect")
11717
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
11718
+ '''Examines the CloudFormation resource and discloses attributes.
11719
+
11720
+ :param inspector: tree inspector to collect and process attributes.
11721
+ '''
11722
+ if __debug__:
11723
+ type_hints = typing.get_type_hints(_typecheckingstub__3f993acea62f4c5cd3c13afb39ae933a70876025dda136db5641662ea3652c35)
11724
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
11725
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
11726
+
11727
+ @jsii.member(jsii_name="renderProperties")
11728
+ def _render_properties(
11729
+ self,
11730
+ props: typing.Mapping[builtins.str, typing.Any],
11731
+ ) -> typing.Mapping[builtins.str, typing.Any]:
11732
+ '''
11733
+ :param props: -
11734
+ '''
11735
+ if __debug__:
11736
+ type_hints = typing.get_type_hints(_typecheckingstub__2f108c3712c98e873a0ab1929f7b0f152b6ad3d8f5741b41d2dde160eedd78e2)
11737
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
11738
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
11739
+
11740
+ @jsii.python.classproperty
11741
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
11742
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
11743
+ '''The CloudFormation resource type name for this resource class.'''
11744
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
11745
+
11746
+ @builtins.property
11747
+ @jsii.member(jsii_name="cdkTagManager")
11748
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
11749
+ '''Tag Manager which manages the tags for this resource.'''
11750
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
11751
+
11752
+ @builtins.property
11753
+ @jsii.member(jsii_name="cfnProperties")
11754
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
11755
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
11756
+
11757
+ @builtins.property
11758
+ @jsii.member(jsii_name="multiRegionEndpointRef")
11759
+ def multi_region_endpoint_ref(self) -> _MultiRegionEndpointReference_887ccebf:
11760
+ '''A reference to a MultiRegionEndpoint resource.'''
11761
+ return typing.cast(_MultiRegionEndpointReference_887ccebf, jsii.get(self, "multiRegionEndpointRef"))
11762
+
11763
+ @builtins.property
11764
+ @jsii.member(jsii_name="details")
11765
+ def details(
11766
+ self,
11767
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnMultiRegionEndpoint.DetailsProperty"]:
11768
+ '''Contains details of a multi-region endpoint (global-endpoint) being created.'''
11769
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnMultiRegionEndpoint.DetailsProperty"], jsii.get(self, "details"))
11770
+
11771
+ @details.setter
11772
+ def details(
11773
+ self,
11774
+ value: typing.Union[_IResolvable_da3f097b, "CfnMultiRegionEndpoint.DetailsProperty"],
11775
+ ) -> None:
11776
+ if __debug__:
11777
+ type_hints = typing.get_type_hints(_typecheckingstub__8b6fe78ccfdd3e52f3ea0fa2cdbcc2b8e26a69603c27d6b58c6704fbd2a0ad13)
11778
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
11779
+ jsii.set(self, "details", value) # pyright: ignore[reportArgumentType]
11780
+
11781
+ @builtins.property
11782
+ @jsii.member(jsii_name="endpointName")
11783
+ def endpoint_name(self) -> builtins.str:
11784
+ '''The name of the multi-region endpoint (global-endpoint).'''
11785
+ return typing.cast(builtins.str, jsii.get(self, "endpointName"))
11786
+
11787
+ @endpoint_name.setter
11788
+ def endpoint_name(self, value: builtins.str) -> None:
11789
+ if __debug__:
11790
+ type_hints = typing.get_type_hints(_typecheckingstub__7bf2a5fc1697872607b9cda5e8ef19be750bfa13e5b84b586c2d1af23751f67c)
11791
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
11792
+ jsii.set(self, "endpointName", value) # pyright: ignore[reportArgumentType]
11793
+
11794
+ @builtins.property
11795
+ @jsii.member(jsii_name="tags")
11796
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
11797
+ '''An array of objects that define the tags (keys and values) to associate with the multi-region endpoint (global-endpoint).'''
11798
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
11799
+
11800
+ @tags.setter
11801
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
11802
+ if __debug__:
11803
+ type_hints = typing.get_type_hints(_typecheckingstub__4368de0d96781c022795655dd0619af76bd764cf632a2d910010e1ad5a99ee4e)
11804
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
11805
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
11806
+
11807
+ @jsii.data_type(
11808
+ jsii_type="aws-cdk-lib.aws_ses.CfnMultiRegionEndpoint.DetailsProperty",
11809
+ jsii_struct_bases=[],
11810
+ name_mapping={"route_details": "routeDetails"},
11811
+ )
11812
+ class DetailsProperty:
11813
+ def __init__(
10167
11814
  self,
10168
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMailManagerTrafficPolicy.IngressStringExpressionProperty"]]:
10169
- '''This represents a string based condition matching on the incoming mail.
11815
+ *,
11816
+ route_details: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMultiRegionEndpoint.RouteDetailsItemsProperty", typing.Dict[builtins.str, typing.Any]]]]],
11817
+ ) -> None:
11818
+ '''An object that contains configuration details of multi-region endpoint (global-endpoint).
10170
11819
 
10171
- It performs the string operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.
11820
+ :param route_details: A list of route configuration details. Must contain exactly one route configuration
10172
11821
 
10173
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-policycondition.html#cfn-ses-mailmanagertrafficpolicy-policycondition-stringexpression
11822
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-multiregionendpoint-details.html
11823
+ :exampleMetadata: fixture=_generated
11824
+
11825
+ Example::
11826
+
11827
+ # The code below shows an example of how to instantiate this type.
11828
+ # The values are placeholders you should change.
11829
+ from aws_cdk import aws_ses as ses
11830
+
11831
+ details_property = ses.CfnMultiRegionEndpoint.DetailsProperty(
11832
+ route_details=[ses.CfnMultiRegionEndpoint.RouteDetailsItemsProperty(
11833
+ region="region"
11834
+ )]
11835
+ )
10174
11836
  '''
10175
- result = self._values.get("string_expression")
10176
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMailManagerTrafficPolicy.IngressStringExpressionProperty"]], result)
11837
+ if __debug__:
11838
+ type_hints = typing.get_type_hints(_typecheckingstub__7bf5e81365da54bbabfd37fbc5ec361541cc57cda7f472f24767be48687701f8)
11839
+ check_type(argname="argument route_details", value=route_details, expected_type=type_hints["route_details"])
11840
+ self._values: typing.Dict[builtins.str, typing.Any] = {
11841
+ "route_details": route_details,
11842
+ }
10177
11843
 
10178
11844
  @builtins.property
10179
- def tls_expression(
11845
+ def route_details(
10180
11846
  self,
10181
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMailManagerTrafficPolicy.IngressTlsProtocolExpressionProperty"]]:
10182
- '''This represents a TLS based condition matching on the incoming mail.
11847
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMultiRegionEndpoint.RouteDetailsItemsProperty"]]]:
11848
+ '''A list of route configuration details.
10183
11849
 
10184
- It performs the operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.
11850
+ Must contain exactly one route configuration
10185
11851
 
10186
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-policycondition.html#cfn-ses-mailmanagertrafficpolicy-policycondition-tlsexpression
11852
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-multiregionendpoint-details.html#cfn-ses-multiregionendpoint-details-routedetails
10187
11853
  '''
10188
- result = self._values.get("tls_expression")
10189
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnMailManagerTrafficPolicy.IngressTlsProtocolExpressionProperty"]], result)
11854
+ result = self._values.get("route_details")
11855
+ assert result is not None, "Required property 'route_details' is missing"
11856
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMultiRegionEndpoint.RouteDetailsItemsProperty"]]], result)
10190
11857
 
10191
11858
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
10192
11859
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -10195,28 +11862,21 @@ class CfnMailManagerTrafficPolicy(
10195
11862
  return not (rhs == self)
10196
11863
 
10197
11864
  def __repr__(self) -> str:
10198
- return "PolicyConditionProperty(%s)" % ", ".join(
11865
+ return "DetailsProperty(%s)" % ", ".join(
10199
11866
  k + "=" + repr(v) for k, v in self._values.items()
10200
11867
  )
10201
11868
 
10202
11869
  @jsii.data_type(
10203
- jsii_type="aws-cdk-lib.aws_ses.CfnMailManagerTrafficPolicy.PolicyStatementProperty",
11870
+ jsii_type="aws-cdk-lib.aws_ses.CfnMultiRegionEndpoint.RouteDetailsItemsProperty",
10204
11871
  jsii_struct_bases=[],
10205
- name_mapping={"action": "action", "conditions": "conditions"},
11872
+ name_mapping={"region": "region"},
10206
11873
  )
10207
- class PolicyStatementProperty:
10208
- def __init__(
10209
- self,
10210
- *,
10211
- action: builtins.str,
10212
- conditions: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMailManagerTrafficPolicy.PolicyConditionProperty", typing.Dict[builtins.str, typing.Any]]]]],
10213
- ) -> None:
10214
- '''The structure containing traffic policy conditions and actions.
10215
-
10216
- :param action: The action that informs a traffic policy resource to either allow or block the email if it matches a condition in the policy statement.
10217
- :param conditions: The list of conditions to apply to incoming messages for filtering email traffic.
11874
+ class RouteDetailsItemsProperty:
11875
+ def __init__(self, *, region: builtins.str) -> None:
11876
+ '''
11877
+ :param region: The name of an AWS-Region to be a secondary region for the multi-region endpoint (global-endpoint).
10218
11878
 
10219
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-policystatement.html
11879
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-multiregionendpoint-routedetailsitems.html
10220
11880
  :exampleMetadata: fixture=_generated
10221
11881
 
10222
11882
  Example::
@@ -10225,84 +11885,27 @@ class CfnMailManagerTrafficPolicy(
10225
11885
  # The values are placeholders you should change.
10226
11886
  from aws_cdk import aws_ses as ses
10227
11887
 
10228
- policy_statement_property = ses.CfnMailManagerTrafficPolicy.PolicyStatementProperty(
10229
- action="action",
10230
- conditions=[ses.CfnMailManagerTrafficPolicy.PolicyConditionProperty(
10231
- boolean_expression=ses.CfnMailManagerTrafficPolicy.IngressBooleanExpressionProperty(
10232
- evaluate=ses.CfnMailManagerTrafficPolicy.IngressBooleanToEvaluateProperty(
10233
- analysis=ses.CfnMailManagerTrafficPolicy.IngressAnalysisProperty(
10234
- analyzer="analyzer",
10235
- result_field="resultField"
10236
- )
10237
- ),
10238
- operator="operator"
10239
- ),
10240
- ip_expression=ses.CfnMailManagerTrafficPolicy.IngressIpv4ExpressionProperty(
10241
- evaluate=ses.CfnMailManagerTrafficPolicy.IngressIpToEvaluateProperty(
10242
- attribute="attribute"
10243
- ),
10244
- operator="operator",
10245
- values=["values"]
10246
- ),
10247
- ipv6_expression=ses.CfnMailManagerTrafficPolicy.IngressIpv6ExpressionProperty(
10248
- evaluate=ses.CfnMailManagerTrafficPolicy.IngressIpv6ToEvaluateProperty(
10249
- attribute="attribute"
10250
- ),
10251
- operator="operator",
10252
- values=["values"]
10253
- ),
10254
- string_expression=ses.CfnMailManagerTrafficPolicy.IngressStringExpressionProperty(
10255
- evaluate=ses.CfnMailManagerTrafficPolicy.IngressStringToEvaluateProperty(
10256
- analysis=ses.CfnMailManagerTrafficPolicy.IngressAnalysisProperty(
10257
- analyzer="analyzer",
10258
- result_field="resultField"
10259
- ),
10260
- attribute="attribute"
10261
- ),
10262
- operator="operator",
10263
- values=["values"]
10264
- ),
10265
- tls_expression=ses.CfnMailManagerTrafficPolicy.IngressTlsProtocolExpressionProperty(
10266
- evaluate=ses.CfnMailManagerTrafficPolicy.IngressTlsProtocolToEvaluateProperty(
10267
- attribute="attribute"
10268
- ),
10269
- operator="operator",
10270
- value="value"
10271
- )
10272
- )]
11888
+ route_details_items_property = ses.CfnMultiRegionEndpoint.RouteDetailsItemsProperty(
11889
+ region="region"
10273
11890
  )
10274
11891
  '''
10275
11892
  if __debug__:
10276
- type_hints = typing.get_type_hints(_typecheckingstub__b922305a6b38d117885f741ba67de50b32b60f8d84e07583f5e79f9efd3182aa)
10277
- check_type(argname="argument action", value=action, expected_type=type_hints["action"])
10278
- check_type(argname="argument conditions", value=conditions, expected_type=type_hints["conditions"])
11893
+ type_hints = typing.get_type_hints(_typecheckingstub__7d51ee9c9a4e7b5a8da21548086284c2214dfc2fe31b5a7e2c4b493a0a17b1a2)
11894
+ check_type(argname="argument region", value=region, expected_type=type_hints["region"])
10279
11895
  self._values: typing.Dict[builtins.str, typing.Any] = {
10280
- "action": action,
10281
- "conditions": conditions,
11896
+ "region": region,
10282
11897
  }
10283
11898
 
10284
11899
  @builtins.property
10285
- def action(self) -> builtins.str:
10286
- '''The action that informs a traffic policy resource to either allow or block the email if it matches a condition in the policy statement.
11900
+ def region(self) -> builtins.str:
11901
+ '''The name of an AWS-Region to be a secondary region for the multi-region endpoint (global-endpoint).
10287
11902
 
10288
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-policystatement.html#cfn-ses-mailmanagertrafficpolicy-policystatement-action
11903
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-multiregionendpoint-routedetailsitems.html#cfn-ses-multiregionendpoint-routedetailsitems-region
10289
11904
  '''
10290
- result = self._values.get("action")
10291
- assert result is not None, "Required property 'action' is missing"
11905
+ result = self._values.get("region")
11906
+ assert result is not None, "Required property 'region' is missing"
10292
11907
  return typing.cast(builtins.str, result)
10293
11908
 
10294
- @builtins.property
10295
- def conditions(
10296
- self,
10297
- ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMailManagerTrafficPolicy.PolicyConditionProperty"]]]:
10298
- '''The list of conditions to apply to incoming messages for filtering email traffic.
10299
-
10300
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagertrafficpolicy-policystatement.html#cfn-ses-mailmanagertrafficpolicy-policystatement-conditions
10301
- '''
10302
- result = self._values.get("conditions")
10303
- assert result is not None, "Required property 'conditions' is missing"
10304
- return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnMailManagerTrafficPolicy.PolicyConditionProperty"]]], result)
10305
-
10306
11909
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
10307
11910
  return isinstance(rhs, self.__class__) and rhs._values == self._values
10308
11911
 
@@ -10310,41 +11913,35 @@ class CfnMailManagerTrafficPolicy(
10310
11913
  return not (rhs == self)
10311
11914
 
10312
11915
  def __repr__(self) -> str:
10313
- return "PolicyStatementProperty(%s)" % ", ".join(
11916
+ return "RouteDetailsItemsProperty(%s)" % ", ".join(
10314
11917
  k + "=" + repr(v) for k, v in self._values.items()
10315
11918
  )
10316
11919
 
10317
11920
 
10318
11921
  @jsii.data_type(
10319
- jsii_type="aws-cdk-lib.aws_ses.CfnMailManagerTrafficPolicyProps",
11922
+ jsii_type="aws-cdk-lib.aws_ses.CfnMultiRegionEndpointProps",
10320
11923
  jsii_struct_bases=[],
10321
11924
  name_mapping={
10322
- "default_action": "defaultAction",
10323
- "policy_statements": "policyStatements",
10324
- "max_message_size_bytes": "maxMessageSizeBytes",
11925
+ "details": "details",
11926
+ "endpoint_name": "endpointName",
10325
11927
  "tags": "tags",
10326
- "traffic_policy_name": "trafficPolicyName",
10327
11928
  },
10328
11929
  )
10329
- class CfnMailManagerTrafficPolicyProps:
11930
+ class CfnMultiRegionEndpointProps:
10330
11931
  def __init__(
10331
11932
  self,
10332
11933
  *,
10333
- default_action: builtins.str,
10334
- policy_statements: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMailManagerTrafficPolicy.PolicyStatementProperty, typing.Dict[builtins.str, typing.Any]]]]],
10335
- max_message_size_bytes: typing.Optional[jsii.Number] = None,
11934
+ details: typing.Union[_IResolvable_da3f097b, typing.Union[CfnMultiRegionEndpoint.DetailsProperty, typing.Dict[builtins.str, typing.Any]]],
11935
+ endpoint_name: builtins.str,
10336
11936
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
10337
- traffic_policy_name: typing.Optional[builtins.str] = None,
10338
11937
  ) -> None:
10339
- '''Properties for defining a ``CfnMailManagerTrafficPolicy``.
11938
+ '''Properties for defining a ``CfnMultiRegionEndpoint``.
10340
11939
 
10341
- :param default_action: Default action instructs the traffic policy to either Allow or Deny (block) messages that fall outside of (or not addressed by) the conditions of your policy statements.
10342
- :param policy_statements: Conditional statements for filtering email traffic.
10343
- :param max_message_size_bytes: The maximum message size in bytes of email which is allowed in by this traffic policy—anything larger will be blocked.
10344
- :param tags: The tags used to organize, track, or control access for the resource. For example, { "tags": {"key1":"value1", "key2":"value2"} }.
10345
- :param traffic_policy_name: The name of the policy. The policy name cannot exceed 64 characters and can only include alphanumeric characters, dashes, and underscores.
11940
+ :param details: Contains details of a multi-region endpoint (global-endpoint) being created.
11941
+ :param endpoint_name: The name of the multi-region endpoint (global-endpoint).
11942
+ :param tags: An array of objects that define the tags (keys and values) to associate with the multi-region endpoint (global-endpoint).
10346
11943
 
10347
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagertrafficpolicy.html
11944
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-multiregionendpoint.html
10348
11945
  :exampleMetadata: fixture=_generated
10349
11946
 
10350
11947
  Example::
@@ -10353,135 +11950,64 @@ class CfnMailManagerTrafficPolicyProps:
10353
11950
  # The values are placeholders you should change.
10354
11951
  from aws_cdk import aws_ses as ses
10355
11952
 
10356
- cfn_mail_manager_traffic_policy_props = ses.CfnMailManagerTrafficPolicyProps(
10357
- default_action="defaultAction",
10358
- policy_statements=[ses.CfnMailManagerTrafficPolicy.PolicyStatementProperty(
10359
- action="action",
10360
- conditions=[ses.CfnMailManagerTrafficPolicy.PolicyConditionProperty(
10361
- boolean_expression=ses.CfnMailManagerTrafficPolicy.IngressBooleanExpressionProperty(
10362
- evaluate=ses.CfnMailManagerTrafficPolicy.IngressBooleanToEvaluateProperty(
10363
- analysis=ses.CfnMailManagerTrafficPolicy.IngressAnalysisProperty(
10364
- analyzer="analyzer",
10365
- result_field="resultField"
10366
- )
10367
- ),
10368
- operator="operator"
10369
- ),
10370
- ip_expression=ses.CfnMailManagerTrafficPolicy.IngressIpv4ExpressionProperty(
10371
- evaluate=ses.CfnMailManagerTrafficPolicy.IngressIpToEvaluateProperty(
10372
- attribute="attribute"
10373
- ),
10374
- operator="operator",
10375
- values=["values"]
10376
- ),
10377
- ipv6_expression=ses.CfnMailManagerTrafficPolicy.IngressIpv6ExpressionProperty(
10378
- evaluate=ses.CfnMailManagerTrafficPolicy.IngressIpv6ToEvaluateProperty(
10379
- attribute="attribute"
10380
- ),
10381
- operator="operator",
10382
- values=["values"]
10383
- ),
10384
- string_expression=ses.CfnMailManagerTrafficPolicy.IngressStringExpressionProperty(
10385
- evaluate=ses.CfnMailManagerTrafficPolicy.IngressStringToEvaluateProperty(
10386
- analysis=ses.CfnMailManagerTrafficPolicy.IngressAnalysisProperty(
10387
- analyzer="analyzer",
10388
- result_field="resultField"
10389
- ),
10390
- attribute="attribute"
10391
- ),
10392
- operator="operator",
10393
- values=["values"]
10394
- ),
10395
- tls_expression=ses.CfnMailManagerTrafficPolicy.IngressTlsProtocolExpressionProperty(
10396
- evaluate=ses.CfnMailManagerTrafficPolicy.IngressTlsProtocolToEvaluateProperty(
10397
- attribute="attribute"
10398
- ),
10399
- operator="operator",
10400
- value="value"
10401
- )
11953
+ cfn_multi_region_endpoint_props = ses.CfnMultiRegionEndpointProps(
11954
+ details=ses.CfnMultiRegionEndpoint.DetailsProperty(
11955
+ route_details=[ses.CfnMultiRegionEndpoint.RouteDetailsItemsProperty(
11956
+ region="region"
10402
11957
  )]
10403
- )],
11958
+ ),
11959
+ endpoint_name="endpointName",
10404
11960
 
10405
11961
  # the properties below are optional
10406
- max_message_size_bytes=123,
10407
11962
  tags=[CfnTag(
10408
11963
  key="key",
10409
11964
  value="value"
10410
- )],
10411
- traffic_policy_name="trafficPolicyName"
11965
+ )]
10412
11966
  )
10413
11967
  '''
10414
11968
  if __debug__:
10415
- type_hints = typing.get_type_hints(_typecheckingstub__ed881964bd518a16a88f17ded480c0caabc8547dbbd126d0803e1424b80d51ef)
10416
- check_type(argname="argument default_action", value=default_action, expected_type=type_hints["default_action"])
10417
- check_type(argname="argument policy_statements", value=policy_statements, expected_type=type_hints["policy_statements"])
10418
- check_type(argname="argument max_message_size_bytes", value=max_message_size_bytes, expected_type=type_hints["max_message_size_bytes"])
11969
+ type_hints = typing.get_type_hints(_typecheckingstub__214e30eaa4e6cecb1b023c19b13ef049c4e864d6956eb232163e2fc35159eda5)
11970
+ check_type(argname="argument details", value=details, expected_type=type_hints["details"])
11971
+ check_type(argname="argument endpoint_name", value=endpoint_name, expected_type=type_hints["endpoint_name"])
10419
11972
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
10420
- check_type(argname="argument traffic_policy_name", value=traffic_policy_name, expected_type=type_hints["traffic_policy_name"])
10421
11973
  self._values: typing.Dict[builtins.str, typing.Any] = {
10422
- "default_action": default_action,
10423
- "policy_statements": policy_statements,
11974
+ "details": details,
11975
+ "endpoint_name": endpoint_name,
10424
11976
  }
10425
- if max_message_size_bytes is not None:
10426
- self._values["max_message_size_bytes"] = max_message_size_bytes
10427
11977
  if tags is not None:
10428
11978
  self._values["tags"] = tags
10429
- if traffic_policy_name is not None:
10430
- self._values["traffic_policy_name"] = traffic_policy_name
10431
-
10432
- @builtins.property
10433
- def default_action(self) -> builtins.str:
10434
- '''Default action instructs the traffic policy to either Allow or Deny (block) messages that fall outside of (or not addressed by) the conditions of your policy statements.
10435
-
10436
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagertrafficpolicy.html#cfn-ses-mailmanagertrafficpolicy-defaultaction
10437
- '''
10438
- result = self._values.get("default_action")
10439
- assert result is not None, "Required property 'default_action' is missing"
10440
- return typing.cast(builtins.str, result)
10441
11979
 
10442
11980
  @builtins.property
10443
- def policy_statements(
11981
+ def details(
10444
11982
  self,
10445
- ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnMailManagerTrafficPolicy.PolicyStatementProperty]]]:
10446
- '''Conditional statements for filtering email traffic.
11983
+ ) -> typing.Union[_IResolvable_da3f097b, CfnMultiRegionEndpoint.DetailsProperty]:
11984
+ '''Contains details of a multi-region endpoint (global-endpoint) being created.
10447
11985
 
10448
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagertrafficpolicy.html#cfn-ses-mailmanagertrafficpolicy-policystatements
11986
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-multiregionendpoint.html#cfn-ses-multiregionendpoint-details
10449
11987
  '''
10450
- result = self._values.get("policy_statements")
10451
- assert result is not None, "Required property 'policy_statements' is missing"
10452
- return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnMailManagerTrafficPolicy.PolicyStatementProperty]]], result)
11988
+ result = self._values.get("details")
11989
+ assert result is not None, "Required property 'details' is missing"
11990
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnMultiRegionEndpoint.DetailsProperty], result)
10453
11991
 
10454
11992
  @builtins.property
10455
- def max_message_size_bytes(self) -> typing.Optional[jsii.Number]:
10456
- '''The maximum message size in bytes of email which is allowed in by this traffic policy—anything larger will be blocked.
11993
+ def endpoint_name(self) -> builtins.str:
11994
+ '''The name of the multi-region endpoint (global-endpoint).
10457
11995
 
10458
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagertrafficpolicy.html#cfn-ses-mailmanagertrafficpolicy-maxmessagesizebytes
11996
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-multiregionendpoint.html#cfn-ses-multiregionendpoint-endpointname
10459
11997
  '''
10460
- result = self._values.get("max_message_size_bytes")
10461
- return typing.cast(typing.Optional[jsii.Number], result)
11998
+ result = self._values.get("endpoint_name")
11999
+ assert result is not None, "Required property 'endpoint_name' is missing"
12000
+ return typing.cast(builtins.str, result)
10462
12001
 
10463
12002
  @builtins.property
10464
12003
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
10465
- '''The tags used to organize, track, or control access for the resource.
10466
-
10467
- For example, { "tags": {"key1":"value1", "key2":"value2"} }.
12004
+ '''An array of objects that define the tags (keys and values) to associate with the multi-region endpoint (global-endpoint).
10468
12005
 
10469
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagertrafficpolicy.html#cfn-ses-mailmanagertrafficpolicy-tags
12006
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-multiregionendpoint.html#cfn-ses-multiregionendpoint-tags
10470
12007
  '''
10471
12008
  result = self._values.get("tags")
10472
12009
  return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
10473
12010
 
10474
- @builtins.property
10475
- def traffic_policy_name(self) -> typing.Optional[builtins.str]:
10476
- '''The name of the policy.
10477
-
10478
- The policy name cannot exceed 64 characters and can only include alphanumeric characters, dashes, and underscores.
10479
-
10480
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-mailmanagertrafficpolicy.html#cfn-ses-mailmanagertrafficpolicy-trafficpolicyname
10481
- '''
10482
- result = self._values.get("traffic_policy_name")
10483
- return typing.cast(typing.Optional[builtins.str], result)
10484
-
10485
12011
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
10486
12012
  return isinstance(rhs, self.__class__) and rhs._values == self._values
10487
12013
 
@@ -10489,12 +12015,12 @@ class CfnMailManagerTrafficPolicyProps:
10489
12015
  return not (rhs == self)
10490
12016
 
10491
12017
  def __repr__(self) -> str:
10492
- return "CfnMailManagerTrafficPolicyProps(%s)" % ", ".join(
12018
+ return "CfnMultiRegionEndpointProps(%s)" % ", ".join(
10493
12019
  k + "=" + repr(v) for k, v in self._values.items()
10494
12020
  )
10495
12021
 
10496
12022
 
10497
- @jsii.implements(_IInspectable_c2943556)
12023
+ @jsii.implements(_IInspectable_c2943556, _IReceiptFilterRef_dbfb106a)
10498
12024
  class CfnReceiptFilter(
10499
12025
  _CfnResource_9df397a6,
10500
12026
  metaclass=jsii.JSIIMeta,
@@ -10534,7 +12060,8 @@ class CfnReceiptFilter(
10534
12060
  *,
10535
12061
  filter: typing.Union[_IResolvable_da3f097b, typing.Union["CfnReceiptFilter.FilterProperty", typing.Dict[builtins.str, typing.Any]]],
10536
12062
  ) -> None:
10537
- '''
12063
+ '''Create a new ``AWS::SES::ReceiptFilter``.
12064
+
10538
12065
  :param scope: Scope in which this resource is defined.
10539
12066
  :param id: Construct identifier for this resource (unique in its scope).
10540
12067
  :param filter: A data structure that describes the IP address filter to create, which consists of a name, an IP address range, and whether to allow or block mail from it.
@@ -10590,6 +12117,12 @@ class CfnReceiptFilter(
10590
12117
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
10591
12118
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
10592
12119
 
12120
+ @builtins.property
12121
+ @jsii.member(jsii_name="receiptFilterRef")
12122
+ def receipt_filter_ref(self) -> _ReceiptFilterReference_d15ec7c1:
12123
+ '''A reference to a ReceiptFilter resource.'''
12124
+ return typing.cast(_ReceiptFilterReference_d15ec7c1, jsii.get(self, "receiptFilterRef"))
12125
+
10593
12126
  @builtins.property
10594
12127
  @jsii.member(jsii_name="filter")
10595
12128
  def filter(
@@ -10828,7 +12361,7 @@ class CfnReceiptFilterProps:
10828
12361
  )
10829
12362
 
10830
12363
 
10831
- @jsii.implements(_IInspectable_c2943556)
12364
+ @jsii.implements(_IInspectable_c2943556, _IReceiptRuleRef_0f93d846)
10832
12365
  class CfnReceiptRule(
10833
12366
  _CfnResource_9df397a6,
10834
12367
  metaclass=jsii.JSIIMeta,
@@ -10921,7 +12454,8 @@ class CfnReceiptRule(
10921
12454
  rule_set_name: builtins.str,
10922
12455
  after: typing.Optional[builtins.str] = None,
10923
12456
  ) -> None:
10924
- '''
12457
+ '''Create a new ``AWS::SES::ReceiptRule``.
12458
+
10925
12459
  :param scope: Scope in which this resource is defined.
10926
12460
  :param id: Construct identifier for this resource (unique in its scope).
10927
12461
  :param rule: A data structure that contains the specified rule's name, actions, recipients, domains, enabled status, scan status, and TLS policy.
@@ -10981,6 +12515,12 @@ class CfnReceiptRule(
10981
12515
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
10982
12516
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
10983
12517
 
12518
+ @builtins.property
12519
+ @jsii.member(jsii_name="receiptRuleRef")
12520
+ def receipt_rule_ref(self) -> _ReceiptRuleReference_2b9e9bb2:
12521
+ '''A reference to a ReceiptRule resource.'''
12522
+ return typing.cast(_ReceiptRuleReference_2b9e9bb2, jsii.get(self, "receiptRuleRef"))
12523
+
10984
12524
  @builtins.property
10985
12525
  @jsii.member(jsii_name="rule")
10986
12526
  def rule(
@@ -11060,7 +12600,7 @@ class CfnReceiptRule(
11060
12600
 
11061
12601
  :param add_header_action: Adds a header to the received email.
11062
12602
  :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).
11063
- :param connect_action:
12603
+ :param connect_action: The action that informs a traffic policy resource to either allow or block the email if it matches a condition in the policy statement.
11064
12604
  :param lambda_action: Calls an AWS Lambda function, and optionally, publishes a notification to Amazon SNS.
11065
12605
  :param s3_action: Saves the received message to an Amazon Simple Storage Service (Amazon S3) bucket and, optionally, publishes a notification to Amazon SNS.
11066
12606
  :param sns_action: Publishes the email content within a notification to Amazon SNS.
@@ -11182,7 +12722,8 @@ class CfnReceiptRule(
11182
12722
  def connect_action(
11183
12723
  self,
11184
12724
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnReceiptRule.ConnectActionProperty"]]:
11185
- '''
12725
+ '''The action that informs a traffic policy resource to either allow or block the email if it matches a condition in the policy statement.
12726
+
11186
12727
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-action.html#cfn-ses-receiptrule-action-connectaction
11187
12728
  '''
11188
12729
  result = self._values.get("connect_action")
@@ -12030,20 +13571,13 @@ class CfnReceiptRule(
12030
13571
  *,
12031
13572
  encoding: typing.Optional[builtins.str] = None,
12032
13573
  topic_arn: typing.Optional[builtins.str] = None,
12033
- ) -> 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::
12040
-
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.
13574
+ ) -> None:
13575
+ '''The action to publish the email content to an Amazon SNS topic.
12042
13576
 
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>`_ .
13577
+ When executed, this action will send the email as a notification to the specified SNS topic.
12044
13578
 
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>`_ .
13579
+ :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.
13580
+ :param topic_arn: The Amazon Resource Name (ARN) of the Amazon SNS Topic to which notification for the email received will be published.
12047
13581
 
12048
13582
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-snsaction.html
12049
13583
  :exampleMetadata: fixture=_generated
@@ -12073,7 +13607,7 @@ class CfnReceiptRule(
12073
13607
  def encoding(self) -> typing.Optional[builtins.str]:
12074
13608
  '''The encoding to use for the email within the Amazon SNS notification.
12075
13609
 
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.
13610
+ 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
13611
 
12078
13612
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-snsaction.html#cfn-ses-receiptrule-snsaction-encoding
12079
13613
  '''
@@ -12082,11 +13616,7 @@ class CfnReceiptRule(
12082
13616
 
12083
13617
  @builtins.property
12084
13618
  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>`_ .
13619
+ '''The Amazon Resource Name (ARN) of the Amazon SNS Topic to which notification for the email received will be published.
12090
13620
 
12091
13621
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-snsaction.html#cfn-ses-receiptrule-snsaction-topicarn
12092
13622
  '''
@@ -12421,7 +13951,7 @@ class CfnReceiptRuleProps:
12421
13951
  )
12422
13952
 
12423
13953
 
12424
- @jsii.implements(_IInspectable_c2943556)
13954
+ @jsii.implements(_IInspectable_c2943556, _IReceiptRuleSetRef_f6b881e9)
12425
13955
  class CfnReceiptRuleSet(
12426
13956
  _CfnResource_9df397a6,
12427
13957
  metaclass=jsii.JSIIMeta,
@@ -12455,7 +13985,8 @@ class CfnReceiptRuleSet(
12455
13985
  *,
12456
13986
  rule_set_name: typing.Optional[builtins.str] = None,
12457
13987
  ) -> None:
12458
- '''
13988
+ '''Create a new ``AWS::SES::ReceiptRuleSet``.
13989
+
12459
13990
  :param scope: Scope in which this resource is defined.
12460
13991
  :param id: Construct identifier for this resource (unique in its scope).
12461
13992
  :param rule_set_name: The name of the receipt rule set to make active. Setting this value to null disables all email receiving.
@@ -12511,6 +14042,12 @@ class CfnReceiptRuleSet(
12511
14042
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
12512
14043
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
12513
14044
 
14045
+ @builtins.property
14046
+ @jsii.member(jsii_name="receiptRuleSetRef")
14047
+ def receipt_rule_set_ref(self) -> _ReceiptRuleSetReference_0daf31cb:
14048
+ '''A reference to a ReceiptRuleSet resource.'''
14049
+ return typing.cast(_ReceiptRuleSetReference_0daf31cb, jsii.get(self, "receiptRuleSetRef"))
14050
+
12514
14051
  @builtins.property
12515
14052
  @jsii.member(jsii_name="ruleSetName")
12516
14053
  def rule_set_name(self) -> typing.Optional[builtins.str]:
@@ -12579,7 +14116,7 @@ class CfnReceiptRuleSetProps:
12579
14116
  )
12580
14117
 
12581
14118
 
12582
- @jsii.implements(_IInspectable_c2943556)
14119
+ @jsii.implements(_IInspectable_c2943556, _ITemplateRef_efd84872)
12583
14120
  class CfnTemplate(
12584
14121
  _CfnResource_9df397a6,
12585
14122
  metaclass=jsii.JSIIMeta,
@@ -12618,7 +14155,8 @@ class CfnTemplate(
12618
14155
  *,
12619
14156
  template: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTemplate.TemplateProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
12620
14157
  ) -> None:
12621
- '''
14158
+ '''Create a new ``AWS::SES::Template``.
14159
+
12622
14160
  :param scope: Scope in which this resource is defined.
12623
14161
  :param id: Construct identifier for this resource (unique in its scope).
12624
14162
  :param template: The content of the email, composed of a subject line and either an HTML part or a text-only part.
@@ -12674,6 +14212,12 @@ class CfnTemplate(
12674
14212
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
12675
14213
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
12676
14214
 
14215
+ @builtins.property
14216
+ @jsii.member(jsii_name="templateRef")
14217
+ def template_ref(self) -> _TemplateReference_cceb8bea:
14218
+ '''A reference to a Template resource.'''
14219
+ return typing.cast(_TemplateReference_cceb8bea, jsii.get(self, "templateRef"))
14220
+
12677
14221
  @builtins.property
12678
14222
  @jsii.member(jsii_name="template")
12679
14223
  def template(
@@ -12717,7 +14261,7 @@ class CfnTemplate(
12717
14261
 
12718
14262
  :param subject_part: The subject line of the email.
12719
14263
  :param html_part: The HTML body of the email.
12720
- :param template_name: The name of the template. You will refer to this name when you send email using the ``SendTemplatedEmail`` or ``SendBulkTemplatedEmail`` operations.
14264
+ :param template_name: The name of the template. You will refer to this name when you send email using the ``SendEmail`` or ``SendBulkEmail`` operations.
12721
14265
  :param text_part: The email body that is visible to recipients whose email clients do not display HTML content.
12722
14266
 
12723
14267
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-template-template.html
@@ -12777,7 +14321,7 @@ class CfnTemplate(
12777
14321
  def template_name(self) -> typing.Optional[builtins.str]:
12778
14322
  '''The name of the template.
12779
14323
 
12780
- You will refer to this name when you send email using the ``SendTemplatedEmail`` or ``SendBulkTemplatedEmail`` operations.
14324
+ You will refer to this name when you send email using the ``SendEmail`` or ``SendBulkEmail`` operations.
12781
14325
 
12782
14326
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-template-template.html#cfn-ses-template-template-templatename
12783
14327
  '''
@@ -12870,7 +14414,7 @@ class CfnTemplateProps:
12870
14414
  )
12871
14415
 
12872
14416
 
12873
- @jsii.implements(_IInspectable_c2943556)
14417
+ @jsii.implements(_IInspectable_c2943556, _IVdmAttributesRef_2d5b2489)
12874
14418
  class CfnVdmAttributes(
12875
14419
  _CfnResource_9df397a6,
12876
14420
  metaclass=jsii.JSIIMeta,
@@ -12906,7 +14450,8 @@ class CfnVdmAttributes(
12906
14450
  dashboard_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnVdmAttributes.DashboardAttributesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
12907
14451
  guardian_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnVdmAttributes.GuardianAttributesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
12908
14452
  ) -> None:
12909
- '''
14453
+ '''Create a new ``AWS::SES::VdmAttributes``.
14454
+
12910
14455
  :param scope: Scope in which this resource is defined.
12911
14456
  :param id: Construct identifier for this resource (unique in its scope).
12912
14457
  :param dashboard_attributes: Specifies additional settings for your VDM configuration as applicable to the Dashboard.
@@ -12967,6 +14512,12 @@ class CfnVdmAttributes(
12967
14512
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
12968
14513
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
12969
14514
 
14515
+ @builtins.property
14516
+ @jsii.member(jsii_name="vdmAttributesRef")
14517
+ def vdm_attributes_ref(self) -> _VdmAttributesReference_007eac2c:
14518
+ '''A reference to a VdmAttributes resource.'''
14519
+ return typing.cast(_VdmAttributesReference_007eac2c, jsii.get(self, "vdmAttributesRef"))
14520
+
12970
14521
  @builtins.property
12971
14522
  @jsii.member(jsii_name="dashboardAttributes")
12972
14523
  def dashboard_attributes(
@@ -13535,6 +15086,7 @@ class ConfigurationSetEventDestinationProps(ConfigurationSetEventDestinationOpti
13535
15086
  jsii_struct_bases=[],
13536
15087
  name_mapping={
13537
15088
  "configuration_set_name": "configurationSetName",
15089
+ "custom_tracking_https_policy": "customTrackingHttpsPolicy",
13538
15090
  "custom_tracking_redirect_domain": "customTrackingRedirectDomain",
13539
15091
  "dedicated_ip_pool": "dedicatedIpPool",
13540
15092
  "disable_suppression_list": "disableSuppressionList",
@@ -13551,6 +15103,7 @@ class ConfigurationSetProps:
13551
15103
  self,
13552
15104
  *,
13553
15105
  configuration_set_name: typing.Optional[builtins.str] = None,
15106
+ custom_tracking_https_policy: typing.Optional["HttpsPolicy"] = None,
13554
15107
  custom_tracking_redirect_domain: typing.Optional[builtins.str] = None,
13555
15108
  dedicated_ip_pool: typing.Optional["IDedicatedIpPool"] = None,
13556
15109
  disable_suppression_list: typing.Optional[builtins.bool] = None,
@@ -13564,6 +15117,7 @@ class ConfigurationSetProps:
13564
15117
  '''Properties for a configuration set.
13565
15118
 
13566
15119
  :param configuration_set_name: A name for the configuration set. Default: - a CloudFormation generated name
15120
+ :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
15121
  :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
15122
  :param dedicated_ip_pool: The dedicated IP pool to associate with the configuration set. Default: - do not use a dedicated IP pool
13569
15123
  :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 +15132,9 @@ class ConfigurationSetProps:
13578
15132
 
13579
15133
  Example::
13580
15134
 
13581
- ses.ConfigurationSet(self, "ConfigurationSetWithVdmOptions",
13582
- vdm_options=ses.VdmOptions(
13583
- engagement_metrics=True,
13584
- optimized_shared_delivery=True
13585
- )
15135
+ ses.ConfigurationSet(self, "ConfigurationSet",
15136
+ custom_tracking_redirect_domain="track.cdk.dev",
15137
+ custom_tracking_https_policy=ses.HttpsPolicy.REQUIRE
13586
15138
  )
13587
15139
  '''
13588
15140
  if isinstance(vdm_options, dict):
@@ -13590,6 +15142,7 @@ class ConfigurationSetProps:
13590
15142
  if __debug__:
13591
15143
  type_hints = typing.get_type_hints(_typecheckingstub__fb010161f6c1e40b88122d9cb7754dae093e9cbe5bbfc72b19737729a4f4523d)
13592
15144
  check_type(argname="argument configuration_set_name", value=configuration_set_name, expected_type=type_hints["configuration_set_name"])
15145
+ check_type(argname="argument custom_tracking_https_policy", value=custom_tracking_https_policy, expected_type=type_hints["custom_tracking_https_policy"])
13593
15146
  check_type(argname="argument custom_tracking_redirect_domain", value=custom_tracking_redirect_domain, expected_type=type_hints["custom_tracking_redirect_domain"])
13594
15147
  check_type(argname="argument dedicated_ip_pool", value=dedicated_ip_pool, expected_type=type_hints["dedicated_ip_pool"])
13595
15148
  check_type(argname="argument disable_suppression_list", value=disable_suppression_list, expected_type=type_hints["disable_suppression_list"])
@@ -13602,6 +15155,8 @@ class ConfigurationSetProps:
13602
15155
  self._values: typing.Dict[builtins.str, typing.Any] = {}
13603
15156
  if configuration_set_name is not None:
13604
15157
  self._values["configuration_set_name"] = configuration_set_name
15158
+ if custom_tracking_https_policy is not None:
15159
+ self._values["custom_tracking_https_policy"] = custom_tracking_https_policy
13605
15160
  if custom_tracking_redirect_domain is not None:
13606
15161
  self._values["custom_tracking_redirect_domain"] = custom_tracking_redirect_domain
13607
15162
  if dedicated_ip_pool is not None:
@@ -13630,6 +15185,15 @@ class ConfigurationSetProps:
13630
15185
  result = self._values.get("configuration_set_name")
13631
15186
  return typing.cast(typing.Optional[builtins.str], result)
13632
15187
 
15188
+ @builtins.property
15189
+ def custom_tracking_https_policy(self) -> typing.Optional["HttpsPolicy"]:
15190
+ '''The https policy to use for tracking open and click events.
15191
+
15192
+ :default: - HttpsPolicy.OPTIONAL if customTrackingRedirectDomain is set, otherwise undefined
15193
+ '''
15194
+ result = self._values.get("custom_tracking_https_policy")
15195
+ return typing.cast(typing.Optional["HttpsPolicy"], result)
15196
+
13633
15197
  @builtins.property
13634
15198
  def custom_tracking_redirect_domain(self) -> typing.Optional[builtins.str]:
13635
15199
  '''The custom subdomain that is used to redirect email recipients to the Amazon SES event tracking domain.
@@ -13742,7 +15306,6 @@ class ConfigurationSetTlsPolicy(enum.Enum):
13742
15306
 
13743
15307
 
13744
15308
  ses.ConfigurationSet(self, "ConfigurationSet",
13745
- custom_tracking_redirect_domain="track.cdk.dev",
13746
15309
  tls_policy=ses.ConfigurationSetTlsPolicy.REQUIRE,
13747
15310
  dedicated_ip_pool=my_pool,
13748
15311
  # Specify maximum delivery time
@@ -14166,6 +15729,12 @@ class DropSpamReceiptRule(
14166
15729
 
14167
15730
  jsii.create(self.__class__, self, [scope, id, props])
14168
15731
 
15732
+ @jsii.python.classproperty
15733
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
15734
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
15735
+ '''Uniquely identifies this class.'''
15736
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
15737
+
14169
15738
  @builtins.property
14170
15739
  @jsii.member(jsii_name="rule")
14171
15740
  def rule(self) -> "ReceiptRule":
@@ -14638,6 +16207,34 @@ class FirehoseDeliveryStreamDestination:
14638
16207
  )
14639
16208
 
14640
16209
 
16210
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_ses.HttpsPolicy")
16211
+ class HttpsPolicy(enum.Enum):
16212
+ '''HTTPS policy option for the protocol of the open and click tracking links for your custom redirect domain.
16213
+
16214
+ :exampleMetadata: infused
16215
+
16216
+ Example::
16217
+
16218
+ ses.ConfigurationSet(self, "ConfigurationSet",
16219
+ custom_tracking_redirect_domain="track.cdk.dev",
16220
+ custom_tracking_https_policy=ses.HttpsPolicy.REQUIRE
16221
+ )
16222
+ '''
16223
+
16224
+ REQUIRE = "REQUIRE"
16225
+ '''Open and Click tracking links will both be wrapped using HTTPS.'''
16226
+ REQUIRE_OPEN_ONLY = "REQUIRE_OPEN_ONLY"
16227
+ '''Open tracking links will be wrapped using HTTPS.
16228
+
16229
+ Click tracking links will be wrapped using the original protocol of the link.
16230
+ '''
16231
+ OPTIONAL = "OPTIONAL"
16232
+ '''Open tracking links will be wrapped using HTTP.
16233
+
16234
+ Click tracking links will be wrapped using the original protocol of the link.
16235
+ '''
16236
+
16237
+
14641
16238
  @jsii.interface(jsii_type="aws-cdk-lib.aws_ses.IConfigurationSet")
14642
16239
  class IConfigurationSet(_IResource_c80c4260, typing_extensions.Protocol):
14643
16240
  '''A configuration set.'''
@@ -15312,6 +16909,12 @@ class ReceiptFilter(
15312
16909
 
15313
16910
  jsii.create(self.__class__, self, [scope, id, props])
15314
16911
 
16912
+ @jsii.python.classproperty
16913
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
16914
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
16915
+ '''Uniquely identifies this class.'''
16916
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
16917
+
15315
16918
 
15316
16919
  @jsii.enum(jsii_type="aws-cdk-lib.aws_ses.ReceiptFilterPolicy")
15317
16920
  class ReceiptFilterPolicy(enum.Enum):
@@ -15499,6 +17102,12 @@ class ReceiptRule(
15499
17102
  check_type(argname="argument action", value=action, expected_type=type_hints["action"])
15500
17103
  return typing.cast(None, jsii.invoke(self, "addAction", [action]))
15501
17104
 
17105
+ @jsii.python.classproperty
17106
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
17107
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
17108
+ '''Uniquely identifies this class.'''
17109
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
17110
+
15502
17111
  @builtins.property
15503
17112
  @jsii.member(jsii_name="receiptRuleName")
15504
17113
  def receipt_rule_name(self) -> builtins.str:
@@ -16122,6 +17731,12 @@ class ReceiptRuleSet(
16122
17731
 
16123
17732
  return typing.cast(ReceiptRule, jsii.invoke(self, "addRule", [id, options]))
16124
17733
 
17734
+ @jsii.python.classproperty
17735
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
17736
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
17737
+ '''Uniquely identifies this class.'''
17738
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
17739
+
16125
17740
  @builtins.property
16126
17741
  @jsii.member(jsii_name="receiptRuleSetName")
16127
17742
  def receipt_rule_set_name(self) -> builtins.str:
@@ -16615,6 +18230,12 @@ class VdmAttributes(
16615
18230
  check_type(argname="argument vdm_attributes_name", value=vdm_attributes_name, expected_type=type_hints["vdm_attributes_name"])
16616
18231
  return typing.cast(IVdmAttributes, jsii.sinvoke(cls, "fromVdmAttributesName", [scope, id, vdm_attributes_name]))
16617
18232
 
18233
+ @jsii.python.classproperty
18234
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
18235
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
18236
+ '''Uniquely identifies this class.'''
18237
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
18238
+
16618
18239
  @builtins.property
16619
18240
  @jsii.member(jsii_name="vdmAttributesName")
16620
18241
  def vdm_attributes_name(self) -> builtins.str:
@@ -16862,11 +18483,9 @@ class ConfigurationSet(
16862
18483
 
16863
18484
  Example::
16864
18485
 
16865
- ses.ConfigurationSet(self, "ConfigurationSetWithVdmOptions",
16866
- vdm_options=ses.VdmOptions(
16867
- engagement_metrics=True,
16868
- optimized_shared_delivery=True
16869
- )
18486
+ ses.ConfigurationSet(self, "ConfigurationSet",
18487
+ custom_tracking_redirect_domain="track.cdk.dev",
18488
+ custom_tracking_https_policy=ses.HttpsPolicy.REQUIRE
16870
18489
  )
16871
18490
  '''
16872
18491
 
@@ -16876,6 +18495,7 @@ class ConfigurationSet(
16876
18495
  id: builtins.str,
16877
18496
  *,
16878
18497
  configuration_set_name: typing.Optional[builtins.str] = None,
18498
+ custom_tracking_https_policy: typing.Optional[HttpsPolicy] = None,
16879
18499
  custom_tracking_redirect_domain: typing.Optional[builtins.str] = None,
16880
18500
  dedicated_ip_pool: typing.Optional[IDedicatedIpPool] = None,
16881
18501
  disable_suppression_list: typing.Optional[builtins.bool] = None,
@@ -16890,6 +18510,7 @@ class ConfigurationSet(
16890
18510
  :param scope: -
16891
18511
  :param id: -
16892
18512
  :param configuration_set_name: A name for the configuration set. Default: - a CloudFormation generated name
18513
+ :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
18514
  :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
18515
  :param dedicated_ip_pool: The dedicated IP pool to associate with the configuration set. Default: - do not use a dedicated IP pool
16895
18516
  :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 +18527,7 @@ class ConfigurationSet(
16906
18527
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
16907
18528
  props = ConfigurationSetProps(
16908
18529
  configuration_set_name=configuration_set_name,
18530
+ custom_tracking_https_policy=custom_tracking_https_policy,
16909
18531
  custom_tracking_redirect_domain=custom_tracking_redirect_domain,
16910
18532
  dedicated_ip_pool=dedicated_ip_pool,
16911
18533
  disable_suppression_list=disable_suppression_list,
@@ -16970,6 +18592,12 @@ class ConfigurationSet(
16970
18592
 
16971
18593
  return typing.cast("ConfigurationSetEventDestination", jsii.invoke(self, "addEventDestination", [id, options]))
16972
18594
 
18595
+ @jsii.python.classproperty
18596
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
18597
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
18598
+ '''Uniquely identifies this class.'''
18599
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
18600
+
16973
18601
  @builtins.property
16974
18602
  @jsii.member(jsii_name="configurationSetName")
16975
18603
  def configuration_set_name(self) -> builtins.str:
@@ -17062,6 +18690,12 @@ class ConfigurationSetEventDestination(
17062
18690
  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
18691
  return typing.cast(IConfigurationSetEventDestination, jsii.sinvoke(cls, "fromConfigurationSetEventDestinationId", [scope, id, configuration_set_event_destination_id]))
17064
18692
 
18693
+ @jsii.python.classproperty
18694
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
18695
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
18696
+ '''Uniquely identifies this class.'''
18697
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
18698
+
17065
18699
  @builtins.property
17066
18700
  @jsii.member(jsii_name="configurationSetEventDestinationId")
17067
18701
  def configuration_set_event_destination_id(self) -> builtins.str:
@@ -17132,6 +18766,12 @@ class DedicatedIpPool(
17132
18766
  check_type(argname="argument dedicated_ip_pool_name", value=dedicated_ip_pool_name, expected_type=type_hints["dedicated_ip_pool_name"])
17133
18767
  return typing.cast(IDedicatedIpPool, jsii.sinvoke(cls, "fromDedicatedIpPoolName", [scope, id, dedicated_ip_pool_name]))
17134
18768
 
18769
+ @jsii.python.classproperty
18770
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
18771
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
18772
+ '''Uniquely identifies this class.'''
18773
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
18774
+
17135
18775
  @builtins.property
17136
18776
  @jsii.member(jsii_name="dedicatedIpPoolName")
17137
18777
  def dedicated_ip_pool_name(self) -> builtins.str:
@@ -17446,6 +19086,12 @@ class EmailIdentity(
17446
19086
  check_type(argname="argument grantee", value=grantee, expected_type=type_hints["grantee"])
17447
19087
  return typing.cast(_Grant_a7ae64f8, jsii.invoke(self, "grantSendEmail", [grantee]))
17448
19088
 
19089
+ @jsii.python.classproperty
19090
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
19091
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
19092
+ '''Uniquely identifies this class.'''
19093
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
19094
+
17449
19095
  @builtins.property
17450
19096
  @jsii.member(jsii_name="dkimDnsTokenName1")
17451
19097
  def dkim_dns_token_name1(self) -> builtins.str:
@@ -17539,6 +19185,8 @@ __all__ = [
17539
19185
  "CfnMailManagerAddonInstanceProps",
17540
19186
  "CfnMailManagerAddonSubscription",
17541
19187
  "CfnMailManagerAddonSubscriptionProps",
19188
+ "CfnMailManagerAddressList",
19189
+ "CfnMailManagerAddressListProps",
17542
19190
  "CfnMailManagerArchive",
17543
19191
  "CfnMailManagerArchiveProps",
17544
19192
  "CfnMailManagerIngressPoint",
@@ -17549,6 +19197,8 @@ __all__ = [
17549
19197
  "CfnMailManagerRuleSetProps",
17550
19198
  "CfnMailManagerTrafficPolicy",
17551
19199
  "CfnMailManagerTrafficPolicyProps",
19200
+ "CfnMultiRegionEndpoint",
19201
+ "CfnMultiRegionEndpointProps",
17552
19202
  "CfnReceiptFilter",
17553
19203
  "CfnReceiptFilterProps",
17554
19204
  "CfnReceiptRule",
@@ -17580,6 +19230,7 @@ __all__ = [
17580
19230
  "EmailSendingEvent",
17581
19231
  "EventDestination",
17582
19232
  "FirehoseDeliveryStreamDestination",
19233
+ "HttpsPolicy",
17583
19234
  "IConfigurationSet",
17584
19235
  "IConfigurationSetEventDestination",
17585
19236
  "IDedicatedIpPool",
@@ -17667,12 +19318,21 @@ def _typecheckingstub__ad84a733d05a7160c0517733c56c249f6a299231ebcf8e982ed1aeda9
17667
19318
  reputation_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfigurationSet.ReputationOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
17668
19319
  sending_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfigurationSet.SendingOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
17669
19320
  suppression_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfigurationSet.SuppressionOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19321
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
17670
19322
  tracking_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfigurationSet.TrackingOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
17671
19323
  vdm_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfigurationSet.VdmOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
17672
19324
  ) -> None:
17673
19325
  """Type checking stubs"""
17674
19326
  pass
17675
19327
 
19328
+ def _typecheckingstub__f7e0cde305853fb2c740f29455949111afc0143ce4346e290a5d583cd414e670(
19329
+ scope: _constructs_77d1e7e8.Construct,
19330
+ id: builtins.str,
19331
+ configuration_set_name: builtins.str,
19332
+ ) -> None:
19333
+ """Type checking stubs"""
19334
+ pass
19335
+
17676
19336
  def _typecheckingstub__703d8eb12ae21101f4f93e6ab7089d820f42a27a22e1028eee983deee4056343(
17677
19337
  inspector: _TreeInspector_488e0dd5,
17678
19338
  ) -> None:
@@ -17715,6 +19375,12 @@ def _typecheckingstub__4d6e92203e0b0fb9ad18351409d2e930bd3b3881d922fcb2f2b38b337
17715
19375
  """Type checking stubs"""
17716
19376
  pass
17717
19377
 
19378
+ def _typecheckingstub__c62b9f68ee9b0075b17aa0e2ad90c86281aa22d6d7e67129dbeee761ce2c5d4f(
19379
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
19380
+ ) -> None:
19381
+ """Type checking stubs"""
19382
+ pass
19383
+
17718
19384
  def _typecheckingstub__0e2738cc83fe741aa7d2c58d5db581a79f89d7427a9504ac697d8f7dd2004ea9(
17719
19385
  value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnConfigurationSet.TrackingOptionsProperty]],
17720
19386
  ) -> None:
@@ -17887,6 +19553,7 @@ def _typecheckingstub__e27ed179dbf809eedecaf57207416cd1680782d0d3ab4c539486ad703
17887
19553
  reputation_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfigurationSet.ReputationOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
17888
19554
  sending_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfigurationSet.SendingOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
17889
19555
  suppression_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfigurationSet.SuppressionOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19556
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
17890
19557
  tracking_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfigurationSet.TrackingOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
17891
19558
  vdm_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfigurationSet.VdmOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
17892
19559
  ) -> None:
@@ -17905,6 +19572,14 @@ def _typecheckingstub__4f5901f6c4687a5069b93788dd46825d3f820617b06ab7617c713daa1
17905
19572
  """Type checking stubs"""
17906
19573
  pass
17907
19574
 
19575
+ def _typecheckingstub__3b19a50d34c95519a9d081d656ff2b1634828c7fe7a66b655cd9cb5360e9e3f6(
19576
+ scope: _constructs_77d1e7e8.Construct,
19577
+ id: builtins.str,
19578
+ contact_list_name: builtins.str,
19579
+ ) -> None:
19580
+ """Type checking stubs"""
19581
+ pass
19582
+
17908
19583
  def _typecheckingstub__04e7980d7184167e42f7e01ae8cec876d43f150d71c7057fca33fc0a3e2d3e6b(
17909
19584
  inspector: _TreeInspector_488e0dd5,
17910
19585
  ) -> None:
@@ -17967,6 +19642,7 @@ def _typecheckingstub__86a024e58c5549e30a3beca5bb152d09219a0cb42e6e02b0e95395595
17967
19642
  *,
17968
19643
  pool_name: typing.Optional[builtins.str] = None,
17969
19644
  scaling_mode: typing.Optional[builtins.str] = None,
19645
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
17970
19646
  ) -> None:
17971
19647
  """Type checking stubs"""
17972
19648
  pass
@@ -17995,10 +19671,17 @@ def _typecheckingstub__cfe768b550097b0e81974377ae65fba6791743f6787f72492af555cd1
17995
19671
  """Type checking stubs"""
17996
19672
  pass
17997
19673
 
19674
+ def _typecheckingstub__fdfb8383d85d605dbc464ac070d5b1dbd7acd9e899b479c712bf9f4e9432f8d8(
19675
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
19676
+ ) -> None:
19677
+ """Type checking stubs"""
19678
+ pass
19679
+
17998
19680
  def _typecheckingstub__ea1a308c0c75c9aabf33c8c8b6378da7534f946eff787acdd2dc100f0b482f56(
17999
19681
  *,
18000
19682
  pool_name: typing.Optional[builtins.str] = None,
18001
19683
  scaling_mode: typing.Optional[builtins.str] = None,
19684
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
18002
19685
  ) -> None:
18003
19686
  """Type checking stubs"""
18004
19687
  pass
@@ -18013,6 +19696,7 @@ def _typecheckingstub__6dd153888b73988faf47365b573ef9e102d03faf2ff7fc2112c9b8596
18013
19696
  dkim_signing_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEmailIdentity.DkimSigningAttributesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
18014
19697
  feedback_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEmailIdentity.FeedbackAttributesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
18015
19698
  mail_from_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEmailIdentity.MailFromAttributesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19699
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
18016
19700
  ) -> None:
18017
19701
  """Type checking stubs"""
18018
19702
  pass
@@ -18065,6 +19749,12 @@ def _typecheckingstub__3bfc642d317ef43c146d5f2aed5754d7210e533815ccd7d6339a4f094
18065
19749
  """Type checking stubs"""
18066
19750
  pass
18067
19751
 
19752
+ def _typecheckingstub__734a5169a3a8e4af6fa9920987d51d19a7ae6a49e4504934eb9c54d8bf21aa81(
19753
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
19754
+ ) -> None:
19755
+ """Type checking stubs"""
19756
+ pass
19757
+
18068
19758
  def _typecheckingstub__f43c178a47220933c21060d38f5105353a7af12378df167bc4dc7fca0fffa09c(
18069
19759
  *,
18070
19760
  configuration_set_name: typing.Optional[builtins.str] = None,
@@ -18111,6 +19801,7 @@ def _typecheckingstub__1981630fc48db9c9ef7ed37311c6a22c4456e2d316420d87e0ba41890
18111
19801
  dkim_signing_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEmailIdentity.DkimSigningAttributesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
18112
19802
  feedback_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEmailIdentity.FeedbackAttributesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
18113
19803
  mail_from_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnEmailIdentity.MailFromAttributesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
19804
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
18114
19805
  ) -> None:
18115
19806
  """Type checking stubs"""
18116
19807
  pass
@@ -18125,6 +19816,14 @@ def _typecheckingstub__b264df921b4ca04913aa8a8375e2c83055fd8df0a14752396030e13fc
18125
19816
  """Type checking stubs"""
18126
19817
  pass
18127
19818
 
19819
+ def _typecheckingstub__4b82d982a648e92902a374694f84ff5e1fb61a1267dc909d615a37c7e086d706(
19820
+ scope: _constructs_77d1e7e8.Construct,
19821
+ id: builtins.str,
19822
+ addon_instance_id: builtins.str,
19823
+ ) -> None:
19824
+ """Type checking stubs"""
19825
+ pass
19826
+
18128
19827
  def _typecheckingstub__af96657c240160581260abbc9d1a8bc62bbf6e2d5f9988be88caa5605fea6193(
18129
19828
  inspector: _TreeInspector_488e0dd5,
18130
19829
  ) -> None:
@@ -18167,6 +19866,14 @@ def _typecheckingstub__0d0f399046a02347b7c8f90e068f3fd2b8d48f9ff28b35ef6bf0ae7e0
18167
19866
  """Type checking stubs"""
18168
19867
  pass
18169
19868
 
19869
+ def _typecheckingstub__285468e4ba3edb67c9b4bcd9489b416e31f4f85a2a5e786f30d01535e38cacdc(
19870
+ scope: _constructs_77d1e7e8.Construct,
19871
+ id: builtins.str,
19872
+ addon_subscription_id: builtins.str,
19873
+ ) -> None:
19874
+ """Type checking stubs"""
19875
+ pass
19876
+
18170
19877
  def _typecheckingstub__5938bdd1bc8d27ccb42b21d788b8b4b509125ca0348f4b02156af62aa3fc658d(
18171
19878
  inspector: _TreeInspector_488e0dd5,
18172
19879
  ) -> None:
@@ -18199,6 +19906,56 @@ def _typecheckingstub__60d068c00268064de7df238df2dd073326a0cbc422fee4d79433b91b5
18199
19906
  """Type checking stubs"""
18200
19907
  pass
18201
19908
 
19909
+ def _typecheckingstub__6a8a172d98fe048a3419d1b92dcaf2e59e8461e9b0baf073f812b3916bcd4974(
19910
+ scope: _constructs_77d1e7e8.Construct,
19911
+ id: builtins.str,
19912
+ *,
19913
+ address_list_name: typing.Optional[builtins.str] = None,
19914
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
19915
+ ) -> None:
19916
+ """Type checking stubs"""
19917
+ pass
19918
+
19919
+ def _typecheckingstub__120660db0c0d7502ce27d42115e731ab20d88dfeccd8fa2bb55ed90b870488c4(
19920
+ scope: _constructs_77d1e7e8.Construct,
19921
+ id: builtins.str,
19922
+ address_list_id: builtins.str,
19923
+ ) -> None:
19924
+ """Type checking stubs"""
19925
+ pass
19926
+
19927
+ def _typecheckingstub__4f6a8901ab278ee698ce069b658195d6cc144f36006c6c634fd9c8598d24d83d(
19928
+ inspector: _TreeInspector_488e0dd5,
19929
+ ) -> None:
19930
+ """Type checking stubs"""
19931
+ pass
19932
+
19933
+ def _typecheckingstub__5a2a230c58a2c2b4b62e185b88fe729ffbc699c86e17f9fe3d25e95ae19ea40b(
19934
+ props: typing.Mapping[builtins.str, typing.Any],
19935
+ ) -> None:
19936
+ """Type checking stubs"""
19937
+ pass
19938
+
19939
+ def _typecheckingstub__53d1505dab469f39095f9e22ba4d8bdae2405adbe8d8d641e4d4a1abbf6b3770(
19940
+ value: typing.Optional[builtins.str],
19941
+ ) -> None:
19942
+ """Type checking stubs"""
19943
+ pass
19944
+
19945
+ def _typecheckingstub__f941c234d4973425d4ac187f87f54965bfdb82848d3fcf93664acc11143c1068(
19946
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
19947
+ ) -> None:
19948
+ """Type checking stubs"""
19949
+ pass
19950
+
19951
+ def _typecheckingstub__ec45e85ebcc385f7d054df8a6b207754f0fa06560d7270f49432e2594f0626f9(
19952
+ *,
19953
+ address_list_name: typing.Optional[builtins.str] = None,
19954
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
19955
+ ) -> None:
19956
+ """Type checking stubs"""
19957
+ pass
19958
+
18202
19959
  def _typecheckingstub__22dd3c6f42e37a1d2959a6aa4871e671e1737ebb4110933d8bfa22c2c7f5d626(
18203
19960
  scope: _constructs_77d1e7e8.Construct,
18204
19961
  id: builtins.str,
@@ -18211,6 +19968,14 @@ def _typecheckingstub__22dd3c6f42e37a1d2959a6aa4871e671e1737ebb4110933d8bfa22c2c
18211
19968
  """Type checking stubs"""
18212
19969
  pass
18213
19970
 
19971
+ def _typecheckingstub__a42d7ef06c37673fd058e245cd5defc63931aa1bb15399b919109cc87dcb76a2(
19972
+ scope: _constructs_77d1e7e8.Construct,
19973
+ id: builtins.str,
19974
+ archive_id: builtins.str,
19975
+ ) -> None:
19976
+ """Type checking stubs"""
19977
+ pass
19978
+
18214
19979
  def _typecheckingstub__ab6bbd8ed2986ac0e486edacc5048b747fb9a30a15f56c21ed3845accc6da320(
18215
19980
  inspector: _TreeInspector_488e0dd5,
18216
19981
  ) -> None:
@@ -18280,6 +20045,14 @@ def _typecheckingstub__1ceb1a8308b4e72eecdc0962cf663d2c0564dbffbabebaa887b776484
18280
20045
  """Type checking stubs"""
18281
20046
  pass
18282
20047
 
20048
+ def _typecheckingstub__92ffe7e62420c63aff01fd3a633abd4afd6de74cfc9be5956502b4eae1715abc(
20049
+ scope: _constructs_77d1e7e8.Construct,
20050
+ id: builtins.str,
20051
+ ingress_point_id: builtins.str,
20052
+ ) -> None:
20053
+ """Type checking stubs"""
20054
+ pass
20055
+
18283
20056
  def _typecheckingstub__dc5b9905beb0e52af2daaf480d19b3056ba66ec86e4ed3b13577551722a1efe8(
18284
20057
  inspector: _TreeInspector_488e0dd5,
18285
20058
  ) -> None:
@@ -18397,6 +20170,14 @@ def _typecheckingstub__c9ee528cdf366e99e1f68b7018c131315da04193c666245fa2c99e56b
18397
20170
  """Type checking stubs"""
18398
20171
  pass
18399
20172
 
20173
+ def _typecheckingstub__20d085590a05ce27b9599b7ddb5dc4d721ab8fc87c006babf37032cd0ffc46ed(
20174
+ scope: _constructs_77d1e7e8.Construct,
20175
+ id: builtins.str,
20176
+ relay_id: builtins.str,
20177
+ ) -> None:
20178
+ """Type checking stubs"""
20179
+ pass
20180
+
18400
20181
  def _typecheckingstub__5816a1b4f596fadebac48eac5ab989ccf692d395eb95689083e0aa60a4ac275e(
18401
20182
  inspector: _TreeInspector_488e0dd5,
18402
20183
  ) -> None:
@@ -18469,6 +20250,14 @@ def _typecheckingstub__105680c1fa2be5692f8220b99da3b58468d88eba3dfec1c0ec0e39050
18469
20250
  """Type checking stubs"""
18470
20251
  pass
18471
20252
 
20253
+ def _typecheckingstub__78355a4a2620715789c2e5c3123619e35973a72ffc685bd95914181f608af137(
20254
+ scope: _constructs_77d1e7e8.Construct,
20255
+ id: builtins.str,
20256
+ rule_set_id: builtins.str,
20257
+ ) -> None:
20258
+ """Type checking stubs"""
20259
+ pass
20260
+
18472
20261
  def _typecheckingstub__0759f4c8304ca6f49025af7426410384933255e335181351fb5750c57ec3769f(
18473
20262
  inspector: _TreeInspector_488e0dd5,
18474
20263
  ) -> None:
@@ -18565,6 +20354,7 @@ def _typecheckingstub__305f0be9d67c9da493953a4770d737df26a1af8dedfd249fd91350062
18565
20354
  deliver_to_mailbox: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMailManagerRuleSet.DeliverToMailboxActionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
18566
20355
  deliver_to_q_business: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMailManagerRuleSet.DeliverToQBusinessActionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
18567
20356
  drop: typing.Any = None,
20357
+ publish_to_sns: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMailManagerRuleSet.SnsActionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
18568
20358
  relay: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMailManagerRuleSet.RelayActionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
18569
20359
  replace_recipient: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMailManagerRuleSet.ReplaceRecipientActionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
18570
20360
  send: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMailManagerRuleSet.SendActionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -18585,6 +20375,7 @@ def _typecheckingstub__837a4286b4e8b71b3f01d430cb3025b92d9655011a10dc38d56eb207d
18585
20375
  *,
18586
20376
  analysis: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMailManagerRuleSet.AnalysisProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
18587
20377
  attribute: typing.Optional[builtins.str] = None,
20378
+ is_in_address_list: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMailManagerRuleSet.RuleIsInAddressListProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
18588
20379
  ) -> None:
18589
20380
  """Type checking stubs"""
18590
20381
  pass
@@ -18625,6 +20416,14 @@ def _typecheckingstub__3a8c2b9cf0bccc9e370467c278e9d38253a9c27c0d0536268fbf47e4a
18625
20416
  """Type checking stubs"""
18626
20417
  pass
18627
20418
 
20419
+ def _typecheckingstub__c73eebae950a2c422d0d245422988b23abb78b0806a5c9c6767b4faf77f00de5(
20420
+ *,
20421
+ address_lists: typing.Sequence[builtins.str],
20422
+ attribute: builtins.str,
20423
+ ) -> None:
20424
+ """Type checking stubs"""
20425
+ pass
20426
+
18628
20427
  def _typecheckingstub__83799e1775b2d85cafb6fe8436a34354f3fb2f96ece05a92a7ff5946391395b2(
18629
20428
  *,
18630
20429
  evaluate: typing.Union[_IResolvable_da3f097b, typing.Union[CfnMailManagerRuleSet.RuleNumberToEvaluateProperty, typing.Dict[builtins.str, typing.Any]]],
@@ -18705,6 +20504,17 @@ def _typecheckingstub__55318dc538596167d3b14e3c3844f14a00b3cbe799ecfea26bbb89d52
18705
20504
  """Type checking stubs"""
18706
20505
  pass
18707
20506
 
20507
+ def _typecheckingstub__c1dba6e94fdb5a871528ffcc897120b50f8c7998718a851aaed472055a2a05a6(
20508
+ *,
20509
+ role_arn: builtins.str,
20510
+ topic_arn: builtins.str,
20511
+ action_failure_policy: typing.Optional[builtins.str] = None,
20512
+ encoding: typing.Optional[builtins.str] = None,
20513
+ payload_type: typing.Optional[builtins.str] = None,
20514
+ ) -> None:
20515
+ """Type checking stubs"""
20516
+ pass
20517
+
18708
20518
  def _typecheckingstub__9120678c5e64c2879e05de88594491cf3cdaac302d42183fc9f8d7289a9725cf(
18709
20519
  *,
18710
20520
  rules: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMailManagerRuleSet.RuleProperty, typing.Dict[builtins.str, typing.Any]]]]],
@@ -18727,6 +20537,14 @@ def _typecheckingstub__450b0bd78f68450d39a41b2242250c64ec412e1a58381c2d9d31cc0b9
18727
20537
  """Type checking stubs"""
18728
20538
  pass
18729
20539
 
20540
+ def _typecheckingstub__395da52cf16177971e7e9b795c457d2866532863ec94dc2aa23f2270e7a7d028(
20541
+ scope: _constructs_77d1e7e8.Construct,
20542
+ id: builtins.str,
20543
+ traffic_policy_id: builtins.str,
20544
+ ) -> None:
20545
+ """Type checking stubs"""
20546
+ pass
20547
+
18730
20548
  def _typecheckingstub__c2890273fd92b44df72c26923985873fcfcfde9cc0a10280486cd24096655fb4(
18731
20549
  inspector: _TreeInspector_488e0dd5,
18732
20550
  ) -> None:
@@ -18787,7 +20605,8 @@ def _typecheckingstub__e11e4c9f67eb243bdb70a5e11d25dcc15331b3869022e75e712d05bc3
18787
20605
 
18788
20606
  def _typecheckingstub__f984617bda8a2e4d661237f8f2d083ff4f9510ebc7ccbff62ef023d22ebe961f(
18789
20607
  *,
18790
- analysis: typing.Union[_IResolvable_da3f097b, typing.Union[CfnMailManagerTrafficPolicy.IngressAnalysisProperty, typing.Dict[builtins.str, typing.Any]]],
20608
+ analysis: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMailManagerTrafficPolicy.IngressAnalysisProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20609
+ is_in_address_list: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMailManagerTrafficPolicy.IngressIsInAddressListProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
18791
20610
  ) -> None:
18792
20611
  """Type checking stubs"""
18793
20612
  pass
@@ -18824,6 +20643,14 @@ def _typecheckingstub__f68a4c434cfdeacf5dcff0a6cf5c8e887cc1ed9849ea5b6b80bbd6645
18824
20643
  """Type checking stubs"""
18825
20644
  pass
18826
20645
 
20646
+ def _typecheckingstub__5756963845a73e3e00c9928d7ef48ca41a788f8ce93f22f31e10d1f99dbfe7fd(
20647
+ *,
20648
+ address_lists: typing.Sequence[builtins.str],
20649
+ attribute: builtins.str,
20650
+ ) -> None:
20651
+ """Type checking stubs"""
20652
+ pass
20653
+
18827
20654
  def _typecheckingstub__ade2199cf4a326636b60ff7fe58a2b746de093bc3c1b7294612d9b84ad813746(
18828
20655
  *,
18829
20656
  evaluate: typing.Union[_IResolvable_da3f097b, typing.Union[CfnMailManagerTrafficPolicy.IngressStringToEvaluateProperty, typing.Dict[builtins.str, typing.Any]]],
@@ -18887,6 +20714,70 @@ def _typecheckingstub__ed881964bd518a16a88f17ded480c0caabc8547dbbd126d0803e1424b
18887
20714
  """Type checking stubs"""
18888
20715
  pass
18889
20716
 
20717
+ def _typecheckingstub__8d7e94f6d9cd343f5c2c621d4e2a086c1db0d608865fb3a5015d0b11df5b0c2a(
20718
+ scope: _constructs_77d1e7e8.Construct,
20719
+ id: builtins.str,
20720
+ *,
20721
+ details: typing.Union[_IResolvable_da3f097b, typing.Union[CfnMultiRegionEndpoint.DetailsProperty, typing.Dict[builtins.str, typing.Any]]],
20722
+ endpoint_name: builtins.str,
20723
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
20724
+ ) -> None:
20725
+ """Type checking stubs"""
20726
+ pass
20727
+
20728
+ def _typecheckingstub__3f993acea62f4c5cd3c13afb39ae933a70876025dda136db5641662ea3652c35(
20729
+ inspector: _TreeInspector_488e0dd5,
20730
+ ) -> None:
20731
+ """Type checking stubs"""
20732
+ pass
20733
+
20734
+ def _typecheckingstub__2f108c3712c98e873a0ab1929f7b0f152b6ad3d8f5741b41d2dde160eedd78e2(
20735
+ props: typing.Mapping[builtins.str, typing.Any],
20736
+ ) -> None:
20737
+ """Type checking stubs"""
20738
+ pass
20739
+
20740
+ def _typecheckingstub__8b6fe78ccfdd3e52f3ea0fa2cdbcc2b8e26a69603c27d6b58c6704fbd2a0ad13(
20741
+ value: typing.Union[_IResolvable_da3f097b, CfnMultiRegionEndpoint.DetailsProperty],
20742
+ ) -> None:
20743
+ """Type checking stubs"""
20744
+ pass
20745
+
20746
+ def _typecheckingstub__7bf2a5fc1697872607b9cda5e8ef19be750bfa13e5b84b586c2d1af23751f67c(
20747
+ value: builtins.str,
20748
+ ) -> None:
20749
+ """Type checking stubs"""
20750
+ pass
20751
+
20752
+ def _typecheckingstub__4368de0d96781c022795655dd0619af76bd764cf632a2d910010e1ad5a99ee4e(
20753
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
20754
+ ) -> None:
20755
+ """Type checking stubs"""
20756
+ pass
20757
+
20758
+ def _typecheckingstub__7bf5e81365da54bbabfd37fbc5ec361541cc57cda7f472f24767be48687701f8(
20759
+ *,
20760
+ route_details: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnMultiRegionEndpoint.RouteDetailsItemsProperty, typing.Dict[builtins.str, typing.Any]]]]],
20761
+ ) -> None:
20762
+ """Type checking stubs"""
20763
+ pass
20764
+
20765
+ def _typecheckingstub__7d51ee9c9a4e7b5a8da21548086284c2214dfc2fe31b5a7e2c4b493a0a17b1a2(
20766
+ *,
20767
+ region: builtins.str,
20768
+ ) -> None:
20769
+ """Type checking stubs"""
20770
+ pass
20771
+
20772
+ def _typecheckingstub__214e30eaa4e6cecb1b023c19b13ef049c4e864d6956eb232163e2fc35159eda5(
20773
+ *,
20774
+ details: typing.Union[_IResolvable_da3f097b, typing.Union[CfnMultiRegionEndpoint.DetailsProperty, typing.Dict[builtins.str, typing.Any]]],
20775
+ endpoint_name: builtins.str,
20776
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
20777
+ ) -> None:
20778
+ """Type checking stubs"""
20779
+ pass
20780
+
18890
20781
  def _typecheckingstub__1a1615f3821db38c2d17213d45f5aaf7419e2ac2a387e68854a97ab1b660aa82(
18891
20782
  scope: _constructs_77d1e7e8.Construct,
18892
20783
  id: builtins.str,
@@ -19251,6 +21142,7 @@ def _typecheckingstub__dd3ac4f1af1f2fe9c11fa8894b2eae0f4b13c464b826cffda8b6937f4
19251
21142
  def _typecheckingstub__fb010161f6c1e40b88122d9cb7754dae093e9cbe5bbfc72b19737729a4f4523d(
19252
21143
  *,
19253
21144
  configuration_set_name: typing.Optional[builtins.str] = None,
21145
+ custom_tracking_https_policy: typing.Optional[HttpsPolicy] = None,
19254
21146
  custom_tracking_redirect_domain: typing.Optional[builtins.str] = None,
19255
21147
  dedicated_ip_pool: typing.Optional[IDedicatedIpPool] = None,
19256
21148
  disable_suppression_list: typing.Optional[builtins.bool] = None,
@@ -19622,6 +21514,7 @@ def _typecheckingstub__52b42851a408d3eb2b07399f2b34603200cef443be5e9f913f4a1d80a
19622
21514
  id: builtins.str,
19623
21515
  *,
19624
21516
  configuration_set_name: typing.Optional[builtins.str] = None,
21517
+ custom_tracking_https_policy: typing.Optional[HttpsPolicy] = None,
19625
21518
  custom_tracking_redirect_domain: typing.Optional[builtins.str] = None,
19626
21519
  dedicated_ip_pool: typing.Optional[IDedicatedIpPool] = None,
19627
21520
  disable_suppression_list: typing.Optional[builtins.bool] = None,
@@ -19750,3 +21643,6 @@ def _typecheckingstub__c92b3cf4c512d5ff21aa2749ab5ec60562bb7ed4c53c41d882ac2cb7c
19750
21643
  ) -> None:
19751
21644
  """Type checking stubs"""
19752
21645
  pass
21646
+
21647
+ for cls in [IConfigurationSet, IConfigurationSetEventDestination, IDedicatedIpPool, IEmailIdentity, IReceiptRule, IReceiptRuleAction, IReceiptRuleSet, IVdmAttributes]:
21648
+ typing.cast(typing.Any, cls).__protocol_attrs__ = typing.cast(typing.Any, cls).__protocol_attrs__ - set(['__jsii_proxy_class__', '__jsii_type__'])