aws-cdk-lib 2.200.2__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 (569) hide show
  1. aws_cdk/__init__.py +1349 -373
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.200.2.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 +1017 -155
  12. aws_cdk/aws_apigatewayv2/__init__.py +2796 -379
  13. aws_cdk/aws_apigatewayv2_integrations/__init__.py +94 -16
  14. aws_cdk/aws_appconfig/__init__.py +298 -43
  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 +29 -6
  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 +94 -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 +227 -53
  24. aws_cdk/aws_apptest/__init__.py +71 -2
  25. aws_cdk/aws_aps/__init__.py +1875 -132
  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 +135 -55
  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 +317 -28
  35. aws_cdk/aws_backupgateway/__init__.py +13 -2
  36. aws_cdk/aws_batch/__init__.py +1405 -178
  37. aws_cdk/aws_bcmdataexports/__init__.py +21 -2
  38. aws_cdk/aws_bedrock/__init__.py +6747 -627
  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 +42 -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 +237 -32
  45. aws_cdk/aws_chatbot/__init__.py +70 -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 +345 -166
  50. aws_cdk/aws_cloudfront/__init__.py +2101 -680
  51. aws_cdk/aws_cloudfront/experimental/__init__.py +108 -16
  52. aws_cdk/aws_cloudfront_origins/__init__.py +614 -73
  53. aws_cdk/aws_cloudtrail/__init__.py +301 -17
  54. aws_cdk/aws_cloudwatch/__init__.py +1414 -153
  55. aws_cdk/aws_codeartifact/__init__.py +35 -6
  56. aws_cdk/aws_codebuild/__init__.py +1103 -118
  57. aws_cdk/aws_codecommit/__init__.py +23 -9
  58. aws_cdk/aws_codeconnections/__init__.py +13 -2
  59. aws_cdk/aws_codedeploy/__init__.py +67 -6
  60. aws_cdk/aws_codeguruprofiler/__init__.py +74 -2
  61. aws_cdk/aws_codegurureviewer/__init__.py +13 -2
  62. aws_cdk/aws_codepipeline/__init__.py +127 -64
  63. aws_cdk/aws_codepipeline_actions/__init__.py +749 -0
  64. aws_cdk/aws_codestar/__init__.py +13 -2
  65. aws_cdk/aws_codestarconnections/__init__.py +35 -6
  66. aws_cdk/aws_codestarnotifications/__init__.py +16 -2
  67. aws_cdk/aws_cognito/__init__.py +814 -80
  68. aws_cdk/aws_cognito_identitypool/__init__.py +17 -12
  69. aws_cdk/aws_comprehend/__init__.py +24 -4
  70. aws_cdk/aws_config/__init__.py +191 -30
  71. aws_cdk/aws_connect/__init__.py +2736 -191
  72. aws_cdk/aws_connectcampaigns/__init__.py +13 -2
  73. aws_cdk/aws_connectcampaignsv2/__init__.py +268 -6
  74. aws_cdk/aws_controltower/__init__.py +35 -6
  75. aws_cdk/aws_cur/__init__.py +100 -4
  76. aws_cdk/aws_customerprofiles/__init__.py +617 -27
  77. aws_cdk/aws_databrew/__init__.py +68 -12
  78. aws_cdk/aws_datapipeline/__init__.py +42 -2
  79. aws_cdk/aws_datasync/__init__.py +723 -203
  80. aws_cdk/aws_datazone/__init__.py +4425 -608
  81. aws_cdk/aws_dax/__init__.py +83 -6
  82. aws_cdk/aws_deadline/__init__.py +321 -32
  83. aws_cdk/aws_detective/__init__.py +35 -6
  84. aws_cdk/aws_devicefarm/__init__.py +68 -12
  85. aws_cdk/aws_devopsguru/__init__.py +37 -6
  86. aws_cdk/aws_directoryservice/__init__.py +53 -4
  87. aws_cdk/aws_dlm/__init__.py +13 -2
  88. aws_cdk/aws_dms/__init__.py +184 -27
  89. aws_cdk/aws_docdb/__init__.py +323 -46
  90. aws_cdk/aws_docdbelastic/__init__.py +13 -2
  91. aws_cdk/aws_dsql/__init__.py +340 -12
  92. aws_cdk/aws_dynamodb/__init__.py +1463 -166
  93. aws_cdk/aws_ec2/__init__.py +9636 -1120
  94. aws_cdk/aws_ecr/__init__.py +631 -43
  95. aws_cdk/aws_ecr_assets/__init__.py +4 -0
  96. aws_cdk/aws_ecs/__init__.py +6524 -497
  97. aws_cdk/aws_ecs_patterns/__init__.py +2 -0
  98. aws_cdk/aws_efs/__init__.py +264 -24
  99. aws_cdk/aws_eks/__init__.py +1050 -218
  100. aws_cdk/aws_elasticache/__init__.py +373 -20
  101. aws_cdk/aws_elasticbeanstalk/__init__.py +75 -8
  102. aws_cdk/aws_elasticloadbalancing/__init__.py +16 -2
  103. aws_cdk/aws_elasticloadbalancingv2/__init__.py +1670 -106
  104. aws_cdk/aws_elasticsearch/__init__.py +282 -9
  105. aws_cdk/aws_emr/__init__.py +187 -20
  106. aws_cdk/aws_emrcontainers/__init__.py +71 -2
  107. aws_cdk/aws_emrserverless/__init__.py +188 -3
  108. aws_cdk/aws_entityresolution/__init__.py +585 -58
  109. aws_cdk/aws_events/__init__.py +969 -124
  110. aws_cdk/aws_events_targets/__init__.py +310 -54
  111. aws_cdk/aws_eventschemas/__init__.py +46 -8
  112. aws_cdk/aws_evidently/__init__.py +57 -10
  113. aws_cdk/aws_evs/__init__.py +2244 -0
  114. aws_cdk/aws_finspace/__init__.py +71 -2
  115. aws_cdk/aws_fis/__init__.py +26 -4
  116. aws_cdk/aws_fms/__init__.py +35 -6
  117. aws_cdk/aws_forecast/__init__.py +24 -4
  118. aws_cdk/aws_frauddetector/__init__.py +79 -14
  119. aws_cdk/aws_fsx/__init__.py +1236 -142
  120. aws_cdk/aws_gamelift/__init__.py +653 -78
  121. aws_cdk/aws_gameliftstreams/__init__.py +38 -16
  122. aws_cdk/aws_globalaccelerator/__init__.py +55 -14
  123. aws_cdk/aws_glue/__init__.py +1368 -320
  124. aws_cdk/aws_grafana/__init__.py +13 -2
  125. aws_cdk/aws_greengrass/__init__.py +654 -32
  126. aws_cdk/aws_greengrassv2/__init__.py +53 -4
  127. aws_cdk/aws_groundstation/__init__.py +122 -6
  128. aws_cdk/aws_guardduty/__init__.py +1613 -123
  129. aws_cdk/aws_healthimaging/__init__.py +71 -2
  130. aws_cdk/aws_healthlake/__init__.py +42 -2
  131. aws_cdk/aws_iam/__init__.py +480 -140
  132. aws_cdk/aws_identitystore/__init__.py +24 -4
  133. aws_cdk/aws_imagebuilder/__init__.py +1433 -183
  134. aws_cdk/aws_inspector/__init__.py +38 -6
  135. aws_cdk/aws_inspectorv2/__init__.py +2285 -243
  136. aws_cdk/aws_internetmonitor/__init__.py +71 -2
  137. aws_cdk/aws_invoicing/__init__.py +13 -2
  138. aws_cdk/aws_iot/__init__.py +1730 -86
  139. aws_cdk/aws_iotanalytics/__init__.py +162 -8
  140. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +106 -40
  141. aws_cdk/aws_iotevents/__init__.py +122 -6
  142. aws_cdk/aws_iotfleethub/__init__.py +71 -2
  143. aws_cdk/aws_iotfleetwise/__init__.py +195 -14
  144. aws_cdk/aws_iotsitewise/__init__.py +1837 -89
  145. aws_cdk/aws_iotthingsgraph/__init__.py +13 -2
  146. aws_cdk/aws_iottwinmaker/__init__.py +115 -10
  147. aws_cdk/aws_iotwireless/__init__.py +649 -22
  148. aws_cdk/aws_ivs/__init__.py +561 -57
  149. aws_cdk/aws_ivschat/__init__.py +24 -4
  150. aws_cdk/aws_kafkaconnect/__init__.py +35 -6
  151. aws_cdk/aws_kendra/__init__.py +120 -28
  152. aws_cdk/aws_kendraranking/__init__.py +13 -2
  153. aws_cdk/aws_kinesis/__init__.py +622 -22
  154. aws_cdk/aws_kinesisanalytics/__init__.py +467 -94
  155. aws_cdk/aws_kinesisanalyticsv2/__init__.py +201 -11
  156. aws_cdk/aws_kinesisfirehose/__init__.py +3077 -295
  157. aws_cdk/aws_kinesisvideo/__init__.py +24 -4
  158. aws_cdk/aws_kms/__init__.py +188 -41
  159. aws_cdk/aws_lakeformation/__init__.py +80 -15
  160. aws_cdk/aws_lambda/__init__.py +2101 -252
  161. aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
  162. aws_cdk/aws_lambda_nodejs/__init__.py +63 -24
  163. aws_cdk/aws_launchwizard/__init__.py +13 -2
  164. aws_cdk/aws_lex/__init__.py +871 -8
  165. aws_cdk/aws_licensemanager/__init__.py +24 -4
  166. aws_cdk/aws_lightsail/__init__.py +2159 -975
  167. aws_cdk/aws_location/__init__.py +618 -14
  168. aws_cdk/aws_logs/__init__.py +5904 -956
  169. aws_cdk/aws_lookoutequipment/__init__.py +13 -2
  170. aws_cdk/aws_lookoutmetrics/__init__.py +38 -6
  171. aws_cdk/aws_lookoutvision/__init__.py +71 -2
  172. aws_cdk/aws_m2/__init__.py +94 -19
  173. aws_cdk/aws_macie/__init__.py +49 -11
  174. aws_cdk/aws_managedblockchain/__init__.py +180 -6
  175. aws_cdk/aws_mediaconnect/__init__.py +101 -18
  176. aws_cdk/aws_mediaconvert/__init__.py +35 -6
  177. aws_cdk/aws_medialive/__init__.py +1239 -35
  178. aws_cdk/aws_mediapackage/__init__.py +59 -12
  179. aws_cdk/aws_mediapackagev2/__init__.py +1607 -225
  180. aws_cdk/aws_mediastore/__init__.py +13 -2
  181. aws_cdk/aws_mediatailor/__init__.py +583 -12
  182. aws_cdk/aws_memorydb/__init__.py +271 -12
  183. aws_cdk/aws_mpa/__init__.py +1495 -0
  184. aws_cdk/aws_msk/__init__.py +104 -18
  185. aws_cdk/aws_mwaa/__init__.py +121 -9
  186. aws_cdk/aws_neptune/__init__.py +290 -78
  187. aws_cdk/aws_neptunegraph/__init__.py +24 -4
  188. aws_cdk/aws_networkfirewall/__init__.py +1289 -273
  189. aws_cdk/aws_networkmanager/__init__.py +349 -33
  190. aws_cdk/aws_nimblestudio/__init__.py +75 -8
  191. aws_cdk/aws_notifications/__init__.py +317 -12
  192. aws_cdk/aws_notificationscontacts/__init__.py +13 -2
  193. aws_cdk/aws_oam/__init__.py +24 -4
  194. aws_cdk/aws_observabilityadmin/__init__.py +2561 -0
  195. aws_cdk/aws_odb/__init__.py +5872 -0
  196. aws_cdk/aws_omics/__init__.py +2495 -529
  197. aws_cdk/aws_opensearchserverless/__init__.py +312 -37
  198. aws_cdk/aws_opensearchservice/__init__.py +495 -19
  199. aws_cdk/aws_opsworks/__init__.py +235 -139
  200. aws_cdk/aws_opsworkscm/__init__.py +16 -52
  201. aws_cdk/aws_organizations/__init__.py +70 -10
  202. aws_cdk/aws_osis/__init__.py +167 -2
  203. aws_cdk/aws_panorama/__init__.py +151 -6
  204. aws_cdk/aws_paymentcryptography/__init__.py +24 -4
  205. aws_cdk/aws_pcaconnectorad/__init__.py +59 -10
  206. aws_cdk/aws_pcaconnectorscep/__init__.py +24 -4
  207. aws_cdk/aws_pcs/__init__.py +387 -68
  208. aws_cdk/aws_personalize/__init__.py +46 -8
  209. aws_cdk/aws_pinpoint/__init__.py +329 -38
  210. aws_cdk/aws_pinpointemail/__init__.py +48 -8
  211. aws_cdk/aws_pipes/__init__.py +12 -2
  212. aws_cdk/aws_proton/__init__.py +37 -6
  213. aws_cdk/aws_qbusiness/__init__.py +635 -34
  214. aws_cdk/aws_qldb/__init__.py +24 -4
  215. aws_cdk/aws_quicksight/__init__.py +7900 -1160
  216. aws_cdk/aws_ram/__init__.py +24 -4
  217. aws_cdk/aws_rbin/__init__.py +12 -2
  218. aws_cdk/aws_rds/__init__.py +3345 -512
  219. aws_cdk/aws_redshift/__init__.py +143 -20
  220. aws_cdk/aws_redshiftserverless/__init__.py +692 -4
  221. aws_cdk/aws_refactorspaces/__init__.py +64 -14
  222. aws_cdk/aws_rekognition/__init__.py +93 -6
  223. aws_cdk/aws_resiliencehub/__init__.py +24 -4
  224. aws_cdk/aws_resourceexplorer2/__init__.py +35 -6
  225. aws_cdk/aws_resourcegroups/__init__.py +82 -4
  226. aws_cdk/aws_robomaker/__init__.py +72 -12
  227. aws_cdk/aws_rolesanywhere/__init__.py +180 -6
  228. aws_cdk/aws_route53/__init__.py +3273 -1442
  229. aws_cdk/aws_route53_targets/__init__.py +3 -0
  230. aws_cdk/aws_route53profiles/__init__.py +37 -6
  231. aws_cdk/aws_route53recoverycontrol/__init__.py +46 -8
  232. aws_cdk/aws_route53recoveryreadiness/__init__.py +104 -8
  233. aws_cdk/aws_route53resolver/__init__.py +226 -36
  234. aws_cdk/aws_rtbfabric/__init__.py +3498 -0
  235. aws_cdk/aws_rum/__init__.py +13 -2
  236. aws_cdk/aws_s3/__init__.py +1291 -158
  237. aws_cdk/aws_s3_assets/__init__.py +11 -11
  238. aws_cdk/aws_s3_deployment/__init__.py +147 -11
  239. aws_cdk/aws_s3_notifications/__init__.py +7 -7
  240. aws_cdk/aws_s3express/__init__.py +266 -8
  241. aws_cdk/aws_s3objectlambda/__init__.py +68 -16
  242. aws_cdk/aws_s3outposts/__init__.py +46 -8
  243. aws_cdk/aws_s3tables/__init__.py +2000 -323
  244. aws_cdk/aws_s3vectors/__init__.py +1378 -0
  245. aws_cdk/aws_sagemaker/__init__.py +6617 -363
  246. aws_cdk/aws_sam/__init__.py +79 -14
  247. aws_cdk/aws_scheduler/__init__.py +237 -4
  248. aws_cdk/aws_sdb/__init__.py +12 -2
  249. aws_cdk/aws_secretsmanager/__init__.py +170 -14
  250. aws_cdk/aws_securityhub/__init__.py +3121 -176
  251. aws_cdk/aws_securitylake/__init__.py +46 -8
  252. aws_cdk/aws_servicecatalog/__init__.py +405 -246
  253. aws_cdk/aws_servicecatalogappregistry/__init__.py +164 -8
  254. aws_cdk/aws_servicediscovery/__init__.py +140 -47
  255. aws_cdk/aws_ses/__init__.py +1231 -140
  256. aws_cdk/aws_shield/__init__.py +46 -8
  257. aws_cdk/aws_signer/__init__.py +27 -4
  258. aws_cdk/aws_simspaceweaver/__init__.py +42 -2
  259. aws_cdk/aws_smsvoice/__init__.py +4716 -0
  260. aws_cdk/aws_sns/__init__.py +245 -29
  261. aws_cdk/aws_sns_subscriptions/__init__.py +3 -1
  262. aws_cdk/aws_sqs/__init__.py +211 -14
  263. aws_cdk/aws_ssm/__init__.py +401 -58
  264. aws_cdk/aws_ssmcontacts/__init__.py +46 -8
  265. aws_cdk/aws_ssmguiconnect/__init__.py +13 -2
  266. aws_cdk/aws_ssmincidents/__init__.py +24 -4
  267. aws_cdk/aws_ssmquicksetup/__init__.py +383 -6
  268. aws_cdk/aws_sso/__init__.py +70 -12
  269. aws_cdk/aws_stepfunctions/__init__.py +615 -70
  270. aws_cdk/aws_stepfunctions_tasks/__init__.py +781 -144
  271. aws_cdk/aws_supportapp/__init__.py +39 -6
  272. aws_cdk/aws_synthetics/__init__.py +861 -75
  273. aws_cdk/aws_systemsmanagersap/__init__.py +13 -2
  274. aws_cdk/aws_timestream/__init__.py +104 -8
  275. aws_cdk/aws_transfer/__init__.py +784 -87
  276. aws_cdk/aws_verifiedpermissions/__init__.py +145 -17
  277. aws_cdk/aws_voiceid/__init__.py +41 -2
  278. aws_cdk/aws_vpclattice/__init__.py +376 -30
  279. aws_cdk/aws_waf/__init__.py +79 -14
  280. aws_cdk/aws_wafregional/__init__.py +123 -22
  281. aws_cdk/aws_wafv2/__init__.py +1179 -60
  282. aws_cdk/aws_wisdom/__init__.py +1401 -90
  283. aws_cdk/aws_workspaces/__init__.py +93 -6
  284. aws_cdk/aws_workspacesinstances/__init__.py +3940 -0
  285. aws_cdk/aws_workspacesthinclient/__init__.py +79 -10
  286. aws_cdk/aws_workspacesweb/__init__.py +1057 -141
  287. aws_cdk/aws_xray/__init__.py +48 -8
  288. aws_cdk/cloud_assembly_schema/__init__.py +231 -6
  289. aws_cdk/custom_resources/__init__.py +40 -12
  290. aws_cdk/cx_api/__init__.py +85 -14
  291. aws_cdk/interfaces/__init__.py +739 -0
  292. aws_cdk/interfaces/alexa_ask/__init__.py +146 -0
  293. aws_cdk/interfaces/aws_accessanalyzer/__init__.py +146 -0
  294. aws_cdk/interfaces/aws_acmpca/__init__.py +501 -0
  295. aws_cdk/interfaces/aws_aiops/__init__.py +146 -0
  296. aws_cdk/interfaces/aws_amazonmq/__init__.py +386 -0
  297. aws_cdk/interfaces/aws_amplify/__init__.py +352 -0
  298. aws_cdk/interfaces/aws_amplifyuibuilder/__init__.py +454 -0
  299. aws_cdk/interfaces/aws_apigateway/__init__.py +2486 -0
  300. aws_cdk/interfaces/aws_apigatewayv2/__init__.py +1651 -0
  301. aws_cdk/interfaces/aws_appconfig/__init__.py +1020 -0
  302. aws_cdk/interfaces/aws_appflow/__init__.py +404 -0
  303. aws_cdk/interfaces/aws_appintegrations/__init__.py +396 -0
  304. aws_cdk/interfaces/aws_applicationautoscaling/__init__.py +307 -0
  305. aws_cdk/interfaces/aws_applicationinsights/__init__.py +148 -0
  306. aws_cdk/interfaces/aws_applicationsignals/__init__.py +358 -0
  307. aws_cdk/interfaces/aws_appmesh/__init__.py +888 -0
  308. aws_cdk/interfaces/aws_apprunner/__init__.py +564 -0
  309. aws_cdk/interfaces/aws_appstream/__init__.py +1482 -0
  310. aws_cdk/interfaces/aws_appsync/__init__.py +1326 -0
  311. aws_cdk/interfaces/aws_apptest/__init__.py +163 -0
  312. aws_cdk/interfaces/aws_aps/__init__.py +558 -0
  313. aws_cdk/interfaces/aws_arcregionswitch/__init__.py +146 -0
  314. aws_cdk/interfaces/aws_arczonalshift/__init__.py +273 -0
  315. aws_cdk/interfaces/aws_athena/__init__.py +575 -0
  316. aws_cdk/interfaces/aws_auditmanager/__init__.py +163 -0
  317. aws_cdk/interfaces/aws_autoscaling/__init__.py +705 -0
  318. aws_cdk/interfaces/aws_autoscalingplans/__init__.py +148 -0
  319. aws_cdk/interfaces/aws_b2bi/__init__.py +524 -0
  320. aws_cdk/interfaces/aws_backup/__init__.py +955 -0
  321. aws_cdk/interfaces/aws_backupgateway/__init__.py +146 -0
  322. aws_cdk/interfaces/aws_batch/__init__.py +681 -0
  323. aws_cdk/interfaces/aws_bcmdataexports/__init__.py +146 -0
  324. aws_cdk/interfaces/aws_bedrock/__init__.py +1942 -0
  325. aws_cdk/interfaces/aws_bedrockagentcore/__init__.py +934 -0
  326. aws_cdk/interfaces/aws_billing/__init__.py +146 -0
  327. aws_cdk/interfaces/aws_billingconductor/__init__.py +463 -0
  328. aws_cdk/interfaces/aws_budgets/__init__.py +261 -0
  329. aws_cdk/interfaces/aws_cassandra/__init__.py +381 -0
  330. aws_cdk/interfaces/aws_ce/__init__.py +352 -0
  331. aws_cdk/interfaces/aws_certificatemanager/__init__.py +251 -0
  332. aws_cdk/interfaces/aws_chatbot/__init__.py +366 -0
  333. aws_cdk/interfaces/aws_cleanrooms/__init__.py +1103 -0
  334. aws_cdk/interfaces/aws_cleanroomsml/__init__.py +148 -0
  335. aws_cdk/interfaces/aws_cloud9/__init__.py +166 -0
  336. aws_cdk/interfaces/aws_cloudformation/__init__.py +1919 -0
  337. aws_cdk/interfaces/aws_cloudfront/__init__.py +1998 -0
  338. aws_cdk/interfaces/aws_cloudtrail/__init__.py +570 -0
  339. aws_cdk/interfaces/aws_cloudwatch/__init__.py +733 -0
  340. aws_cdk/interfaces/aws_codeartifact/__init__.py +352 -0
  341. aws_cdk/interfaces/aws_codebuild/__init__.py +487 -0
  342. aws_cdk/interfaces/aws_codecommit/__init__.py +163 -0
  343. aws_cdk/interfaces/aws_codeconnections/__init__.py +146 -0
  344. aws_cdk/interfaces/aws_codedeploy/__init__.py +352 -0
  345. aws_cdk/interfaces/aws_codeguruprofiler/__init__.py +168 -0
  346. aws_cdk/interfaces/aws_codegurureviewer/__init__.py +148 -0
  347. aws_cdk/interfaces/aws_codepipeline/__init__.py +388 -0
  348. aws_cdk/interfaces/aws_codestar/__init__.py +146 -0
  349. aws_cdk/interfaces/aws_codestarconnections/__init__.py +370 -0
  350. aws_cdk/interfaces/aws_codestarnotifications/__init__.py +148 -0
  351. aws_cdk/interfaces/aws_cognito/__init__.py +1929 -0
  352. aws_cdk/interfaces/aws_comprehend/__init__.py +251 -0
  353. aws_cdk/interfaces/aws_config/__init__.py +1165 -0
  354. aws_cdk/interfaces/aws_connect/__init__.py +2949 -0
  355. aws_cdk/interfaces/aws_connectcampaigns/__init__.py +146 -0
  356. aws_cdk/interfaces/aws_connectcampaignsv2/__init__.py +146 -0
  357. aws_cdk/interfaces/aws_controltower/__init__.py +394 -0
  358. aws_cdk/interfaces/aws_cur/__init__.py +146 -0
  359. aws_cdk/interfaces/aws_customerprofiles/__init__.py +915 -0
  360. aws_cdk/interfaces/aws_databrew/__init__.py +661 -0
  361. aws_cdk/interfaces/aws_datapipeline/__init__.py +146 -0
  362. aws_cdk/interfaces/aws_datasync/__init__.py +1384 -0
  363. aws_cdk/interfaces/aws_datazone/__init__.py +2238 -0
  364. aws_cdk/interfaces/aws_dax/__init__.py +364 -0
  365. aws_cdk/interfaces/aws_deadline/__init__.py +1303 -0
  366. aws_cdk/interfaces/aws_detective/__init__.py +364 -0
  367. aws_cdk/interfaces/aws_devicefarm/__init__.py +663 -0
  368. aws_cdk/interfaces/aws_devopsguru/__init__.py +362 -0
  369. aws_cdk/interfaces/aws_directoryservice/__init__.py +251 -0
  370. aws_cdk/interfaces/aws_dlm/__init__.py +166 -0
  371. aws_cdk/interfaces/aws_dms/__init__.py +1176 -0
  372. aws_cdk/interfaces/aws_docdb/__init__.py +560 -0
  373. aws_cdk/interfaces/aws_docdbelastic/__init__.py +146 -0
  374. aws_cdk/interfaces/aws_dsql/__init__.py +146 -0
  375. aws_cdk/interfaces/aws_dynamodb/__init__.py +278 -0
  376. aws_cdk/interfaces/aws_ec2/__init__.py +11963 -0
  377. aws_cdk/interfaces/aws_ecr/__init__.py +814 -0
  378. aws_cdk/interfaces/aws_ecs/__init__.py +845 -0
  379. aws_cdk/interfaces/aws_efs/__init__.py +392 -0
  380. aws_cdk/interfaces/aws_eks/__init__.py +948 -0
  381. aws_cdk/interfaces/aws_elasticache/__init__.py +1108 -0
  382. aws_cdk/interfaces/aws_elasticbeanstalk/__init__.py +503 -0
  383. aws_cdk/interfaces/aws_elasticloadbalancing/__init__.py +148 -0
  384. aws_cdk/interfaces/aws_elasticloadbalancingv2/__init__.py +795 -0
  385. aws_cdk/interfaces/aws_elasticsearch/__init__.py +158 -0
  386. aws_cdk/interfaces/aws_emr/__init__.py +913 -0
  387. aws_cdk/interfaces/aws_emrcontainers/__init__.py +168 -0
  388. aws_cdk/interfaces/aws_emrserverless/__init__.py +166 -0
  389. aws_cdk/interfaces/aws_entityresolution/__init__.py +608 -0
  390. aws_cdk/interfaces/aws_events/__init__.py +872 -0
  391. aws_cdk/interfaces/aws_eventschemas/__init__.py +455 -0
  392. aws_cdk/interfaces/aws_evidently/__init__.py +558 -0
  393. aws_cdk/interfaces/aws_evs/__init__.py +166 -0
  394. aws_cdk/interfaces/aws_finspace/__init__.py +166 -0
  395. aws_cdk/interfaces/aws_fis/__init__.py +271 -0
  396. aws_cdk/interfaces/aws_fms/__init__.py +364 -0
  397. aws_cdk/interfaces/aws_forecast/__init__.py +249 -0
  398. aws_cdk/interfaces/aws_frauddetector/__init__.py +764 -0
  399. aws_cdk/interfaces/aws_fsx/__init__.py +663 -0
  400. aws_cdk/interfaces/aws_gamelift/__init__.py +1325 -0
  401. aws_cdk/interfaces/aws_gameliftstreams/__init__.py +249 -0
  402. aws_cdk/interfaces/aws_globalaccelerator/__init__.py +461 -0
  403. aws_cdk/interfaces/aws_glue/__init__.py +2377 -0
  404. aws_cdk/interfaces/aws_grafana/__init__.py +146 -0
  405. aws_cdk/interfaces/aws_greengrass/__init__.py +1871 -0
  406. aws_cdk/interfaces/aws_greengrassv2/__init__.py +251 -0
  407. aws_cdk/interfaces/aws_groundstation/__init__.py +396 -0
  408. aws_cdk/interfaces/aws_guardduty/__init__.py +1225 -0
  409. aws_cdk/interfaces/aws_healthimaging/__init__.py +163 -0
  410. aws_cdk/interfaces/aws_healthlake/__init__.py +146 -0
  411. aws_cdk/interfaces/aws_iam/__init__.py +1803 -0
  412. aws_cdk/interfaces/aws_identitystore/__init__.py +288 -0
  413. aws_cdk/interfaces/aws_imagebuilder/__init__.py +984 -0
  414. aws_cdk/interfaces/aws_inspector/__init__.py +354 -0
  415. aws_cdk/interfaces/aws_inspectorv2/__init__.py +467 -0
  416. aws_cdk/interfaces/aws_internetmonitor/__init__.py +163 -0
  417. aws_cdk/interfaces/aws_invoicing/__init__.py +146 -0
  418. aws_cdk/interfaces/aws_iot/__init__.py +3483 -0
  419. aws_cdk/interfaces/aws_iotanalytics/__init__.py +455 -0
  420. aws_cdk/interfaces/aws_iotcoredeviceadvisor/__init__.py +168 -0
  421. aws_cdk/interfaces/aws_iotevents/__init__.py +352 -0
  422. aws_cdk/interfaces/aws_iotfleethub/__init__.py +166 -0
  423. aws_cdk/interfaces/aws_iotfleetwise/__init__.py +892 -0
  424. aws_cdk/interfaces/aws_iotsitewise/__init__.py +1097 -0
  425. aws_cdk/interfaces/aws_iotthingsgraph/__init__.py +146 -0
  426. aws_cdk/interfaces/aws_iottwinmaker/__init__.py +711 -0
  427. aws_cdk/interfaces/aws_iotwireless/__init__.py +1401 -0
  428. aws_cdk/interfaces/aws_ivs/__init__.py +1075 -0
  429. aws_cdk/interfaces/aws_ivschat/__init__.py +251 -0
  430. aws_cdk/interfaces/aws_kafkaconnect/__init__.py +354 -0
  431. aws_cdk/interfaces/aws_kendra/__init__.py +428 -0
  432. aws_cdk/interfaces/aws_kendraranking/__init__.py +166 -0
  433. aws_cdk/interfaces/aws_kinesis/__init__.py +364 -0
  434. aws_cdk/interfaces/aws_kinesisanalytics/__init__.py +364 -0
  435. aws_cdk/interfaces/aws_kinesisanalyticsv2/__init__.py +479 -0
  436. aws_cdk/interfaces/aws_kinesisfirehose/__init__.py +168 -0
  437. aws_cdk/interfaces/aws_kinesisvideo/__init__.py +283 -0
  438. aws_cdk/interfaces/aws_kms/__init__.py +376 -0
  439. aws_cdk/interfaces/aws_lakeformation/__init__.py +860 -0
  440. aws_cdk/interfaces/aws_lambda/__init__.py +1141 -0
  441. aws_cdk/interfaces/aws_launchwizard/__init__.py +146 -0
  442. aws_cdk/interfaces/aws_lex/__init__.py +513 -0
  443. aws_cdk/interfaces/aws_licensemanager/__init__.py +249 -0
  444. aws_cdk/interfaces/aws_lightsail/__init__.py +1744 -0
  445. aws_cdk/interfaces/aws_location/__init__.py +879 -0
  446. aws_cdk/interfaces/aws_logs/__init__.py +1667 -0
  447. aws_cdk/interfaces/aws_lookoutequipment/__init__.py +168 -0
  448. aws_cdk/interfaces/aws_lookoutmetrics/__init__.py +251 -0
  449. aws_cdk/interfaces/aws_lookoutvision/__init__.py +163 -0
  450. aws_cdk/interfaces/aws_m2/__init__.py +352 -0
  451. aws_cdk/interfaces/aws_macie/__init__.py +512 -0
  452. aws_cdk/interfaces/aws_managedblockchain/__init__.py +381 -0
  453. aws_cdk/interfaces/aws_mediaconnect/__init__.py +1028 -0
  454. aws_cdk/interfaces/aws_mediaconvert/__init__.py +396 -0
  455. aws_cdk/interfaces/aws_medialive/__init__.py +1755 -0
  456. aws_cdk/interfaces/aws_mediapackage/__init__.py +644 -0
  457. aws_cdk/interfaces/aws_mediapackagev2/__init__.py +618 -0
  458. aws_cdk/interfaces/aws_mediastore/__init__.py +146 -0
  459. aws_cdk/interfaces/aws_mediatailor/__init__.py +788 -0
  460. aws_cdk/interfaces/aws_memorydb/__init__.py +685 -0
  461. aws_cdk/interfaces/aws_mpa/__init__.py +249 -0
  462. aws_cdk/interfaces/aws_msk/__init__.py +764 -0
  463. aws_cdk/interfaces/aws_mwaa/__init__.py +166 -0
  464. aws_cdk/interfaces/aws_neptune/__init__.py +663 -0
  465. aws_cdk/interfaces/aws_neptunegraph/__init__.py +265 -0
  466. aws_cdk/interfaces/aws_networkfirewall/__init__.py +669 -0
  467. aws_cdk/interfaces/aws_networkmanager/__init__.py +1832 -0
  468. aws_cdk/interfaces/aws_nimblestudio/__init__.py +388 -0
  469. aws_cdk/interfaces/aws_notifications/__init__.py +868 -0
  470. aws_cdk/interfaces/aws_notificationscontacts/__init__.py +148 -0
  471. aws_cdk/interfaces/aws_oam/__init__.py +249 -0
  472. aws_cdk/interfaces/aws_observabilityadmin/__init__.py +362 -0
  473. aws_cdk/interfaces/aws_odb/__init__.py +562 -0
  474. aws_cdk/interfaces/aws_omics/__init__.py +838 -0
  475. aws_cdk/interfaces/aws_opensearchserverless/__init__.py +859 -0
  476. aws_cdk/interfaces/aws_opensearchservice/__init__.py +283 -0
  477. aws_cdk/interfaces/aws_opsworks/__init__.py +772 -0
  478. aws_cdk/interfaces/aws_opsworkscm/__init__.py +146 -0
  479. aws_cdk/interfaces/aws_organizations/__init__.py +646 -0
  480. aws_cdk/interfaces/aws_osis/__init__.py +146 -0
  481. aws_cdk/interfaces/aws_panorama/__init__.py +420 -0
  482. aws_cdk/interfaces/aws_paymentcryptography/__init__.py +249 -0
  483. aws_cdk/interfaces/aws_pcaconnectorad/__init__.py +608 -0
  484. aws_cdk/interfaces/aws_pcaconnectorscep/__init__.py +249 -0
  485. aws_cdk/interfaces/aws_pcs/__init__.py +352 -0
  486. aws_cdk/interfaces/aws_personalize/__init__.py +455 -0
  487. aws_cdk/interfaces/aws_pinpoint/__init__.py +2125 -0
  488. aws_cdk/interfaces/aws_pinpointemail/__init__.py +467 -0
  489. aws_cdk/interfaces/aws_pipes/__init__.py +158 -0
  490. aws_cdk/interfaces/aws_proton/__init__.py +360 -0
  491. aws_cdk/interfaces/aws_qbusiness/__init__.py +1122 -0
  492. aws_cdk/interfaces/aws_qldb/__init__.py +283 -0
  493. aws_cdk/interfaces/aws_quicksight/__init__.py +1566 -0
  494. aws_cdk/interfaces/aws_ram/__init__.py +249 -0
  495. aws_cdk/interfaces/aws_rbin/__init__.py +146 -0
  496. aws_cdk/interfaces/aws_rds/__init__.py +1780 -0
  497. aws_cdk/interfaces/aws_redshift/__init__.py +1104 -0
  498. aws_cdk/interfaces/aws_redshiftserverless/__init__.py +356 -0
  499. aws_cdk/interfaces/aws_refactorspaces/__init__.py +605 -0
  500. aws_cdk/interfaces/aws_rekognition/__init__.py +406 -0
  501. aws_cdk/interfaces/aws_resiliencehub/__init__.py +251 -0
  502. aws_cdk/interfaces/aws_resourceexplorer2/__init__.py +354 -0
  503. aws_cdk/interfaces/aws_resourcegroups/__init__.py +261 -0
  504. aws_cdk/interfaces/aws_robomaker/__init__.py +673 -0
  505. aws_cdk/interfaces/aws_rolesanywhere/__init__.py +384 -0
  506. aws_cdk/interfaces/aws_route53/__init__.py +804 -0
  507. aws_cdk/interfaces/aws_route53profiles/__init__.py +368 -0
  508. aws_cdk/interfaces/aws_route53recoverycontrol/__init__.py +463 -0
  509. aws_cdk/interfaces/aws_route53recoveryreadiness/__init__.py +535 -0
  510. aws_cdk/interfaces/aws_route53resolver/__init__.py +1356 -0
  511. aws_cdk/interfaces/aws_rtbfabric/__init__.py +352 -0
  512. aws_cdk/interfaces/aws_rum/__init__.py +146 -0
  513. aws_cdk/interfaces/aws_s3/__init__.py +1171 -0
  514. aws_cdk/interfaces/aws_s3express/__init__.py +392 -0
  515. aws_cdk/interfaces/aws_s3objectlambda/__init__.py +271 -0
  516. aws_cdk/interfaces/aws_s3outposts/__init__.py +455 -0
  517. aws_cdk/interfaces/aws_s3tables/__init__.py +575 -0
  518. aws_cdk/interfaces/aws_s3vectors/__init__.py +354 -0
  519. aws_cdk/interfaces/aws_sagemaker/__init__.py +3797 -0
  520. aws_cdk/interfaces/aws_sam/__init__.py +603 -0
  521. aws_cdk/interfaces/aws_scheduler/__init__.py +286 -0
  522. aws_cdk/interfaces/aws_sdb/__init__.py +146 -0
  523. aws_cdk/interfaces/aws_secretsmanager/__init__.py +461 -0
  524. aws_cdk/interfaces/aws_securityhub/__init__.py +1499 -0
  525. aws_cdk/interfaces/aws_securitylake/__init__.py +474 -0
  526. aws_cdk/interfaces/aws_servicecatalog/__init__.py +1829 -0
  527. aws_cdk/interfaces/aws_servicecatalogappregistry/__init__.py +557 -0
  528. aws_cdk/interfaces/aws_servicediscovery/__init__.py +636 -0
  529. aws_cdk/interfaces/aws_ses/__init__.py +2018 -0
  530. aws_cdk/interfaces/aws_shield/__init__.py +455 -0
  531. aws_cdk/interfaces/aws_signer/__init__.py +266 -0
  532. aws_cdk/interfaces/aws_simspaceweaver/__init__.py +146 -0
  533. aws_cdk/interfaces/aws_smsvoice/__init__.py +892 -0
  534. aws_cdk/interfaces/aws_sns/__init__.py +455 -0
  535. aws_cdk/interfaces/aws_sqs/__init__.py +364 -0
  536. aws_cdk/interfaces/aws_ssm/__init__.py +982 -0
  537. aws_cdk/interfaces/aws_ssmcontacts/__init__.py +455 -0
  538. aws_cdk/interfaces/aws_ssmguiconnect/__init__.py +146 -0
  539. aws_cdk/interfaces/aws_ssmincidents/__init__.py +249 -0
  540. aws_cdk/interfaces/aws_ssmquicksetup/__init__.py +253 -0
  541. aws_cdk/interfaces/aws_sso/__init__.py +797 -0
  542. aws_cdk/interfaces/aws_stepfunctions/__init__.py +459 -0
  543. aws_cdk/interfaces/aws_supportapp/__init__.py +372 -0
  544. aws_cdk/interfaces/aws_synthetics/__init__.py +249 -0
  545. aws_cdk/interfaces/aws_systemsmanagersap/__init__.py +148 -0
  546. aws_cdk/interfaces/aws_timestream/__init__.py +526 -0
  547. aws_cdk/interfaces/aws_transfer/__init__.py +967 -0
  548. aws_cdk/interfaces/aws_verifiedpermissions/__init__.py +538 -0
  549. aws_cdk/interfaces/aws_voiceid/__init__.py +146 -0
  550. aws_cdk/interfaces/aws_vpclattice/__init__.py +1418 -0
  551. aws_cdk/interfaces/aws_waf/__init__.py +764 -0
  552. aws_cdk/interfaces/aws_wafregional/__init__.py +1182 -0
  553. aws_cdk/interfaces/aws_wafv2/__init__.py +870 -0
  554. aws_cdk/interfaces/aws_wisdom/__init__.py +1556 -0
  555. aws_cdk/interfaces/aws_workspaces/__init__.py +352 -0
  556. aws_cdk/interfaces/aws_workspacesinstances/__init__.py +390 -0
  557. aws_cdk/interfaces/aws_workspacesthinclient/__init__.py +168 -0
  558. aws_cdk/interfaces/aws_workspacesweb/__init__.py +1085 -0
  559. aws_cdk/interfaces/aws_xray/__init__.py +457 -0
  560. aws_cdk/pipelines/__init__.py +192 -42
  561. aws_cdk/region_info/__init__.py +3 -0
  562. aws_cdk/triggers/__init__.py +60 -18
  563. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/METADATA +338 -16
  564. aws_cdk_lib-2.224.0.dist-info/RECORD +584 -0
  565. aws_cdk_lib-2.200.2.dist-info/RECORD +0 -304
  566. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/LICENSE +0 -0
  567. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/NOTICE +0 -0
  568. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/WHEEL +0 -0
  569. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/top_level.txt +0 -0
@@ -67,9 +67,302 @@ from .. import (
67
67
  TagManager as _TagManager_0a598cb3,
68
68
  TreeInspector as _TreeInspector_488e0dd5,
69
69
  )
70
+ from ..interfaces.aws_securityhub import (
71
+ AggregatorV2Reference as _AggregatorV2Reference_a3d3e7bc,
72
+ AutomationRuleReference as _AutomationRuleReference_840d6e74,
73
+ AutomationRuleV2Reference as _AutomationRuleV2Reference_0c38f3c7,
74
+ ConfigurationPolicyReference as _ConfigurationPolicyReference_1c2fb12f,
75
+ DelegatedAdminReference as _DelegatedAdminReference_bebc4b15,
76
+ FindingAggregatorReference as _FindingAggregatorReference_653c7463,
77
+ HubReference as _HubReference_30eead86,
78
+ HubV2Reference as _HubV2Reference_df6d8d5f,
79
+ IAggregatorV2Ref as _IAggregatorV2Ref_af56713f,
80
+ IAutomationRuleRef as _IAutomationRuleRef_87633460,
81
+ IAutomationRuleV2Ref as _IAutomationRuleV2Ref_9909169c,
82
+ IConfigurationPolicyRef as _IConfigurationPolicyRef_c5d7ee65,
83
+ IDelegatedAdminRef as _IDelegatedAdminRef_1537f0f1,
84
+ IFindingAggregatorRef as _IFindingAggregatorRef_bdf7f80f,
85
+ IHubRef as _IHubRef_afbeae07,
86
+ IHubV2Ref as _IHubV2Ref_e1cb746c,
87
+ IInsightRef as _IInsightRef_f81a9d16,
88
+ IOrganizationConfigurationRef as _IOrganizationConfigurationRef_ee9b4f99,
89
+ IPolicyAssociationRef as _IPolicyAssociationRef_644f6314,
90
+ IProductSubscriptionRef as _IProductSubscriptionRef_9d6dd87b,
91
+ ISecurityControlRef as _ISecurityControlRef_7085a031,
92
+ IStandardRef as _IStandardRef_f188bebb,
93
+ InsightReference as _InsightReference_16026cef,
94
+ OrganizationConfigurationReference as _OrganizationConfigurationReference_4519b145,
95
+ PolicyAssociationReference as _PolicyAssociationReference_e2a78f89,
96
+ ProductSubscriptionReference as _ProductSubscriptionReference_8296053d,
97
+ SecurityControlReference as _SecurityControlReference_fdd0de23,
98
+ StandardReference as _StandardReference_2d34fa7e,
99
+ )
100
+
101
+
102
+ @jsii.implements(_IInspectable_c2943556, _IAggregatorV2Ref_af56713f, _ITaggableV2_4e6798f8)
103
+ class CfnAggregatorV2(
104
+ _CfnResource_9df397a6,
105
+ metaclass=jsii.JSIIMeta,
106
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnAggregatorV2",
107
+ ):
108
+ '''Enables aggregation across AWS Regions .
109
+
110
+ This API is in public preview and subject to change.
111
+
112
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-aggregatorv2.html
113
+ :cloudformationResource: AWS::SecurityHub::AggregatorV2
114
+ :exampleMetadata: fixture=_generated
115
+
116
+ Example::
117
+
118
+ # The code below shows an example of how to instantiate this type.
119
+ # The values are placeholders you should change.
120
+ from aws_cdk import aws_securityhub as securityhub
121
+
122
+ cfn_aggregator_v2 = securityhub.CfnAggregatorV2(self, "MyCfnAggregatorV2",
123
+ linked_regions=["linkedRegions"],
124
+ region_linking_mode="regionLinkingMode",
125
+
126
+ # the properties below are optional
127
+ tags={
128
+ "tags_key": "tags"
129
+ }
130
+ )
131
+ '''
132
+
133
+ def __init__(
134
+ self,
135
+ scope: _constructs_77d1e7e8.Construct,
136
+ id: builtins.str,
137
+ *,
138
+ linked_regions: typing.Sequence[builtins.str],
139
+ region_linking_mode: builtins.str,
140
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
141
+ ) -> None:
142
+ '''Create a new ``AWS::SecurityHub::AggregatorV2``.
143
+
144
+ :param scope: Scope in which this resource is defined.
145
+ :param id: Construct identifier for this resource (unique in its scope).
146
+ :param linked_regions: The list of Regions that are linked to the aggregation Region.
147
+ :param region_linking_mode: Determines how Regions are linked to an Aggregator V2.
148
+ :param tags: A list of key-value pairs to be applied to the AggregatorV2.
149
+ '''
150
+ if __debug__:
151
+ type_hints = typing.get_type_hints(_typecheckingstub__a48a2a082be753c7ff9a23ae8720fc6090537bc7754b3949c569c91cc2d97185)
152
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
153
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
154
+ props = CfnAggregatorV2Props(
155
+ linked_regions=linked_regions,
156
+ region_linking_mode=region_linking_mode,
157
+ tags=tags,
158
+ )
159
+
160
+ jsii.create(self.__class__, self, [scope, id, props])
161
+
162
+ @jsii.member(jsii_name="inspect")
163
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
164
+ '''Examines the CloudFormation resource and discloses attributes.
165
+
166
+ :param inspector: tree inspector to collect and process attributes.
167
+ '''
168
+ if __debug__:
169
+ type_hints = typing.get_type_hints(_typecheckingstub__faa540694e43a0e61feeb3f53848b1f6e9494b6ed7da21b25aac134881132c39)
170
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
171
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
172
+
173
+ @jsii.member(jsii_name="renderProperties")
174
+ def _render_properties(
175
+ self,
176
+ props: typing.Mapping[builtins.str, typing.Any],
177
+ ) -> typing.Mapping[builtins.str, typing.Any]:
178
+ '''
179
+ :param props: -
180
+ '''
181
+ if __debug__:
182
+ type_hints = typing.get_type_hints(_typecheckingstub__e6872b5e370c8e8f4d83602fa651c03fde81b36e7c5bc3b28fa097f66a87ee66)
183
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
184
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
185
+
186
+ @jsii.python.classproperty
187
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
188
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
189
+ '''The CloudFormation resource type name for this resource class.'''
190
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
191
+
192
+ @builtins.property
193
+ @jsii.member(jsii_name="aggregatorV2Ref")
194
+ def aggregator_v2_ref(self) -> _AggregatorV2Reference_a3d3e7bc:
195
+ '''A reference to a AggregatorV2 resource.'''
196
+ return typing.cast(_AggregatorV2Reference_a3d3e7bc, jsii.get(self, "aggregatorV2Ref"))
197
+
198
+ @builtins.property
199
+ @jsii.member(jsii_name="attrAggregationRegion")
200
+ def attr_aggregation_region(self) -> builtins.str:
201
+ '''The AWS Region where data is aggregated.
202
+
203
+ :cloudformationAttribute: AggregationRegion
204
+ '''
205
+ return typing.cast(builtins.str, jsii.get(self, "attrAggregationRegion"))
206
+
207
+ @builtins.property
208
+ @jsii.member(jsii_name="attrAggregatorV2Arn")
209
+ def attr_aggregator_v2_arn(self) -> builtins.str:
210
+ '''The ARN of the AggregatorV2.
211
+
212
+ :cloudformationAttribute: AggregatorV2Arn
213
+ '''
214
+ return typing.cast(builtins.str, jsii.get(self, "attrAggregatorV2Arn"))
215
+
216
+ @builtins.property
217
+ @jsii.member(jsii_name="cdkTagManager")
218
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
219
+ '''Tag Manager which manages the tags for this resource.'''
220
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
221
+
222
+ @builtins.property
223
+ @jsii.member(jsii_name="cfnProperties")
224
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
225
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
226
+
227
+ @builtins.property
228
+ @jsii.member(jsii_name="linkedRegions")
229
+ def linked_regions(self) -> typing.List[builtins.str]:
230
+ '''The list of Regions that are linked to the aggregation Region.'''
231
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "linkedRegions"))
232
+
233
+ @linked_regions.setter
234
+ def linked_regions(self, value: typing.List[builtins.str]) -> None:
235
+ if __debug__:
236
+ type_hints = typing.get_type_hints(_typecheckingstub__73719aabf2def1251bbcce62564af2561a7db568f2cc383d665c93c84e03855c)
237
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
238
+ jsii.set(self, "linkedRegions", value) # pyright: ignore[reportArgumentType]
239
+
240
+ @builtins.property
241
+ @jsii.member(jsii_name="regionLinkingMode")
242
+ def region_linking_mode(self) -> builtins.str:
243
+ '''Determines how Regions are linked to an Aggregator V2.'''
244
+ return typing.cast(builtins.str, jsii.get(self, "regionLinkingMode"))
245
+
246
+ @region_linking_mode.setter
247
+ def region_linking_mode(self, value: builtins.str) -> None:
248
+ if __debug__:
249
+ type_hints = typing.get_type_hints(_typecheckingstub__3f12f6fa7491c9cf6429ed03592fa2e0b84dd1df61b65fe9caf3ffa327ed324f)
250
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
251
+ jsii.set(self, "regionLinkingMode", value) # pyright: ignore[reportArgumentType]
252
+
253
+ @builtins.property
254
+ @jsii.member(jsii_name="tags")
255
+ def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
256
+ '''A list of key-value pairs to be applied to the AggregatorV2.'''
257
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], jsii.get(self, "tags"))
258
+
259
+ @tags.setter
260
+ def tags(
261
+ self,
262
+ value: typing.Optional[typing.Mapping[builtins.str, builtins.str]],
263
+ ) -> None:
264
+ if __debug__:
265
+ type_hints = typing.get_type_hints(_typecheckingstub__e47a206d80ca672182e6fba3a9c614bda1d391a22aa37078d5b442ce9858a656)
266
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
267
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
268
+
269
+
270
+ @jsii.data_type(
271
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnAggregatorV2Props",
272
+ jsii_struct_bases=[],
273
+ name_mapping={
274
+ "linked_regions": "linkedRegions",
275
+ "region_linking_mode": "regionLinkingMode",
276
+ "tags": "tags",
277
+ },
278
+ )
279
+ class CfnAggregatorV2Props:
280
+ def __init__(
281
+ self,
282
+ *,
283
+ linked_regions: typing.Sequence[builtins.str],
284
+ region_linking_mode: builtins.str,
285
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
286
+ ) -> None:
287
+ '''Properties for defining a ``CfnAggregatorV2``.
288
+
289
+ :param linked_regions: The list of Regions that are linked to the aggregation Region.
290
+ :param region_linking_mode: Determines how Regions are linked to an Aggregator V2.
291
+ :param tags: A list of key-value pairs to be applied to the AggregatorV2.
292
+
293
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-aggregatorv2.html
294
+ :exampleMetadata: fixture=_generated
295
+
296
+ Example::
297
+
298
+ # The code below shows an example of how to instantiate this type.
299
+ # The values are placeholders you should change.
300
+ from aws_cdk import aws_securityhub as securityhub
301
+
302
+ cfn_aggregator_v2_props = securityhub.CfnAggregatorV2Props(
303
+ linked_regions=["linkedRegions"],
304
+ region_linking_mode="regionLinkingMode",
305
+
306
+ # the properties below are optional
307
+ tags={
308
+ "tags_key": "tags"
309
+ }
310
+ )
311
+ '''
312
+ if __debug__:
313
+ type_hints = typing.get_type_hints(_typecheckingstub__ba603e1d6925ab7babf45e555f2f6c66e3573a9e5841cd7b5ebf0d444664667e)
314
+ check_type(argname="argument linked_regions", value=linked_regions, expected_type=type_hints["linked_regions"])
315
+ check_type(argname="argument region_linking_mode", value=region_linking_mode, expected_type=type_hints["region_linking_mode"])
316
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
317
+ self._values: typing.Dict[builtins.str, typing.Any] = {
318
+ "linked_regions": linked_regions,
319
+ "region_linking_mode": region_linking_mode,
320
+ }
321
+ if tags is not None:
322
+ self._values["tags"] = tags
323
+
324
+ @builtins.property
325
+ def linked_regions(self) -> typing.List[builtins.str]:
326
+ '''The list of Regions that are linked to the aggregation Region.
327
+
328
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-aggregatorv2.html#cfn-securityhub-aggregatorv2-linkedregions
329
+ '''
330
+ result = self._values.get("linked_regions")
331
+ assert result is not None, "Required property 'linked_regions' is missing"
332
+ return typing.cast(typing.List[builtins.str], result)
333
+
334
+ @builtins.property
335
+ def region_linking_mode(self) -> builtins.str:
336
+ '''Determines how Regions are linked to an Aggregator V2.
337
+
338
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-aggregatorv2.html#cfn-securityhub-aggregatorv2-regionlinkingmode
339
+ '''
340
+ result = self._values.get("region_linking_mode")
341
+ assert result is not None, "Required property 'region_linking_mode' is missing"
342
+ return typing.cast(builtins.str, result)
343
+
344
+ @builtins.property
345
+ def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
346
+ '''A list of key-value pairs to be applied to the AggregatorV2.
347
+
348
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-aggregatorv2.html#cfn-securityhub-aggregatorv2-tags
349
+ '''
350
+ result = self._values.get("tags")
351
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
352
+
353
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
354
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
355
+
356
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
357
+ return not (rhs == self)
358
+
359
+ def __repr__(self) -> str:
360
+ return "CfnAggregatorV2Props(%s)" % ", ".join(
361
+ k + "=" + repr(v) for k, v in self._values.items()
362
+ )
70
363
 
71
364
 
72
- @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
365
+ @jsii.implements(_IInspectable_c2943556, _IAutomationRuleRef_87633460, _ITaggableV2_4e6798f8)
73
366
  class CfnAutomationRule(
74
367
  _CfnResource_9df397a6,
75
368
  metaclass=jsii.JSIIMeta,
@@ -77,7 +370,7 @@ class CfnAutomationRule(
77
370
  ):
78
371
  '''The ``AWS::SecurityHub::AutomationRule`` resource specifies an automation rule based on input parameters.
79
372
 
80
- For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *AWS Security Hub User Guide* .
373
+ For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *Security Hub User Guide* .
81
374
 
82
375
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrule.html
83
376
  :cloudformationResource: AWS::SecurityHub::AutomationRule
@@ -89,9 +382,6 @@ class CfnAutomationRule(
89
382
  # The values are placeholders you should change.
90
383
  from aws_cdk import aws_securityhub as securityhub
91
384
 
92
- # id: Any
93
- # updated_by: Any
94
-
95
385
  cfn_automation_rule = securityhub.CfnAutomationRule(self, "MyCfnAutomationRule",
96
386
  actions=[securityhub.CfnAutomationRule.AutomationRulesActionProperty(
97
387
  finding_fields_update=securityhub.CfnAutomationRule.AutomationRulesFindingFieldsUpdateProperty(
@@ -99,10 +389,10 @@ class CfnAutomationRule(
99
389
  criticality=123,
100
390
  note=securityhub.CfnAutomationRule.NoteUpdateProperty(
101
391
  text="text",
102
- updated_by=updated_by
392
+ updated_by="updatedBy"
103
393
  ),
104
394
  related_findings=[securityhub.CfnAutomationRule.RelatedFindingProperty(
105
- id=id,
395
+ id="id",
106
396
  product_arn="productArn"
107
397
  )],
108
398
  severity=securityhub.CfnAutomationRule.SeverityUpdateProperty(
@@ -315,7 +605,8 @@ class CfnAutomationRule(
315
605
  rule_status: typing.Optional[builtins.str] = None,
316
606
  tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
317
607
  ) -> None:
318
- '''
608
+ '''Create a new ``AWS::SecurityHub::AutomationRule``.
609
+
319
610
  :param scope: Scope in which this resource is defined.
320
611
  :param id: Construct identifier for this resource (unique in its scope).
321
612
  :param actions: One or more actions to update finding fields if a finding matches the conditions specified in ``Criteria`` .
@@ -418,6 +709,12 @@ class CfnAutomationRule(
418
709
  '''
419
710
  return typing.cast(builtins.str, jsii.get(self, "attrUpdatedAt"))
420
711
 
712
+ @builtins.property
713
+ @jsii.member(jsii_name="automationRuleRef")
714
+ def automation_rule_ref(self) -> _AutomationRuleReference_840d6e74:
715
+ '''A reference to a AutomationRule resource.'''
716
+ return typing.cast(_AutomationRuleReference_840d6e74, jsii.get(self, "automationRuleRef"))
717
+
421
718
  @builtins.property
422
719
  @jsii.member(jsii_name="cdkTagManager")
423
720
  def cdk_tag_manager(self) -> _TagManager_0a598cb3:
@@ -563,7 +860,7 @@ class CfnAutomationRule(
563
860
  finding_fields_update: typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRule.AutomationRulesFindingFieldsUpdateProperty", typing.Dict[builtins.str, typing.Any]]],
564
861
  type: builtins.str,
565
862
  ) -> None:
566
- '''One or more actions that AWS Security Hub takes when a finding matches the defined criteria of a rule.
863
+ '''One or more actions that Security Hub takes when a finding matches the defined criteria of a rule.
567
864
 
568
865
  :param finding_fields_update: Specifies that the automation rule action is an update to a finding field.
569
866
  :param type: Specifies the type of action that Security Hub takes when a finding matches the defined criteria of a rule.
@@ -577,19 +874,16 @@ class CfnAutomationRule(
577
874
  # The values are placeholders you should change.
578
875
  from aws_cdk import aws_securityhub as securityhub
579
876
 
580
- # id: Any
581
- # updated_by: Any
582
-
583
877
  automation_rules_action_property = securityhub.CfnAutomationRule.AutomationRulesActionProperty(
584
878
  finding_fields_update=securityhub.CfnAutomationRule.AutomationRulesFindingFieldsUpdateProperty(
585
879
  confidence=123,
586
880
  criticality=123,
587
881
  note=securityhub.CfnAutomationRule.NoteUpdateProperty(
588
882
  text="text",
589
- updated_by=updated_by
883
+ updated_by="updatedBy"
590
884
  ),
591
885
  related_findings=[securityhub.CfnAutomationRule.RelatedFindingProperty(
592
- id=id,
886
+ id="id",
593
887
  product_arn="productArn"
594
888
  )],
595
889
  severity=securityhub.CfnAutomationRule.SeverityUpdateProperty(
@@ -701,18 +995,15 @@ class CfnAutomationRule(
701
995
  # The values are placeholders you should change.
702
996
  from aws_cdk import aws_securityhub as securityhub
703
997
 
704
- # id: Any
705
- # updated_by: Any
706
-
707
998
  automation_rules_finding_fields_update_property = securityhub.CfnAutomationRule.AutomationRulesFindingFieldsUpdateProperty(
708
999
  confidence=123,
709
1000
  criticality=123,
710
1001
  note=securityhub.CfnAutomationRule.NoteUpdateProperty(
711
1002
  text="text",
712
- updated_by=updated_by
1003
+ updated_by="updatedBy"
713
1004
  ),
714
1005
  related_findings=[securityhub.CfnAutomationRule.RelatedFindingProperty(
715
- id=id,
1006
+ id="id",
716
1007
  product_arn="productArn"
717
1008
  )],
718
1009
  severity=securityhub.CfnAutomationRule.SeverityUpdateProperty(
@@ -951,16 +1242,16 @@ class CfnAutomationRule(
951
1242
  :param compliance_associated_standards_id: The unique identifier of a standard in which a control is enabled. This field consists of the resource portion of the Amazon Resource Name (ARN) returned for a standard in the `DescribeStandards <https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_DescribeStandards.html>`_ API response. Array Members: Minimum number of 1 item. Maximum number of 20 items.
952
1243
  :param compliance_security_control_id: The security control ID for which a finding was generated. Security control IDs are the same across standards. Array Members: Minimum number of 1 item. Maximum number of 20 items.
953
1244
  :param compliance_status: The result of a security check. This field is only used for findings generated from controls. Array Members: Minimum number of 1 item. Maximum number of 20 items.
954
- :param confidence: The likelihood that a finding accurately identifies the behavior or issue that it was intended to identify. ``Confidence`` is scored on a 0–100 basis using a ratio scale. A value of ``0`` means 0 percent confidence, and a value of ``100`` means 100 percent confidence. For example, a data exfiltration detection based on a statistical deviation of network traffic has low confidence because an actual exfiltration hasn't been verified. For more information, see `Confidence <https://docs.aws.amazon.com/securityhub/latest/userguide/asff-top-level-attributes.html#asff-confidence>`_ in the *AWS Security Hub User Guide* . Array Members: Minimum number of 1 item. Maximum number of 20 items.
955
- :param created_at: A timestamp that indicates when this finding record was created. For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ . Array Members: Minimum number of 1 item. Maximum number of 20 items.
956
- :param criticality: The level of importance that is assigned to the resources that are associated with a finding. ``Criticality`` is scored on a 0–100 basis, using a ratio scale that supports only full integers. A score of ``0`` means that the underlying resources have no criticality, and a score of ``100`` is reserved for the most critical resources. For more information, see `Criticality <https://docs.aws.amazon.com/securityhub/latest/userguide/asff-top-level-attributes.html#asff-criticality>`_ in the *AWS Security Hub User Guide* . Array Members: Minimum number of 1 item. Maximum number of 20 items.
1245
+ :param confidence: The likelihood that a finding accurately identifies the behavior or issue that it was intended to identify. ``Confidence`` is scored on a 0–100 basis using a ratio scale. A value of ``0`` means 0 percent confidence, and a value of ``100`` means 100 percent confidence. For example, a data exfiltration detection based on a statistical deviation of network traffic has low confidence because an actual exfiltration hasn't been verified. For more information, see `Confidence <https://docs.aws.amazon.com/securityhub/latest/userguide/asff-top-level-attributes.html#asff-confidence>`_ in the *Security Hub User Guide* . Array Members: Minimum number of 1 item. Maximum number of 20 items.
1246
+ :param created_at: A timestamp that indicates when this finding record was created. For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ . Array Members: Minimum number of 1 item. Maximum number of 20 items.
1247
+ :param criticality: The level of importance that is assigned to the resources that are associated with a finding. ``Criticality`` is scored on a 0–100 basis, using a ratio scale that supports only full integers. A score of ``0`` means that the underlying resources have no criticality, and a score of ``100`` is reserved for the most critical resources. For more information, see `Criticality <https://docs.aws.amazon.com/securityhub/latest/userguide/asff-top-level-attributes.html#asff-criticality>`_ in the *Security Hub User Guide* . Array Members: Minimum number of 1 item. Maximum number of 20 items.
957
1248
  :param description: A finding's description. Array Members: Minimum number of 1 item. Maximum number of 20 items.
958
- :param first_observed_at: A timestamp that indicates when the potential security issue captured by a finding was first observed by the security findings product. For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ . Array Members: Minimum number of 1 item. Maximum number of 20 items.
1249
+ :param first_observed_at: A timestamp that indicates when the potential security issue captured by a finding was first observed by the security findings product. For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ . Array Members: Minimum number of 1 item. Maximum number of 20 items.
959
1250
  :param generator_id: The identifier for the solution-specific component that generated a finding. Array Members: Minimum number of 1 item. Maximum number of 100 items.
960
1251
  :param id: The product-specific identifier for a finding. Array Members: Minimum number of 1 item. Maximum number of 20 items.
961
- :param last_observed_at: A timestamp that indicates when the security findings provider most recently observed a change in the resource that is involved in the finding. For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ . Array Members: Minimum number of 1 item. Maximum number of 20 items.
1252
+ :param last_observed_at: A timestamp that indicates when the security findings provider most recently observed a change in the resource that is involved in the finding. For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ . Array Members: Minimum number of 1 item. Maximum number of 20 items.
962
1253
  :param note_text: The text of a user-defined note that's added to a finding. Array Members: Minimum number of 1 item. Maximum number of 20 items.
963
- :param note_updated_at: The timestamp of when the note was updated. For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ . Array Members: Minimum number of 1 item. Maximum number of 20 items.
1254
+ :param note_updated_at: The timestamp of when the note was updated. For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ . Array Members: Minimum number of 1 item. Maximum number of 20 items.
964
1255
  :param note_updated_by: The principal that created a note. Array Members: Minimum number of 1 item. Maximum number of 20 items.
965
1256
  :param product_arn: The Amazon Resource Name (ARN) for a third-party product that generated a finding in Security Hub. Array Members: Minimum number of 1 item. Maximum number of 20 items.
966
1257
  :param product_name: Provides the name of the product that generated the finding. For control-based findings, the product name is Security Hub. Array Members: Minimum number of 1 item. Maximum number of 20 items.
@@ -976,8 +1267,8 @@ class CfnAutomationRule(
976
1267
  :param severity_label: The severity value of the finding. Array Members: Minimum number of 1 item. Maximum number of 20 items.
977
1268
  :param source_url: Provides a URL that links to a page about the current finding in the finding product. Array Members: Minimum number of 1 item. Maximum number of 20 items.
978
1269
  :param title: A finding's title. Array Members: Minimum number of 1 item. Maximum number of 100 items.
979
- :param type: One or more finding types in the format of namespace/category/classifier that classify a finding. For a list of namespaces, classifiers, and categories, see `Types taxonomy for ASFF <https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-format-type-taxonomy.html>`_ in the *AWS Security Hub User Guide* . Array Members: Minimum number of 1 item. Maximum number of 20 items.
980
- :param updated_at: A timestamp that indicates when the finding record was most recently updated. For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ . Array Members: Minimum number of 1 item. Maximum number of 20 items.
1270
+ :param type: One or more finding types in the format of namespace/category/classifier that classify a finding. For a list of namespaces, classifiers, and categories, see `Types taxonomy for ASFF <https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-format-type-taxonomy.html>`_ in the *Security Hub User Guide* . Array Members: Minimum number of 1 item. Maximum number of 20 items.
1271
+ :param updated_at: A timestamp that indicates when the finding record was most recently updated. For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ . Array Members: Minimum number of 1 item. Maximum number of 20 items.
981
1272
  :param user_defined_fields: A list of user-defined name and value string pairs added to a finding. Array Members: Minimum number of 1 item. Maximum number of 20 items.
982
1273
  :param verification_state: Provides the veracity of a finding. Array Members: Minimum number of 1 item. Maximum number of 20 items.
983
1274
  :param workflow_status: Provides information about the status of the investigation into a finding. Array Members: Minimum number of 1 item. Maximum number of 20 items.
@@ -1343,7 +1634,7 @@ class CfnAutomationRule(
1343
1634
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRule.NumberFilterProperty"]]]]:
1344
1635
  '''The likelihood that a finding accurately identifies the behavior or issue that it was intended to identify.
1345
1636
 
1346
- ``Confidence`` is scored on a 0–100 basis using a ratio scale. A value of ``0`` means 0 percent confidence, and a value of ``100`` means 100 percent confidence. For example, a data exfiltration detection based on a statistical deviation of network traffic has low confidence because an actual exfiltration hasn't been verified. For more information, see `Confidence <https://docs.aws.amazon.com/securityhub/latest/userguide/asff-top-level-attributes.html#asff-confidence>`_ in the *AWS Security Hub User Guide* .
1637
+ ``Confidence`` is scored on a 0–100 basis using a ratio scale. A value of ``0`` means 0 percent confidence, and a value of ``100`` means 100 percent confidence. For example, a data exfiltration detection based on a statistical deviation of network traffic has low confidence because an actual exfiltration hasn't been verified. For more information, see `Confidence <https://docs.aws.amazon.com/securityhub/latest/userguide/asff-top-level-attributes.html#asff-confidence>`_ in the *Security Hub User Guide* .
1347
1638
 
1348
1639
  Array Members: Minimum number of 1 item. Maximum number of 20 items.
1349
1640
 
@@ -1358,7 +1649,7 @@ class CfnAutomationRule(
1358
1649
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRule.DateFilterProperty"]]]]:
1359
1650
  '''A timestamp that indicates when this finding record was created.
1360
1651
 
1361
- For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
1652
+ For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
1362
1653
 
1363
1654
  Array Members: Minimum number of 1 item. Maximum number of 20 items.
1364
1655
 
@@ -1373,7 +1664,7 @@ class CfnAutomationRule(
1373
1664
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRule.NumberFilterProperty"]]]]:
1374
1665
  '''The level of importance that is assigned to the resources that are associated with a finding.
1375
1666
 
1376
- ``Criticality`` is scored on a 0–100 basis, using a ratio scale that supports only full integers. A score of ``0`` means that the underlying resources have no criticality, and a score of ``100`` is reserved for the most critical resources. For more information, see `Criticality <https://docs.aws.amazon.com/securityhub/latest/userguide/asff-top-level-attributes.html#asff-criticality>`_ in the *AWS Security Hub User Guide* .
1667
+ ``Criticality`` is scored on a 0–100 basis, using a ratio scale that supports only full integers. A score of ``0`` means that the underlying resources have no criticality, and a score of ``100`` is reserved for the most critical resources. For more information, see `Criticality <https://docs.aws.amazon.com/securityhub/latest/userguide/asff-top-level-attributes.html#asff-criticality>`_ in the *Security Hub User Guide* .
1377
1668
 
1378
1669
  Array Members: Minimum number of 1 item. Maximum number of 20 items.
1379
1670
 
@@ -1401,7 +1692,7 @@ class CfnAutomationRule(
1401
1692
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRule.DateFilterProperty"]]]]:
1402
1693
  '''A timestamp that indicates when the potential security issue captured by a finding was first observed by the security findings product.
1403
1694
 
1404
- For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
1695
+ For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
1405
1696
 
1406
1697
  Array Members: Minimum number of 1 item. Maximum number of 20 items.
1407
1698
 
@@ -1442,7 +1733,7 @@ class CfnAutomationRule(
1442
1733
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRule.DateFilterProperty"]]]]:
1443
1734
  '''A timestamp that indicates when the security findings provider most recently observed a change in the resource that is involved in the finding.
1444
1735
 
1445
- For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
1736
+ For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
1446
1737
 
1447
1738
  Array Members: Minimum number of 1 item. Maximum number of 20 items.
1448
1739
 
@@ -1470,7 +1761,7 @@ class CfnAutomationRule(
1470
1761
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRule.DateFilterProperty"]]]]:
1471
1762
  '''The timestamp of when the note was updated.
1472
1763
 
1473
- For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
1764
+ For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
1474
1765
 
1475
1766
  Array Members: Minimum number of 1 item. Maximum number of 20 items.
1476
1767
 
@@ -1684,7 +1975,7 @@ class CfnAutomationRule(
1684
1975
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRule.StringFilterProperty"]]]]:
1685
1976
  '''One or more finding types in the format of namespace/category/classifier that classify a finding.
1686
1977
 
1687
- For a list of namespaces, classifiers, and categories, see `Types taxonomy for ASFF <https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-format-type-taxonomy.html>`_ in the *AWS Security Hub User Guide* .
1978
+ For a list of namespaces, classifiers, and categories, see `Types taxonomy for ASFF <https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-format-type-taxonomy.html>`_ in the *Security Hub User Guide* .
1688
1979
 
1689
1980
  Array Members: Minimum number of 1 item. Maximum number of 20 items.
1690
1981
 
@@ -1699,7 +1990,7 @@ class CfnAutomationRule(
1699
1990
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRule.DateFilterProperty"]]]]:
1700
1991
  '''A timestamp that indicates when the finding record was most recently updated.
1701
1992
 
1702
- For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
1993
+ For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
1703
1994
 
1704
1995
  Array Members: Minimum number of 1 item. Maximum number of 20 items.
1705
1996
 
@@ -1774,8 +2065,8 @@ class CfnAutomationRule(
1774
2065
  '''A date filter for querying findings.
1775
2066
 
1776
2067
  :param date_range: A date range for the date filter.
1777
- :param end: A timestamp that provides the end date for the date filter. For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
1778
- :param start: A timestamp that provides the start date for the date filter. For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
2068
+ :param end: A timestamp that provides the end date for the date filter. For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
2069
+ :param start: A timestamp that provides the start date for the date filter. For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
1779
2070
 
1780
2071
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-datefilter.html
1781
2072
  :exampleMetadata: fixture=_generated
@@ -1823,7 +2114,7 @@ class CfnAutomationRule(
1823
2114
  def end(self) -> typing.Optional[builtins.str]:
1824
2115
  '''A timestamp that provides the end date for the date filter.
1825
2116
 
1826
- For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
2117
+ For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
1827
2118
 
1828
2119
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-datefilter.html#cfn-securityhub-automationrule-datefilter-end
1829
2120
  '''
@@ -1834,7 +2125,7 @@ class CfnAutomationRule(
1834
2125
  def start(self) -> typing.Optional[builtins.str]:
1835
2126
  '''A timestamp that provides the start date for the date filter.
1836
2127
 
1837
- For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
2128
+ For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
1838
2129
 
1839
2130
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-datefilter.html#cfn-securityhub-automationrule-datefilter-start
1840
2131
  '''
@@ -1931,11 +2222,11 @@ class CfnAutomationRule(
1931
2222
  key: builtins.str,
1932
2223
  value: builtins.str,
1933
2224
  ) -> None:
1934
- '''A map filter for filtering AWS Security Hub findings.
2225
+ '''A map filter for filtering Security Hub findings.
1935
2226
 
1936
2227
  Each map filter provides the field to check for, the value to check for, and the comparison operator.
1937
2228
 
1938
- :param comparison: The condition to apply to the key value when filtering Security Hub findings with a map filter. To search for values that have the filter value, use one of the following comparison operators: - To search for values that include the filter value, use ``CONTAINS`` . For example, for the ``ResourceTags`` field, the filter ``Department CONTAINS Security`` matches findings that include the value ``Security`` for the ``Department`` tag. In the same example, a finding with a value of ``Security team`` for the ``Department`` tag is a match. - To search for values that exactly match the filter value, use ``EQUALS`` . For example, for the ``ResourceTags`` field, the filter ``Department EQUALS Security`` matches findings that have the value ``Security`` for the ``Department`` tag. ``CONTAINS`` and ``EQUALS`` filters on the same field are joined by ``OR`` . A finding matches if it matches any one of those filters. For example, the filters ``Department CONTAINS Security OR Department CONTAINS Finance`` match a finding that includes either ``Security`` , ``Finance`` , or both values. To search for values that don't have the filter value, use one of the following comparison operators: - To search for values that exclude the filter value, use ``NOT_CONTAINS`` . For example, for the ``ResourceTags`` field, the filter ``Department NOT_CONTAINS Finance`` matches findings that exclude the value ``Finance`` for the ``Department`` tag. - To search for values other than the filter value, use ``NOT_EQUALS`` . For example, for the ``ResourceTags`` field, the filter ``Department NOT_EQUALS Finance`` matches findings that don’t have the value ``Finance`` for the ``Department`` tag. ``NOT_CONTAINS`` and ``NOT_EQUALS`` filters on the same field are joined by ``AND`` . A finding matches only if it matches all of those filters. For example, the filters ``Department NOT_CONTAINS Security AND Department NOT_CONTAINS Finance`` match a finding that excludes both the ``Security`` and ``Finance`` values. ``CONTAINS`` filters can only be used with other ``CONTAINS`` filters. ``NOT_CONTAINS`` filters can only be used with other ``NOT_CONTAINS`` filters. You can’t have both a ``CONTAINS`` filter and a ``NOT_CONTAINS`` filter on the same field. Similarly, you can’t have both an ``EQUALS`` filter and a ``NOT_EQUALS`` filter on the same field. Combining filters in this way returns an error. ``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *AWS Security Hub User Guide* .
2229
+ :param comparison: The condition to apply to the key value when filtering Security Hub findings with a map filter. To search for values that have the filter value, use one of the following comparison operators: - To search for values that include the filter value, use ``CONTAINS`` . For example, for the ``ResourceTags`` field, the filter ``Department CONTAINS Security`` matches findings that include the value ``Security`` for the ``Department`` tag. In the same example, a finding with a value of ``Security team`` for the ``Department`` tag is a match. - To search for values that exactly match the filter value, use ``EQUALS`` . For example, for the ``ResourceTags`` field, the filter ``Department EQUALS Security`` matches findings that have the value ``Security`` for the ``Department`` tag. ``CONTAINS`` and ``EQUALS`` filters on the same field are joined by ``OR`` . A finding matches if it matches any one of those filters. For example, the filters ``Department CONTAINS Security OR Department CONTAINS Finance`` match a finding that includes either ``Security`` , ``Finance`` , or both values. To search for values that don't have the filter value, use one of the following comparison operators: - To search for values that exclude the filter value, use ``NOT_CONTAINS`` . For example, for the ``ResourceTags`` field, the filter ``Department NOT_CONTAINS Finance`` matches findings that exclude the value ``Finance`` for the ``Department`` tag. - To search for values other than the filter value, use ``NOT_EQUALS`` . For example, for the ``ResourceTags`` field, the filter ``Department NOT_EQUALS Finance`` matches findings that don’t have the value ``Finance`` for the ``Department`` tag. ``NOT_CONTAINS`` and ``NOT_EQUALS`` filters on the same field are joined by ``AND`` . A finding matches only if it matches all of those filters. For example, the filters ``Department NOT_CONTAINS Security AND Department NOT_CONTAINS Finance`` match a finding that excludes both the ``Security`` and ``Finance`` values. ``CONTAINS`` filters can only be used with other ``CONTAINS`` filters. ``NOT_CONTAINS`` filters can only be used with other ``NOT_CONTAINS`` filters. You can’t have both a ``CONTAINS`` filter and a ``NOT_CONTAINS`` filter on the same field. Similarly, you can’t have both an ``EQUALS`` filter and a ``NOT_EQUALS`` filter on the same field. Combining filters in this way returns an error. ``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *Security Hub User Guide* .
1939
2230
  :param key: The key of the map filter. For example, for ``ResourceTags`` , ``Key`` identifies the name of the tag. For ``UserDefinedFields`` , ``Key`` is the name of the field.
1940
2231
  :param value: The value for the key in the map filter. Filter values are case sensitive. For example, one of the values for a tag called ``Department`` might be ``Security`` . If you provide ``security`` as the filter value, then there's no match.
1941
2232
 
@@ -1987,7 +2278,7 @@ class CfnAutomationRule(
1987
2278
 
1988
2279
  You can’t have both a ``CONTAINS`` filter and a ``NOT_CONTAINS`` filter on the same field. Similarly, you can’t have both an ``EQUALS`` filter and a ``NOT_EQUALS`` filter on the same field. Combining filters in this way returns an error.
1989
2280
 
1990
- ``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *AWS Security Hub User Guide* .
2281
+ ``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *Security Hub User Guide* .
1991
2282
 
1992
2283
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-mapfilter.html#cfn-securityhub-automationrule-mapfilter-comparison
1993
2284
  '''
@@ -2036,7 +2327,7 @@ class CfnAutomationRule(
2036
2327
  name_mapping={"text": "text", "updated_by": "updatedBy"},
2037
2328
  )
2038
2329
  class NoteUpdateProperty:
2039
- def __init__(self, *, text: builtins.str, updated_by: typing.Any) -> None:
2330
+ def __init__(self, *, text: builtins.str, updated_by: builtins.str) -> None:
2040
2331
  '''The updated note.
2041
2332
 
2042
2333
  :param text: The updated note text.
@@ -2051,11 +2342,9 @@ class CfnAutomationRule(
2051
2342
  # The values are placeholders you should change.
2052
2343
  from aws_cdk import aws_securityhub as securityhub
2053
2344
 
2054
- # updated_by: Any
2055
-
2056
2345
  note_update_property = securityhub.CfnAutomationRule.NoteUpdateProperty(
2057
2346
  text="text",
2058
- updated_by=updated_by
2347
+ updated_by="updatedBy"
2059
2348
  )
2060
2349
  '''
2061
2350
  if __debug__:
@@ -2078,14 +2367,14 @@ class CfnAutomationRule(
2078
2367
  return typing.cast(builtins.str, result)
2079
2368
 
2080
2369
  @builtins.property
2081
- def updated_by(self) -> typing.Any:
2370
+ def updated_by(self) -> builtins.str:
2082
2371
  '''The principal that updated the note.
2083
2372
 
2084
2373
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-noteupdate.html#cfn-securityhub-automationrule-noteupdate-updatedby
2085
2374
  '''
2086
2375
  result = self._values.get("updated_by")
2087
2376
  assert result is not None, "Required property 'updated_by' is missing"
2088
- return typing.cast(typing.Any, result)
2377
+ return typing.cast(builtins.str, result)
2089
2378
 
2090
2379
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
2091
2380
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -2189,7 +2478,7 @@ class CfnAutomationRule(
2189
2478
  name_mapping={"id": "id", "product_arn": "productArn"},
2190
2479
  )
2191
2480
  class RelatedFindingProperty:
2192
- def __init__(self, *, id: typing.Any, product_arn: builtins.str) -> None:
2481
+ def __init__(self, *, id: builtins.str, product_arn: builtins.str) -> None:
2193
2482
  '''Provides details about a list of findings that the current finding relates to.
2194
2483
 
2195
2484
  :param id: The product-generated identifier for a related finding. Array Members: Minimum number of 1 item. Maximum number of 20 items.
@@ -2204,10 +2493,8 @@ class CfnAutomationRule(
2204
2493
  # The values are placeholders you should change.
2205
2494
  from aws_cdk import aws_securityhub as securityhub
2206
2495
 
2207
- # id: Any
2208
-
2209
2496
  related_finding_property = securityhub.CfnAutomationRule.RelatedFindingProperty(
2210
- id=id,
2497
+ id="id",
2211
2498
  product_arn="productArn"
2212
2499
  )
2213
2500
  '''
@@ -2221,7 +2508,7 @@ class CfnAutomationRule(
2221
2508
  }
2222
2509
 
2223
2510
  @builtins.property
2224
- def id(self) -> typing.Any:
2511
+ def id(self) -> builtins.str:
2225
2512
  '''The product-generated identifier for a related finding.
2226
2513
 
2227
2514
  Array Members: Minimum number of 1 item. Maximum number of 20 items.
@@ -2230,7 +2517,7 @@ class CfnAutomationRule(
2230
2517
  '''
2231
2518
  result = self._values.get("id")
2232
2519
  assert result is not None, "Required property 'id' is missing"
2233
- return typing.cast(typing.Any, result)
2520
+ return typing.cast(builtins.str, result)
2234
2521
 
2235
2522
  @builtins.property
2236
2523
  def product_arn(self) -> builtins.str:
@@ -2363,9 +2650,9 @@ class CfnAutomationRule(
2363
2650
  )
2364
2651
  class StringFilterProperty:
2365
2652
  def __init__(self, *, comparison: builtins.str, value: builtins.str) -> None:
2366
- '''A string filter for filtering AWS Security Hub findings.
2653
+ '''A string filter for filtering Security Hub findings.
2367
2654
 
2368
- :param comparison: The condition to apply to a string value when filtering Security Hub findings. To search for values that have the filter value, use one of the following comparison operators: - To search for values that include the filter value, use ``CONTAINS`` . For example, the filter ``Title CONTAINS CloudFront`` matches findings that have a ``Title`` that includes the string CloudFront. - To search for values that exactly match the filter value, use ``EQUALS`` . For example, the filter ``AwsAccountId EQUALS 123456789012`` only matches findings that have an account ID of ``123456789012`` . - To search for values that start with the filter value, use ``PREFIX`` . For example, the filter ``ResourceRegion PREFIX us`` matches findings that have a ``ResourceRegion`` that starts with ``us`` . A ``ResourceRegion`` that starts with a different value, such as ``af`` , ``ap`` , or ``ca`` , doesn't match. ``CONTAINS`` , ``EQUALS`` , and ``PREFIX`` filters on the same field are joined by ``OR`` . A finding matches if it matches any one of those filters. For example, the filters ``Title CONTAINS CloudFront OR Title CONTAINS CloudWatch`` match a finding that includes either ``CloudFront`` , ``CloudWatch`` , or both strings in the title. To search for values that don’t have the filter value, use one of the following comparison operators: - To search for values that exclude the filter value, use ``NOT_CONTAINS`` . For example, the filter ``Title NOT_CONTAINS CloudFront`` matches findings that have a ``Title`` that excludes the string CloudFront. - To search for values other than the filter value, use ``NOT_EQUALS`` . For example, the filter ``AwsAccountId NOT_EQUALS 123456789012`` only matches findings that have an account ID other than ``123456789012`` . - To search for values that don't start with the filter value, use ``PREFIX_NOT_EQUALS`` . For example, the filter ``ResourceRegion PREFIX_NOT_EQUALS us`` matches findings with a ``ResourceRegion`` that starts with a value other than ``us`` . ``NOT_CONTAINS`` , ``NOT_EQUALS`` , and ``PREFIX_NOT_EQUALS`` filters on the same field are joined by ``AND`` . A finding matches only if it matches all of those filters. For example, the filters ``Title NOT_CONTAINS CloudFront AND Title NOT_CONTAINS CloudWatch`` match a finding that excludes both ``CloudFront`` and ``CloudWatch`` in the title. You can’t have both a ``CONTAINS`` filter and a ``NOT_CONTAINS`` filter on the same field. Similarly, you can't provide both an ``EQUALS`` filter and a ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filter on the same field. Combining filters in this way returns an error. ``CONTAINS`` filters can only be used with other ``CONTAINS`` filters. ``NOT_CONTAINS`` filters can only be used with other ``NOT_CONTAINS`` filters. You can combine ``PREFIX`` filters with ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filters for the same field. Security Hub first processes the ``PREFIX`` filters, and then the ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filters. For example, for the following filters, Security Hub first identifies findings that have resource types that start with either ``AwsIam`` or ``AwsEc2`` . It then excludes findings that have a resource type of ``AwsIamPolicy`` and findings that have a resource type of ``AwsEc2NetworkInterface`` . - ``ResourceType PREFIX AwsIam`` - ``ResourceType PREFIX AwsEc2`` - ``ResourceType NOT_EQUALS AwsIamPolicy`` - ``ResourceType NOT_EQUALS AwsEc2NetworkInterface`` ``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *AWS Security Hub User Guide* .
2655
+ :param comparison: The condition to apply to a string value when filtering Security Hub findings. To search for values that have the filter value, use one of the following comparison operators: - To search for values that include the filter value, use ``CONTAINS`` . For example, the filter ``Title CONTAINS CloudFront`` matches findings that have a ``Title`` that includes the string CloudFront. - To search for values that exactly match the filter value, use ``EQUALS`` . For example, the filter ``AwsAccountId EQUALS 123456789012`` only matches findings that have an account ID of ``123456789012`` . - To search for values that start with the filter value, use ``PREFIX`` . For example, the filter ``ResourceRegion PREFIX us`` matches findings that have a ``ResourceRegion`` that starts with ``us`` . A ``ResourceRegion`` that starts with a different value, such as ``af`` , ``ap`` , or ``ca`` , doesn't match. ``CONTAINS`` , ``EQUALS`` , and ``PREFIX`` filters on the same field are joined by ``OR`` . A finding matches if it matches any one of those filters. For example, the filters ``Title CONTAINS CloudFront OR Title CONTAINS CloudWatch`` match a finding that includes either ``CloudFront`` , ``CloudWatch`` , or both strings in the title. To search for values that don’t have the filter value, use one of the following comparison operators: - To search for values that exclude the filter value, use ``NOT_CONTAINS`` . For example, the filter ``Title NOT_CONTAINS CloudFront`` matches findings that have a ``Title`` that excludes the string CloudFront. - To search for values other than the filter value, use ``NOT_EQUALS`` . For example, the filter ``AwsAccountId NOT_EQUALS 123456789012`` only matches findings that have an account ID other than ``123456789012`` . - To search for values that don't start with the filter value, use ``PREFIX_NOT_EQUALS`` . For example, the filter ``ResourceRegion PREFIX_NOT_EQUALS us`` matches findings with a ``ResourceRegion`` that starts with a value other than ``us`` . ``NOT_CONTAINS`` , ``NOT_EQUALS`` , and ``PREFIX_NOT_EQUALS`` filters on the same field are joined by ``AND`` . A finding matches only if it matches all of those filters. For example, the filters ``Title NOT_CONTAINS CloudFront AND Title NOT_CONTAINS CloudWatch`` match a finding that excludes both ``CloudFront`` and ``CloudWatch`` in the title. You can’t have both a ``CONTAINS`` filter and a ``NOT_CONTAINS`` filter on the same field. Similarly, you can't provide both an ``EQUALS`` filter and a ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filter on the same field. Combining filters in this way returns an error. ``CONTAINS`` filters can only be used with other ``CONTAINS`` filters. ``NOT_CONTAINS`` filters can only be used with other ``NOT_CONTAINS`` filters. You can combine ``PREFIX`` filters with ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filters for the same field. Security Hub first processes the ``PREFIX`` filters, and then the ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filters. For example, for the following filters, Security Hub first identifies findings that have resource types that start with either ``AwsIam`` or ``AwsEc2`` . It then excludes findings that have a resource type of ``AwsIamPolicy`` and findings that have a resource type of ``AwsEc2NetworkInterface`` . - ``ResourceType PREFIX AwsIam`` - ``ResourceType PREFIX AwsEc2`` - ``ResourceType NOT_EQUALS AwsIamPolicy`` - ``ResourceType NOT_EQUALS AwsEc2NetworkInterface`` ``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules V1. ``CONTAINS_WORD`` operator is only supported in ``GetFindingsV2`` , ``GetFindingStatisticsV2`` , ``GetResourcesV2`` , and ``GetResourceStatisticsV2`` APIs. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *Security Hub User Guide* .
2369
2656
  :param value: The string filter value. Filter values are case sensitive. For example, the product name for control-based findings is ``Security Hub`` . If you provide ``security hub`` as the filter value, there's no match.
2370
2657
 
2371
2658
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-stringfilter.html
@@ -2422,7 +2709,7 @@ class CfnAutomationRule(
2422
2709
  - ``ResourceType NOT_EQUALS AwsIamPolicy``
2423
2710
  - ``ResourceType NOT_EQUALS AwsEc2NetworkInterface``
2424
2711
 
2425
- ``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *AWS Security Hub User Guide* .
2712
+ ``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules V1. ``CONTAINS_WORD`` operator is only supported in ``GetFindingsV2`` , ``GetFindingStatisticsV2`` , ``GetResourcesV2`` , and ``GetResourceStatisticsV2`` APIs. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *Security Hub User Guide* .
2426
2713
 
2427
2714
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-stringfilter.html#cfn-securityhub-automationrule-stringfilter-comparison
2428
2715
  '''
@@ -2567,9 +2854,6 @@ class CfnAutomationRuleProps:
2567
2854
  # The values are placeholders you should change.
2568
2855
  from aws_cdk import aws_securityhub as securityhub
2569
2856
 
2570
- # id: Any
2571
- # updated_by: Any
2572
-
2573
2857
  cfn_automation_rule_props = securityhub.CfnAutomationRuleProps(
2574
2858
  actions=[securityhub.CfnAutomationRule.AutomationRulesActionProperty(
2575
2859
  finding_fields_update=securityhub.CfnAutomationRule.AutomationRulesFindingFieldsUpdateProperty(
@@ -2577,10 +2861,10 @@ class CfnAutomationRuleProps:
2577
2861
  criticality=123,
2578
2862
  note=securityhub.CfnAutomationRule.NoteUpdateProperty(
2579
2863
  text="text",
2580
- updated_by=updated_by
2864
+ updated_by="updatedBy"
2581
2865
  ),
2582
2866
  related_findings=[securityhub.CfnAutomationRule.RelatedFindingProperty(
2583
- id=id,
2867
+ id="id",
2584
2868
  product_arn="productArn"
2585
2869
  )],
2586
2870
  severity=securityhub.CfnAutomationRule.SeverityUpdateProperty(
@@ -2903,18 +3187,18 @@ class CfnAutomationRuleProps:
2903
3187
  )
2904
3188
 
2905
3189
 
2906
- @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
2907
- class CfnConfigurationPolicy(
3190
+ @jsii.implements(_IInspectable_c2943556, _IAutomationRuleV2Ref_9909169c, _ITaggableV2_4e6798f8)
3191
+ class CfnAutomationRuleV2(
2908
3192
  _CfnResource_9df397a6,
2909
3193
  metaclass=jsii.JSIIMeta,
2910
- jsii_type="aws-cdk-lib.aws_securityhub.CfnConfigurationPolicy",
3194
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2",
2911
3195
  ):
2912
- '''The ``AWS::SecurityHub::ConfigurationPolicy`` resource creates a central configuration policy with the defined settings.
3196
+ '''Creates a V2 automation rule.
2913
3197
 
2914
- Only the AWS Security Hub delegated administrator can create this resource in the home Region. For more information, see `Central configuration in Security Hub <https://docs.aws.amazon.com/securityhub/latest/userguide/central-configuration-intro.html>`_ in the *AWS Security Hub User Guide* .
3198
+ This API is in public preview and subject to change.
2915
3199
 
2916
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-configurationpolicy.html
2917
- :cloudformationResource: AWS::SecurityHub::ConfigurationPolicy
3200
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrulev2.html
3201
+ :cloudformationResource: AWS::SecurityHub::AutomationRuleV2
2918
3202
  :exampleMetadata: fixture=_generated
2919
3203
 
2920
3204
  Example::
@@ -2923,41 +3207,2128 @@ class CfnConfigurationPolicy(
2923
3207
  # The values are placeholders you should change.
2924
3208
  from aws_cdk import aws_securityhub as securityhub
2925
3209
 
2926
- cfn_configuration_policy = securityhub.CfnConfigurationPolicy(self, "MyCfnConfigurationPolicy",
2927
- configuration_policy=securityhub.CfnConfigurationPolicy.PolicyProperty(
2928
- security_hub=securityhub.CfnConfigurationPolicy.SecurityHubPolicyProperty(
2929
- enabled_standard_identifiers=["enabledStandardIdentifiers"],
2930
- security_controls_configuration=securityhub.CfnConfigurationPolicy.SecurityControlsConfigurationProperty(
2931
- disabled_security_control_identifiers=["disabledSecurityControlIdentifiers"],
2932
- enabled_security_control_identifiers=["enabledSecurityControlIdentifiers"],
2933
- security_control_custom_parameters=[securityhub.CfnConfigurationPolicy.SecurityControlCustomParameterProperty(
2934
- parameters={
2935
- "parameters_key": securityhub.CfnConfigurationPolicy.ParameterConfigurationProperty(
2936
- value_type="valueType",
3210
+ cfn_automation_rule_v2 = securityhub.CfnAutomationRuleV2(self, "MyCfnAutomationRuleV2",
3211
+ actions=[securityhub.CfnAutomationRuleV2.AutomationRulesActionV2Property(
3212
+ type="type",
2937
3213
 
2938
- # the properties below are optional
2939
- value=securityhub.CfnConfigurationPolicy.ParameterValueProperty(
2940
- boolean=False,
2941
- double=123,
2942
- enum="enum",
2943
- enum_list=["enumList"],
2944
- integer=123,
2945
- integer_list=[123],
2946
- string="string",
2947
- string_list=["stringList"]
2948
- )
2949
- )
2950
- },
2951
- security_control_id="securityControlId"
3214
+ # the properties below are optional
3215
+ external_integration_configuration=securityhub.CfnAutomationRuleV2.ExternalIntegrationConfigurationProperty(
3216
+ connector_arn="connectorArn"
3217
+ ),
3218
+ finding_fields_update=securityhub.CfnAutomationRuleV2.AutomationRulesFindingFieldsUpdateV2Property(
3219
+ comment="comment",
3220
+ severity_id=123,
3221
+ status_id=123
3222
+ )
3223
+ )],
3224
+ criteria=securityhub.CfnAutomationRuleV2.CriteriaProperty(
3225
+ ocsf_finding_criteria=securityhub.CfnAutomationRuleV2.OcsfFindingFiltersProperty(
3226
+ composite_filters=[securityhub.CfnAutomationRuleV2.CompositeFilterProperty(
3227
+ boolean_filters=[securityhub.CfnAutomationRuleV2.OcsfBooleanFilterProperty(
3228
+ field_name="fieldName",
3229
+ filter=securityhub.CfnAutomationRuleV2.BooleanFilterProperty(
3230
+ value=False
3231
+ )
3232
+ )],
3233
+ date_filters=[securityhub.CfnAutomationRuleV2.OcsfDateFilterProperty(
3234
+ field_name="fieldName",
3235
+ filter=securityhub.CfnAutomationRuleV2.DateFilterProperty(
3236
+ date_range=securityhub.CfnAutomationRuleV2.DateRangeProperty(
3237
+ unit="unit",
3238
+ value=123
3239
+ ),
3240
+ end="end",
3241
+ start="start"
3242
+ )
3243
+ )],
3244
+ map_filters=[securityhub.CfnAutomationRuleV2.OcsfMapFilterProperty(
3245
+ field_name="fieldName",
3246
+ filter=securityhub.CfnAutomationRuleV2.MapFilterProperty(
3247
+ comparison="comparison",
3248
+ key="key",
3249
+ value="value"
3250
+ )
3251
+ )],
3252
+ number_filters=[securityhub.CfnAutomationRuleV2.OcsfNumberFilterProperty(
3253
+ field_name="fieldName",
3254
+ filter=securityhub.CfnAutomationRuleV2.NumberFilterProperty(
3255
+ eq=123,
3256
+ gte=123,
3257
+ lte=123
3258
+ )
3259
+ )],
3260
+ operator="operator",
3261
+ string_filters=[securityhub.CfnAutomationRuleV2.OcsfStringFilterProperty(
3262
+ field_name="fieldName",
3263
+ filter=securityhub.CfnAutomationRuleV2.StringFilterProperty(
3264
+ comparison="comparison",
3265
+ value="value"
3266
+ )
2952
3267
  )]
2953
- ),
2954
- service_enabled=False
3268
+ )],
3269
+ composite_operator="compositeOperator"
2955
3270
  )
2956
3271
  ),
2957
- name="name",
3272
+ description="description",
3273
+ rule_name="ruleName",
3274
+ rule_order=123,
2958
3275
 
2959
3276
  # the properties below are optional
2960
- description="description",
3277
+ rule_status="ruleStatus",
3278
+ tags={
3279
+ "tags_key": "tags"
3280
+ }
3281
+ )
3282
+ '''
3283
+
3284
+ def __init__(
3285
+ self,
3286
+ scope: _constructs_77d1e7e8.Construct,
3287
+ id: builtins.str,
3288
+ *,
3289
+ actions: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.AutomationRulesActionV2Property", typing.Dict[builtins.str, typing.Any]]]]],
3290
+ criteria: typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.CriteriaProperty", typing.Dict[builtins.str, typing.Any]]],
3291
+ description: builtins.str,
3292
+ rule_name: builtins.str,
3293
+ rule_order: jsii.Number,
3294
+ rule_status: typing.Optional[builtins.str] = None,
3295
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
3296
+ ) -> None:
3297
+ '''Create a new ``AWS::SecurityHub::AutomationRuleV2``.
3298
+
3299
+ :param scope: Scope in which this resource is defined.
3300
+ :param id: Construct identifier for this resource (unique in its scope).
3301
+ :param actions: A list of actions to be performed when the rule criteria is met.
3302
+ :param criteria: The filtering type and configuration of the automation rule.
3303
+ :param description: A description of the V2 automation rule.
3304
+ :param rule_name: The name of the V2 automation rule.
3305
+ :param rule_order: The value for the rule priority.
3306
+ :param rule_status: The status of the V2 automation rule.
3307
+ :param tags: A list of key-value pairs associated with the V2 automation rule.
3308
+ '''
3309
+ if __debug__:
3310
+ type_hints = typing.get_type_hints(_typecheckingstub__d67bab57d18f8318b1f3e5e5aee0425c6d6ad2a73c3def328f22c6e22aa173d4)
3311
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
3312
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
3313
+ props = CfnAutomationRuleV2Props(
3314
+ actions=actions,
3315
+ criteria=criteria,
3316
+ description=description,
3317
+ rule_name=rule_name,
3318
+ rule_order=rule_order,
3319
+ rule_status=rule_status,
3320
+ tags=tags,
3321
+ )
3322
+
3323
+ jsii.create(self.__class__, self, [scope, id, props])
3324
+
3325
+ @jsii.member(jsii_name="inspect")
3326
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
3327
+ '''Examines the CloudFormation resource and discloses attributes.
3328
+
3329
+ :param inspector: tree inspector to collect and process attributes.
3330
+ '''
3331
+ if __debug__:
3332
+ type_hints = typing.get_type_hints(_typecheckingstub__148b5ad52f495a944fc188c33e9ce4790af9aae05ed5382a214fb325dffaf8bb)
3333
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
3334
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
3335
+
3336
+ @jsii.member(jsii_name="renderProperties")
3337
+ def _render_properties(
3338
+ self,
3339
+ props: typing.Mapping[builtins.str, typing.Any],
3340
+ ) -> typing.Mapping[builtins.str, typing.Any]:
3341
+ '''
3342
+ :param props: -
3343
+ '''
3344
+ if __debug__:
3345
+ type_hints = typing.get_type_hints(_typecheckingstub__2f9d1f99336eb3a75c15b25a178234de86a8bfdf4875bf0ce1cd38b114f64593)
3346
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
3347
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
3348
+
3349
+ @jsii.python.classproperty
3350
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
3351
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
3352
+ '''The CloudFormation resource type name for this resource class.'''
3353
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
3354
+
3355
+ @builtins.property
3356
+ @jsii.member(jsii_name="attrCreatedAt")
3357
+ def attr_created_at(self) -> builtins.str:
3358
+ '''The timestamp when the V2 automation rule was created.
3359
+
3360
+ :cloudformationAttribute: CreatedAt
3361
+ '''
3362
+ return typing.cast(builtins.str, jsii.get(self, "attrCreatedAt"))
3363
+
3364
+ @builtins.property
3365
+ @jsii.member(jsii_name="attrRuleArn")
3366
+ def attr_rule_arn(self) -> builtins.str:
3367
+ '''The ARN of the V2 automation rule.
3368
+
3369
+ :cloudformationAttribute: RuleArn
3370
+ '''
3371
+ return typing.cast(builtins.str, jsii.get(self, "attrRuleArn"))
3372
+
3373
+ @builtins.property
3374
+ @jsii.member(jsii_name="attrRuleId")
3375
+ def attr_rule_id(self) -> builtins.str:
3376
+ '''The ID of the V2 automation rule.
3377
+
3378
+ :cloudformationAttribute: RuleId
3379
+ '''
3380
+ return typing.cast(builtins.str, jsii.get(self, "attrRuleId"))
3381
+
3382
+ @builtins.property
3383
+ @jsii.member(jsii_name="attrUpdatedAt")
3384
+ def attr_updated_at(self) -> builtins.str:
3385
+ '''The timestamp when the V2 automation rule was updated.
3386
+
3387
+ :cloudformationAttribute: UpdatedAt
3388
+ '''
3389
+ return typing.cast(builtins.str, jsii.get(self, "attrUpdatedAt"))
3390
+
3391
+ @builtins.property
3392
+ @jsii.member(jsii_name="automationRuleV2Ref")
3393
+ def automation_rule_v2_ref(self) -> _AutomationRuleV2Reference_0c38f3c7:
3394
+ '''A reference to a AutomationRuleV2 resource.'''
3395
+ return typing.cast(_AutomationRuleV2Reference_0c38f3c7, jsii.get(self, "automationRuleV2Ref"))
3396
+
3397
+ @builtins.property
3398
+ @jsii.member(jsii_name="cdkTagManager")
3399
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
3400
+ '''Tag Manager which manages the tags for this resource.'''
3401
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
3402
+
3403
+ @builtins.property
3404
+ @jsii.member(jsii_name="cfnProperties")
3405
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
3406
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
3407
+
3408
+ @builtins.property
3409
+ @jsii.member(jsii_name="actions")
3410
+ def actions(
3411
+ self,
3412
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.AutomationRulesActionV2Property"]]]:
3413
+ '''A list of actions to be performed when the rule criteria is met.'''
3414
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.AutomationRulesActionV2Property"]]], jsii.get(self, "actions"))
3415
+
3416
+ @actions.setter
3417
+ def actions(
3418
+ self,
3419
+ value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.AutomationRulesActionV2Property"]]],
3420
+ ) -> None:
3421
+ if __debug__:
3422
+ type_hints = typing.get_type_hints(_typecheckingstub__6347d27f0ba2cf053f67fe33ad975271c9a681e994a3d68259bee4b4cecff923)
3423
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3424
+ jsii.set(self, "actions", value) # pyright: ignore[reportArgumentType]
3425
+
3426
+ @builtins.property
3427
+ @jsii.member(jsii_name="criteria")
3428
+ def criteria(
3429
+ self,
3430
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.CriteriaProperty"]:
3431
+ '''The filtering type and configuration of the automation rule.'''
3432
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.CriteriaProperty"], jsii.get(self, "criteria"))
3433
+
3434
+ @criteria.setter
3435
+ def criteria(
3436
+ self,
3437
+ value: typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.CriteriaProperty"],
3438
+ ) -> None:
3439
+ if __debug__:
3440
+ type_hints = typing.get_type_hints(_typecheckingstub__a5adb921eebdd2ef5c8fd115e4be769f443780102c814dd43fe745285e68ab8e)
3441
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3442
+ jsii.set(self, "criteria", value) # pyright: ignore[reportArgumentType]
3443
+
3444
+ @builtins.property
3445
+ @jsii.member(jsii_name="description")
3446
+ def description(self) -> builtins.str:
3447
+ '''A description of the V2 automation rule.'''
3448
+ return typing.cast(builtins.str, jsii.get(self, "description"))
3449
+
3450
+ @description.setter
3451
+ def description(self, value: builtins.str) -> None:
3452
+ if __debug__:
3453
+ type_hints = typing.get_type_hints(_typecheckingstub__125c937bc05766b550dc71a5d1d56e19a69b4ef80f88b4ef38e2e5e003477882)
3454
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3455
+ jsii.set(self, "description", value) # pyright: ignore[reportArgumentType]
3456
+
3457
+ @builtins.property
3458
+ @jsii.member(jsii_name="ruleName")
3459
+ def rule_name(self) -> builtins.str:
3460
+ '''The name of the V2 automation rule.'''
3461
+ return typing.cast(builtins.str, jsii.get(self, "ruleName"))
3462
+
3463
+ @rule_name.setter
3464
+ def rule_name(self, value: builtins.str) -> None:
3465
+ if __debug__:
3466
+ type_hints = typing.get_type_hints(_typecheckingstub__d67119779ecc92e0cdf9224e19bbf9519a8b3464aefe9656b42f750f87734d6a)
3467
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3468
+ jsii.set(self, "ruleName", value) # pyright: ignore[reportArgumentType]
3469
+
3470
+ @builtins.property
3471
+ @jsii.member(jsii_name="ruleOrder")
3472
+ def rule_order(self) -> jsii.Number:
3473
+ '''The value for the rule priority.'''
3474
+ return typing.cast(jsii.Number, jsii.get(self, "ruleOrder"))
3475
+
3476
+ @rule_order.setter
3477
+ def rule_order(self, value: jsii.Number) -> None:
3478
+ if __debug__:
3479
+ type_hints = typing.get_type_hints(_typecheckingstub__0756c118bad7b3ecf44f8e5b333e1b12ae1f8fcc93cfb9994a9b01b1e420c800)
3480
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3481
+ jsii.set(self, "ruleOrder", value) # pyright: ignore[reportArgumentType]
3482
+
3483
+ @builtins.property
3484
+ @jsii.member(jsii_name="ruleStatus")
3485
+ def rule_status(self) -> typing.Optional[builtins.str]:
3486
+ '''The status of the V2 automation rule.'''
3487
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "ruleStatus"))
3488
+
3489
+ @rule_status.setter
3490
+ def rule_status(self, value: typing.Optional[builtins.str]) -> None:
3491
+ if __debug__:
3492
+ type_hints = typing.get_type_hints(_typecheckingstub__9d3ccd09d54183efd7f79c4f4fa028ef4ff9dcf82d873ad68a9b84292b42fca1)
3493
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3494
+ jsii.set(self, "ruleStatus", value) # pyright: ignore[reportArgumentType]
3495
+
3496
+ @builtins.property
3497
+ @jsii.member(jsii_name="tags")
3498
+ def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
3499
+ '''A list of key-value pairs associated with the V2 automation rule.'''
3500
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], jsii.get(self, "tags"))
3501
+
3502
+ @tags.setter
3503
+ def tags(
3504
+ self,
3505
+ value: typing.Optional[typing.Mapping[builtins.str, builtins.str]],
3506
+ ) -> None:
3507
+ if __debug__:
3508
+ type_hints = typing.get_type_hints(_typecheckingstub__c4cafeb60a0ac8c7088697f2b7bd61bc6887761dd3405c6d9a418c848d6a35ed)
3509
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3510
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
3511
+
3512
+ @jsii.data_type(
3513
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.AutomationRulesActionV2Property",
3514
+ jsii_struct_bases=[],
3515
+ name_mapping={
3516
+ "type": "type",
3517
+ "external_integration_configuration": "externalIntegrationConfiguration",
3518
+ "finding_fields_update": "findingFieldsUpdate",
3519
+ },
3520
+ )
3521
+ class AutomationRulesActionV2Property:
3522
+ def __init__(
3523
+ self,
3524
+ *,
3525
+ type: builtins.str,
3526
+ external_integration_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.ExternalIntegrationConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3527
+ finding_fields_update: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.AutomationRulesFindingFieldsUpdateV2Property", typing.Dict[builtins.str, typing.Any]]]] = None,
3528
+ ) -> None:
3529
+ '''Allows you to configure automated responses.
3530
+
3531
+ :param type: Specifies the type of action that Security Hub takes when a finding matches the defined criteria of a rule.
3532
+ :param external_integration_configuration: The settings for integrating automation rule actions with external systems or service.
3533
+ :param finding_fields_update: Specifies that the automation rule action is an update to a finding field.
3534
+
3535
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-automationrulesactionv2.html
3536
+ :exampleMetadata: fixture=_generated
3537
+
3538
+ Example::
3539
+
3540
+ # The code below shows an example of how to instantiate this type.
3541
+ # The values are placeholders you should change.
3542
+ from aws_cdk import aws_securityhub as securityhub
3543
+
3544
+ automation_rules_action_v2_property = securityhub.CfnAutomationRuleV2.AutomationRulesActionV2Property(
3545
+ type="type",
3546
+
3547
+ # the properties below are optional
3548
+ external_integration_configuration=securityhub.CfnAutomationRuleV2.ExternalIntegrationConfigurationProperty(
3549
+ connector_arn="connectorArn"
3550
+ ),
3551
+ finding_fields_update=securityhub.CfnAutomationRuleV2.AutomationRulesFindingFieldsUpdateV2Property(
3552
+ comment="comment",
3553
+ severity_id=123,
3554
+ status_id=123
3555
+ )
3556
+ )
3557
+ '''
3558
+ if __debug__:
3559
+ type_hints = typing.get_type_hints(_typecheckingstub__c5861ee659ea2189f4b0d18349855ec99f8b11ef0e6bc925783f2b7a3911d61f)
3560
+ check_type(argname="argument type", value=type, expected_type=type_hints["type"])
3561
+ check_type(argname="argument external_integration_configuration", value=external_integration_configuration, expected_type=type_hints["external_integration_configuration"])
3562
+ check_type(argname="argument finding_fields_update", value=finding_fields_update, expected_type=type_hints["finding_fields_update"])
3563
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3564
+ "type": type,
3565
+ }
3566
+ if external_integration_configuration is not None:
3567
+ self._values["external_integration_configuration"] = external_integration_configuration
3568
+ if finding_fields_update is not None:
3569
+ self._values["finding_fields_update"] = finding_fields_update
3570
+
3571
+ @builtins.property
3572
+ def type(self) -> builtins.str:
3573
+ '''Specifies the type of action that Security Hub takes when a finding matches the defined criteria of a rule.
3574
+
3575
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-automationrulesactionv2.html#cfn-securityhub-automationrulev2-automationrulesactionv2-type
3576
+ '''
3577
+ result = self._values.get("type")
3578
+ assert result is not None, "Required property 'type' is missing"
3579
+ return typing.cast(builtins.str, result)
3580
+
3581
+ @builtins.property
3582
+ def external_integration_configuration(
3583
+ self,
3584
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.ExternalIntegrationConfigurationProperty"]]:
3585
+ '''The settings for integrating automation rule actions with external systems or service.
3586
+
3587
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-automationrulesactionv2.html#cfn-securityhub-automationrulev2-automationrulesactionv2-externalintegrationconfiguration
3588
+ '''
3589
+ result = self._values.get("external_integration_configuration")
3590
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.ExternalIntegrationConfigurationProperty"]], result)
3591
+
3592
+ @builtins.property
3593
+ def finding_fields_update(
3594
+ self,
3595
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.AutomationRulesFindingFieldsUpdateV2Property"]]:
3596
+ '''Specifies that the automation rule action is an update to a finding field.
3597
+
3598
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-automationrulesactionv2.html#cfn-securityhub-automationrulev2-automationrulesactionv2-findingfieldsupdate
3599
+ '''
3600
+ result = self._values.get("finding_fields_update")
3601
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.AutomationRulesFindingFieldsUpdateV2Property"]], result)
3602
+
3603
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3604
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3605
+
3606
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3607
+ return not (rhs == self)
3608
+
3609
+ def __repr__(self) -> str:
3610
+ return "AutomationRulesActionV2Property(%s)" % ", ".join(
3611
+ k + "=" + repr(v) for k, v in self._values.items()
3612
+ )
3613
+
3614
+ @jsii.data_type(
3615
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.AutomationRulesFindingFieldsUpdateV2Property",
3616
+ jsii_struct_bases=[],
3617
+ name_mapping={
3618
+ "comment": "comment",
3619
+ "severity_id": "severityId",
3620
+ "status_id": "statusId",
3621
+ },
3622
+ )
3623
+ class AutomationRulesFindingFieldsUpdateV2Property:
3624
+ def __init__(
3625
+ self,
3626
+ *,
3627
+ comment: typing.Optional[builtins.str] = None,
3628
+ severity_id: typing.Optional[jsii.Number] = None,
3629
+ status_id: typing.Optional[jsii.Number] = None,
3630
+ ) -> None:
3631
+ '''Allows you to define the structure for modifying specific fields in security findings.
3632
+
3633
+ :param comment: Notes or contextual information for findings that are modified by the automation rule.
3634
+ :param severity_id: The severity level to be assigned to findings that match the automation rule criteria.
3635
+ :param status_id: The status to be applied to findings that match automation rule criteria.
3636
+
3637
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-automationrulesfindingfieldsupdatev2.html
3638
+ :exampleMetadata: fixture=_generated
3639
+
3640
+ Example::
3641
+
3642
+ # The code below shows an example of how to instantiate this type.
3643
+ # The values are placeholders you should change.
3644
+ from aws_cdk import aws_securityhub as securityhub
3645
+
3646
+ automation_rules_finding_fields_update_v2_property = securityhub.CfnAutomationRuleV2.AutomationRulesFindingFieldsUpdateV2Property(
3647
+ comment="comment",
3648
+ severity_id=123,
3649
+ status_id=123
3650
+ )
3651
+ '''
3652
+ if __debug__:
3653
+ type_hints = typing.get_type_hints(_typecheckingstub__4f90f98d77f04ef40f0534b1d8b8660117e52394e43158b5d7f298d3bc8625cc)
3654
+ check_type(argname="argument comment", value=comment, expected_type=type_hints["comment"])
3655
+ check_type(argname="argument severity_id", value=severity_id, expected_type=type_hints["severity_id"])
3656
+ check_type(argname="argument status_id", value=status_id, expected_type=type_hints["status_id"])
3657
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3658
+ if comment is not None:
3659
+ self._values["comment"] = comment
3660
+ if severity_id is not None:
3661
+ self._values["severity_id"] = severity_id
3662
+ if status_id is not None:
3663
+ self._values["status_id"] = status_id
3664
+
3665
+ @builtins.property
3666
+ def comment(self) -> typing.Optional[builtins.str]:
3667
+ '''Notes or contextual information for findings that are modified by the automation rule.
3668
+
3669
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-automationrulesfindingfieldsupdatev2.html#cfn-securityhub-automationrulev2-automationrulesfindingfieldsupdatev2-comment
3670
+ '''
3671
+ result = self._values.get("comment")
3672
+ return typing.cast(typing.Optional[builtins.str], result)
3673
+
3674
+ @builtins.property
3675
+ def severity_id(self) -> typing.Optional[jsii.Number]:
3676
+ '''The severity level to be assigned to findings that match the automation rule criteria.
3677
+
3678
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-automationrulesfindingfieldsupdatev2.html#cfn-securityhub-automationrulev2-automationrulesfindingfieldsupdatev2-severityid
3679
+ '''
3680
+ result = self._values.get("severity_id")
3681
+ return typing.cast(typing.Optional[jsii.Number], result)
3682
+
3683
+ @builtins.property
3684
+ def status_id(self) -> typing.Optional[jsii.Number]:
3685
+ '''The status to be applied to findings that match automation rule criteria.
3686
+
3687
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-automationrulesfindingfieldsupdatev2.html#cfn-securityhub-automationrulev2-automationrulesfindingfieldsupdatev2-statusid
3688
+ '''
3689
+ result = self._values.get("status_id")
3690
+ return typing.cast(typing.Optional[jsii.Number], result)
3691
+
3692
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3693
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3694
+
3695
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3696
+ return not (rhs == self)
3697
+
3698
+ def __repr__(self) -> str:
3699
+ return "AutomationRulesFindingFieldsUpdateV2Property(%s)" % ", ".join(
3700
+ k + "=" + repr(v) for k, v in self._values.items()
3701
+ )
3702
+
3703
+ @jsii.data_type(
3704
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.BooleanFilterProperty",
3705
+ jsii_struct_bases=[],
3706
+ name_mapping={"value": "value"},
3707
+ )
3708
+ class BooleanFilterProperty:
3709
+ def __init__(
3710
+ self,
3711
+ *,
3712
+ value: typing.Union[builtins.bool, _IResolvable_da3f097b],
3713
+ ) -> None:
3714
+ '''Boolean filter for querying findings.
3715
+
3716
+ :param value: The value of the boolean.
3717
+
3718
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-booleanfilter.html
3719
+ :exampleMetadata: fixture=_generated
3720
+
3721
+ Example::
3722
+
3723
+ # The code below shows an example of how to instantiate this type.
3724
+ # The values are placeholders you should change.
3725
+ from aws_cdk import aws_securityhub as securityhub
3726
+
3727
+ boolean_filter_property = securityhub.CfnAutomationRuleV2.BooleanFilterProperty(
3728
+ value=False
3729
+ )
3730
+ '''
3731
+ if __debug__:
3732
+ type_hints = typing.get_type_hints(_typecheckingstub__bf1f4033b6ab73724f96c846c6e76e7a50093a23574134c07515d9390346e33b)
3733
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3734
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3735
+ "value": value,
3736
+ }
3737
+
3738
+ @builtins.property
3739
+ def value(self) -> typing.Union[builtins.bool, _IResolvable_da3f097b]:
3740
+ '''The value of the boolean.
3741
+
3742
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-booleanfilter.html#cfn-securityhub-automationrulev2-booleanfilter-value
3743
+ '''
3744
+ result = self._values.get("value")
3745
+ assert result is not None, "Required property 'value' is missing"
3746
+ return typing.cast(typing.Union[builtins.bool, _IResolvable_da3f097b], result)
3747
+
3748
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3749
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3750
+
3751
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3752
+ return not (rhs == self)
3753
+
3754
+ def __repr__(self) -> str:
3755
+ return "BooleanFilterProperty(%s)" % ", ".join(
3756
+ k + "=" + repr(v) for k, v in self._values.items()
3757
+ )
3758
+
3759
+ @jsii.data_type(
3760
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.CompositeFilterProperty",
3761
+ jsii_struct_bases=[],
3762
+ name_mapping={
3763
+ "boolean_filters": "booleanFilters",
3764
+ "date_filters": "dateFilters",
3765
+ "map_filters": "mapFilters",
3766
+ "number_filters": "numberFilters",
3767
+ "operator": "operator",
3768
+ "string_filters": "stringFilters",
3769
+ },
3770
+ )
3771
+ class CompositeFilterProperty:
3772
+ def __init__(
3773
+ self,
3774
+ *,
3775
+ boolean_filters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.OcsfBooleanFilterProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
3776
+ date_filters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.OcsfDateFilterProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
3777
+ map_filters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.OcsfMapFilterProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
3778
+ number_filters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.OcsfNumberFilterProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
3779
+ operator: typing.Optional[builtins.str] = None,
3780
+ string_filters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.OcsfStringFilterProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
3781
+ ) -> None:
3782
+ '''Enables the creation of filtering criteria for security findings.
3783
+
3784
+ :param boolean_filters: Enables filtering based on boolean field values.
3785
+ :param date_filters: Enables filtering based on date and timestamp fields.
3786
+ :param map_filters: Enables the creation of filtering criteria for security findings.
3787
+ :param number_filters: Enables filtering based on numerical field values.
3788
+ :param operator: The logical operator used to combine multiple filter conditions.
3789
+ :param string_filters: Enables filtering based on string field values.
3790
+
3791
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-compositefilter.html
3792
+ :exampleMetadata: fixture=_generated
3793
+
3794
+ Example::
3795
+
3796
+ # The code below shows an example of how to instantiate this type.
3797
+ # The values are placeholders you should change.
3798
+ from aws_cdk import aws_securityhub as securityhub
3799
+
3800
+ composite_filter_property = securityhub.CfnAutomationRuleV2.CompositeFilterProperty(
3801
+ boolean_filters=[securityhub.CfnAutomationRuleV2.OcsfBooleanFilterProperty(
3802
+ field_name="fieldName",
3803
+ filter=securityhub.CfnAutomationRuleV2.BooleanFilterProperty(
3804
+ value=False
3805
+ )
3806
+ )],
3807
+ date_filters=[securityhub.CfnAutomationRuleV2.OcsfDateFilterProperty(
3808
+ field_name="fieldName",
3809
+ filter=securityhub.CfnAutomationRuleV2.DateFilterProperty(
3810
+ date_range=securityhub.CfnAutomationRuleV2.DateRangeProperty(
3811
+ unit="unit",
3812
+ value=123
3813
+ ),
3814
+ end="end",
3815
+ start="start"
3816
+ )
3817
+ )],
3818
+ map_filters=[securityhub.CfnAutomationRuleV2.OcsfMapFilterProperty(
3819
+ field_name="fieldName",
3820
+ filter=securityhub.CfnAutomationRuleV2.MapFilterProperty(
3821
+ comparison="comparison",
3822
+ key="key",
3823
+ value="value"
3824
+ )
3825
+ )],
3826
+ number_filters=[securityhub.CfnAutomationRuleV2.OcsfNumberFilterProperty(
3827
+ field_name="fieldName",
3828
+ filter=securityhub.CfnAutomationRuleV2.NumberFilterProperty(
3829
+ eq=123,
3830
+ gte=123,
3831
+ lte=123
3832
+ )
3833
+ )],
3834
+ operator="operator",
3835
+ string_filters=[securityhub.CfnAutomationRuleV2.OcsfStringFilterProperty(
3836
+ field_name="fieldName",
3837
+ filter=securityhub.CfnAutomationRuleV2.StringFilterProperty(
3838
+ comparison="comparison",
3839
+ value="value"
3840
+ )
3841
+ )]
3842
+ )
3843
+ '''
3844
+ if __debug__:
3845
+ type_hints = typing.get_type_hints(_typecheckingstub__ef5252b213e349428bc417b1dd29e26751fcc25bde34b016a3eaf19d58151f2e)
3846
+ check_type(argname="argument boolean_filters", value=boolean_filters, expected_type=type_hints["boolean_filters"])
3847
+ check_type(argname="argument date_filters", value=date_filters, expected_type=type_hints["date_filters"])
3848
+ check_type(argname="argument map_filters", value=map_filters, expected_type=type_hints["map_filters"])
3849
+ check_type(argname="argument number_filters", value=number_filters, expected_type=type_hints["number_filters"])
3850
+ check_type(argname="argument operator", value=operator, expected_type=type_hints["operator"])
3851
+ check_type(argname="argument string_filters", value=string_filters, expected_type=type_hints["string_filters"])
3852
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3853
+ if boolean_filters is not None:
3854
+ self._values["boolean_filters"] = boolean_filters
3855
+ if date_filters is not None:
3856
+ self._values["date_filters"] = date_filters
3857
+ if map_filters is not None:
3858
+ self._values["map_filters"] = map_filters
3859
+ if number_filters is not None:
3860
+ self._values["number_filters"] = number_filters
3861
+ if operator is not None:
3862
+ self._values["operator"] = operator
3863
+ if string_filters is not None:
3864
+ self._values["string_filters"] = string_filters
3865
+
3866
+ @builtins.property
3867
+ def boolean_filters(
3868
+ self,
3869
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.OcsfBooleanFilterProperty"]]]]:
3870
+ '''Enables filtering based on boolean field values.
3871
+
3872
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-compositefilter.html#cfn-securityhub-automationrulev2-compositefilter-booleanfilters
3873
+ '''
3874
+ result = self._values.get("boolean_filters")
3875
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.OcsfBooleanFilterProperty"]]]], result)
3876
+
3877
+ @builtins.property
3878
+ def date_filters(
3879
+ self,
3880
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.OcsfDateFilterProperty"]]]]:
3881
+ '''Enables filtering based on date and timestamp fields.
3882
+
3883
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-compositefilter.html#cfn-securityhub-automationrulev2-compositefilter-datefilters
3884
+ '''
3885
+ result = self._values.get("date_filters")
3886
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.OcsfDateFilterProperty"]]]], result)
3887
+
3888
+ @builtins.property
3889
+ def map_filters(
3890
+ self,
3891
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.OcsfMapFilterProperty"]]]]:
3892
+ '''Enables the creation of filtering criteria for security findings.
3893
+
3894
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-compositefilter.html#cfn-securityhub-automationrulev2-compositefilter-mapfilters
3895
+ '''
3896
+ result = self._values.get("map_filters")
3897
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.OcsfMapFilterProperty"]]]], result)
3898
+
3899
+ @builtins.property
3900
+ def number_filters(
3901
+ self,
3902
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.OcsfNumberFilterProperty"]]]]:
3903
+ '''Enables filtering based on numerical field values.
3904
+
3905
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-compositefilter.html#cfn-securityhub-automationrulev2-compositefilter-numberfilters
3906
+ '''
3907
+ result = self._values.get("number_filters")
3908
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.OcsfNumberFilterProperty"]]]], result)
3909
+
3910
+ @builtins.property
3911
+ def operator(self) -> typing.Optional[builtins.str]:
3912
+ '''The logical operator used to combine multiple filter conditions.
3913
+
3914
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-compositefilter.html#cfn-securityhub-automationrulev2-compositefilter-operator
3915
+ '''
3916
+ result = self._values.get("operator")
3917
+ return typing.cast(typing.Optional[builtins.str], result)
3918
+
3919
+ @builtins.property
3920
+ def string_filters(
3921
+ self,
3922
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.OcsfStringFilterProperty"]]]]:
3923
+ '''Enables filtering based on string field values.
3924
+
3925
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-compositefilter.html#cfn-securityhub-automationrulev2-compositefilter-stringfilters
3926
+ '''
3927
+ result = self._values.get("string_filters")
3928
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.OcsfStringFilterProperty"]]]], result)
3929
+
3930
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3931
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3932
+
3933
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3934
+ return not (rhs == self)
3935
+
3936
+ def __repr__(self) -> str:
3937
+ return "CompositeFilterProperty(%s)" % ", ".join(
3938
+ k + "=" + repr(v) for k, v in self._values.items()
3939
+ )
3940
+
3941
+ @jsii.data_type(
3942
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.CriteriaProperty",
3943
+ jsii_struct_bases=[],
3944
+ name_mapping={"ocsf_finding_criteria": "ocsfFindingCriteria"},
3945
+ )
3946
+ class CriteriaProperty:
3947
+ def __init__(
3948
+ self,
3949
+ *,
3950
+ ocsf_finding_criteria: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.OcsfFindingFiltersProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3951
+ ) -> None:
3952
+ '''The filtering type and configuration of the automation rule.
3953
+
3954
+ :param ocsf_finding_criteria: The filtering conditions that align with OCSF standards.
3955
+
3956
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-criteria.html
3957
+ :exampleMetadata: fixture=_generated
3958
+
3959
+ Example::
3960
+
3961
+ # The code below shows an example of how to instantiate this type.
3962
+ # The values are placeholders you should change.
3963
+ from aws_cdk import aws_securityhub as securityhub
3964
+
3965
+ criteria_property = securityhub.CfnAutomationRuleV2.CriteriaProperty(
3966
+ ocsf_finding_criteria=securityhub.CfnAutomationRuleV2.OcsfFindingFiltersProperty(
3967
+ composite_filters=[securityhub.CfnAutomationRuleV2.CompositeFilterProperty(
3968
+ boolean_filters=[securityhub.CfnAutomationRuleV2.OcsfBooleanFilterProperty(
3969
+ field_name="fieldName",
3970
+ filter=securityhub.CfnAutomationRuleV2.BooleanFilterProperty(
3971
+ value=False
3972
+ )
3973
+ )],
3974
+ date_filters=[securityhub.CfnAutomationRuleV2.OcsfDateFilterProperty(
3975
+ field_name="fieldName",
3976
+ filter=securityhub.CfnAutomationRuleV2.DateFilterProperty(
3977
+ date_range=securityhub.CfnAutomationRuleV2.DateRangeProperty(
3978
+ unit="unit",
3979
+ value=123
3980
+ ),
3981
+ end="end",
3982
+ start="start"
3983
+ )
3984
+ )],
3985
+ map_filters=[securityhub.CfnAutomationRuleV2.OcsfMapFilterProperty(
3986
+ field_name="fieldName",
3987
+ filter=securityhub.CfnAutomationRuleV2.MapFilterProperty(
3988
+ comparison="comparison",
3989
+ key="key",
3990
+ value="value"
3991
+ )
3992
+ )],
3993
+ number_filters=[securityhub.CfnAutomationRuleV2.OcsfNumberFilterProperty(
3994
+ field_name="fieldName",
3995
+ filter=securityhub.CfnAutomationRuleV2.NumberFilterProperty(
3996
+ eq=123,
3997
+ gte=123,
3998
+ lte=123
3999
+ )
4000
+ )],
4001
+ operator="operator",
4002
+ string_filters=[securityhub.CfnAutomationRuleV2.OcsfStringFilterProperty(
4003
+ field_name="fieldName",
4004
+ filter=securityhub.CfnAutomationRuleV2.StringFilterProperty(
4005
+ comparison="comparison",
4006
+ value="value"
4007
+ )
4008
+ )]
4009
+ )],
4010
+ composite_operator="compositeOperator"
4011
+ )
4012
+ )
4013
+ '''
4014
+ if __debug__:
4015
+ type_hints = typing.get_type_hints(_typecheckingstub__1ba9d632d542a300365cf2fd23759ae4458525cb9c085d0a969ca6b488962b63)
4016
+ check_type(argname="argument ocsf_finding_criteria", value=ocsf_finding_criteria, expected_type=type_hints["ocsf_finding_criteria"])
4017
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
4018
+ if ocsf_finding_criteria is not None:
4019
+ self._values["ocsf_finding_criteria"] = ocsf_finding_criteria
4020
+
4021
+ @builtins.property
4022
+ def ocsf_finding_criteria(
4023
+ self,
4024
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.OcsfFindingFiltersProperty"]]:
4025
+ '''The filtering conditions that align with OCSF standards.
4026
+
4027
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-criteria.html#cfn-securityhub-automationrulev2-criteria-ocsffindingcriteria
4028
+ '''
4029
+ result = self._values.get("ocsf_finding_criteria")
4030
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.OcsfFindingFiltersProperty"]], result)
4031
+
4032
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4033
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4034
+
4035
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4036
+ return not (rhs == self)
4037
+
4038
+ def __repr__(self) -> str:
4039
+ return "CriteriaProperty(%s)" % ", ".join(
4040
+ k + "=" + repr(v) for k, v in self._values.items()
4041
+ )
4042
+
4043
+ @jsii.data_type(
4044
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.DateFilterProperty",
4045
+ jsii_struct_bases=[],
4046
+ name_mapping={"date_range": "dateRange", "end": "end", "start": "start"},
4047
+ )
4048
+ class DateFilterProperty:
4049
+ def __init__(
4050
+ self,
4051
+ *,
4052
+ date_range: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.DateRangeProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4053
+ end: typing.Optional[builtins.str] = None,
4054
+ start: typing.Optional[builtins.str] = None,
4055
+ ) -> None:
4056
+ '''A date filter for querying findings.
4057
+
4058
+ :param date_range: A date range for the date filter.
4059
+ :param end: A timestamp that provides the end date for the date filter. For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
4060
+ :param start: A timestamp that provides the start date for the date filter. For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
4061
+
4062
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-datefilter.html
4063
+ :exampleMetadata: fixture=_generated
4064
+
4065
+ Example::
4066
+
4067
+ # The code below shows an example of how to instantiate this type.
4068
+ # The values are placeholders you should change.
4069
+ from aws_cdk import aws_securityhub as securityhub
4070
+
4071
+ date_filter_property = securityhub.CfnAutomationRuleV2.DateFilterProperty(
4072
+ date_range=securityhub.CfnAutomationRuleV2.DateRangeProperty(
4073
+ unit="unit",
4074
+ value=123
4075
+ ),
4076
+ end="end",
4077
+ start="start"
4078
+ )
4079
+ '''
4080
+ if __debug__:
4081
+ type_hints = typing.get_type_hints(_typecheckingstub__3d21b2c9e81f0b05c0b5eae1aed977679e202dd65257b012d2ffca3404d4bce2)
4082
+ check_type(argname="argument date_range", value=date_range, expected_type=type_hints["date_range"])
4083
+ check_type(argname="argument end", value=end, expected_type=type_hints["end"])
4084
+ check_type(argname="argument start", value=start, expected_type=type_hints["start"])
4085
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
4086
+ if date_range is not None:
4087
+ self._values["date_range"] = date_range
4088
+ if end is not None:
4089
+ self._values["end"] = end
4090
+ if start is not None:
4091
+ self._values["start"] = start
4092
+
4093
+ @builtins.property
4094
+ def date_range(
4095
+ self,
4096
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.DateRangeProperty"]]:
4097
+ '''A date range for the date filter.
4098
+
4099
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-datefilter.html#cfn-securityhub-automationrulev2-datefilter-daterange
4100
+ '''
4101
+ result = self._values.get("date_range")
4102
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.DateRangeProperty"]], result)
4103
+
4104
+ @builtins.property
4105
+ def end(self) -> typing.Optional[builtins.str]:
4106
+ '''A timestamp that provides the end date for the date filter.
4107
+
4108
+ For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
4109
+
4110
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-datefilter.html#cfn-securityhub-automationrulev2-datefilter-end
4111
+ '''
4112
+ result = self._values.get("end")
4113
+ return typing.cast(typing.Optional[builtins.str], result)
4114
+
4115
+ @builtins.property
4116
+ def start(self) -> typing.Optional[builtins.str]:
4117
+ '''A timestamp that provides the start date for the date filter.
4118
+
4119
+ For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
4120
+
4121
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-datefilter.html#cfn-securityhub-automationrulev2-datefilter-start
4122
+ '''
4123
+ result = self._values.get("start")
4124
+ return typing.cast(typing.Optional[builtins.str], result)
4125
+
4126
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4127
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4128
+
4129
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4130
+ return not (rhs == self)
4131
+
4132
+ def __repr__(self) -> str:
4133
+ return "DateFilterProperty(%s)" % ", ".join(
4134
+ k + "=" + repr(v) for k, v in self._values.items()
4135
+ )
4136
+
4137
+ @jsii.data_type(
4138
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.DateRangeProperty",
4139
+ jsii_struct_bases=[],
4140
+ name_mapping={"unit": "unit", "value": "value"},
4141
+ )
4142
+ class DateRangeProperty:
4143
+ def __init__(self, *, unit: builtins.str, value: jsii.Number) -> None:
4144
+ '''A date range for the date filter.
4145
+
4146
+ :param unit: A date range unit for the date filter.
4147
+ :param value: A date range value for the date filter.
4148
+
4149
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-daterange.html
4150
+ :exampleMetadata: fixture=_generated
4151
+
4152
+ Example::
4153
+
4154
+ # The code below shows an example of how to instantiate this type.
4155
+ # The values are placeholders you should change.
4156
+ from aws_cdk import aws_securityhub as securityhub
4157
+
4158
+ date_range_property = securityhub.CfnAutomationRuleV2.DateRangeProperty(
4159
+ unit="unit",
4160
+ value=123
4161
+ )
4162
+ '''
4163
+ if __debug__:
4164
+ type_hints = typing.get_type_hints(_typecheckingstub__6cd41336e92eb03ceeaab0c8bb04ecdcbaa676b6a22a3cd4a1f8ba069311dc05)
4165
+ check_type(argname="argument unit", value=unit, expected_type=type_hints["unit"])
4166
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4167
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4168
+ "unit": unit,
4169
+ "value": value,
4170
+ }
4171
+
4172
+ @builtins.property
4173
+ def unit(self) -> builtins.str:
4174
+ '''A date range unit for the date filter.
4175
+
4176
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-daterange.html#cfn-securityhub-automationrulev2-daterange-unit
4177
+ '''
4178
+ result = self._values.get("unit")
4179
+ assert result is not None, "Required property 'unit' is missing"
4180
+ return typing.cast(builtins.str, result)
4181
+
4182
+ @builtins.property
4183
+ def value(self) -> jsii.Number:
4184
+ '''A date range value for the date filter.
4185
+
4186
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-daterange.html#cfn-securityhub-automationrulev2-daterange-value
4187
+ '''
4188
+ result = self._values.get("value")
4189
+ assert result is not None, "Required property 'value' is missing"
4190
+ return typing.cast(jsii.Number, result)
4191
+
4192
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4193
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4194
+
4195
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4196
+ return not (rhs == self)
4197
+
4198
+ def __repr__(self) -> str:
4199
+ return "DateRangeProperty(%s)" % ", ".join(
4200
+ k + "=" + repr(v) for k, v in self._values.items()
4201
+ )
4202
+
4203
+ @jsii.data_type(
4204
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.ExternalIntegrationConfigurationProperty",
4205
+ jsii_struct_bases=[],
4206
+ name_mapping={"connector_arn": "connectorArn"},
4207
+ )
4208
+ class ExternalIntegrationConfigurationProperty:
4209
+ def __init__(
4210
+ self,
4211
+ *,
4212
+ connector_arn: typing.Optional[builtins.str] = None,
4213
+ ) -> None:
4214
+ '''The settings for integrating automation rule actions with external systems or service.
4215
+
4216
+ :param connector_arn: The ARN of the connector that establishes the integration.
4217
+
4218
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-externalintegrationconfiguration.html
4219
+ :exampleMetadata: fixture=_generated
4220
+
4221
+ Example::
4222
+
4223
+ # The code below shows an example of how to instantiate this type.
4224
+ # The values are placeholders you should change.
4225
+ from aws_cdk import aws_securityhub as securityhub
4226
+
4227
+ external_integration_configuration_property = securityhub.CfnAutomationRuleV2.ExternalIntegrationConfigurationProperty(
4228
+ connector_arn="connectorArn"
4229
+ )
4230
+ '''
4231
+ if __debug__:
4232
+ type_hints = typing.get_type_hints(_typecheckingstub__a2fd9a1462ca1711dacb92a0d07d564ed40fe787a40d0cfcdebf274371c09173)
4233
+ check_type(argname="argument connector_arn", value=connector_arn, expected_type=type_hints["connector_arn"])
4234
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
4235
+ if connector_arn is not None:
4236
+ self._values["connector_arn"] = connector_arn
4237
+
4238
+ @builtins.property
4239
+ def connector_arn(self) -> typing.Optional[builtins.str]:
4240
+ '''The ARN of the connector that establishes the integration.
4241
+
4242
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-externalintegrationconfiguration.html#cfn-securityhub-automationrulev2-externalintegrationconfiguration-connectorarn
4243
+ '''
4244
+ result = self._values.get("connector_arn")
4245
+ return typing.cast(typing.Optional[builtins.str], result)
4246
+
4247
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4248
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4249
+
4250
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4251
+ return not (rhs == self)
4252
+
4253
+ def __repr__(self) -> str:
4254
+ return "ExternalIntegrationConfigurationProperty(%s)" % ", ".join(
4255
+ k + "=" + repr(v) for k, v in self._values.items()
4256
+ )
4257
+
4258
+ @jsii.data_type(
4259
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.MapFilterProperty",
4260
+ jsii_struct_bases=[],
4261
+ name_mapping={"comparison": "comparison", "key": "key", "value": "value"},
4262
+ )
4263
+ class MapFilterProperty:
4264
+ def __init__(
4265
+ self,
4266
+ *,
4267
+ comparison: builtins.str,
4268
+ key: builtins.str,
4269
+ value: builtins.str,
4270
+ ) -> None:
4271
+ '''A map filter for filtering Security Hub findings.
4272
+
4273
+ Each map filter provides the field to check for, the value to check for, and the comparison operator.
4274
+
4275
+ :param comparison: The condition to apply to the key value when filtering Security Hub findings with a map filter. To search for values that have the filter value, use one of the following comparison operators: - To search for values that include the filter value, use ``CONTAINS`` . For example, for the ``ResourceTags`` field, the filter ``Department CONTAINS Security`` matches findings that include the value ``Security`` for the ``Department`` tag. In the same example, a finding with a value of ``Security team`` for the ``Department`` tag is a match. - To search for values that exactly match the filter value, use ``EQUALS`` . For example, for the ``ResourceTags`` field, the filter ``Department EQUALS Security`` matches findings that have the value ``Security`` for the ``Department`` tag. ``CONTAINS`` and ``EQUALS`` filters on the same field are joined by ``OR`` . A finding matches if it matches any one of those filters. For example, the filters ``Department CONTAINS Security OR Department CONTAINS Finance`` match a finding that includes either ``Security`` , ``Finance`` , or both values. To search for values that don't have the filter value, use one of the following comparison operators: - To search for values that exclude the filter value, use ``NOT_CONTAINS`` . For example, for the ``ResourceTags`` field, the filter ``Department NOT_CONTAINS Finance`` matches findings that exclude the value ``Finance`` for the ``Department`` tag. - To search for values other than the filter value, use ``NOT_EQUALS`` . For example, for the ``ResourceTags`` field, the filter ``Department NOT_EQUALS Finance`` matches findings that don’t have the value ``Finance`` for the ``Department`` tag. ``NOT_CONTAINS`` and ``NOT_EQUALS`` filters on the same field are joined by ``AND`` . A finding matches only if it matches all of those filters. For example, the filters ``Department NOT_CONTAINS Security AND Department NOT_CONTAINS Finance`` match a finding that excludes both the ``Security`` and ``Finance`` values. ``CONTAINS`` filters can only be used with other ``CONTAINS`` filters. ``NOT_CONTAINS`` filters can only be used with other ``NOT_CONTAINS`` filters. You can’t have both a ``CONTAINS`` filter and a ``NOT_CONTAINS`` filter on the same field. Similarly, you can’t have both an ``EQUALS`` filter and a ``NOT_EQUALS`` filter on the same field. Combining filters in this way returns an error. ``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *Security Hub User Guide* .
4276
+ :param key: The key of the map filter. For example, for ``ResourceTags`` , ``Key`` identifies the name of the tag. For ``UserDefinedFields`` , ``Key`` is the name of the field.
4277
+ :param value: The value for the key in the map filter. Filter values are case sensitive. For example, one of the values for a tag called ``Department`` might be ``Security`` . If you provide ``security`` as the filter value, then there's no match.
4278
+
4279
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-mapfilter.html
4280
+ :exampleMetadata: fixture=_generated
4281
+
4282
+ Example::
4283
+
4284
+ # The code below shows an example of how to instantiate this type.
4285
+ # The values are placeholders you should change.
4286
+ from aws_cdk import aws_securityhub as securityhub
4287
+
4288
+ map_filter_property = securityhub.CfnAutomationRuleV2.MapFilterProperty(
4289
+ comparison="comparison",
4290
+ key="key",
4291
+ value="value"
4292
+ )
4293
+ '''
4294
+ if __debug__:
4295
+ type_hints = typing.get_type_hints(_typecheckingstub__3ce382a730a7d946b88f0a9bbc8ee839e8cc4048403520f61f9601274312c198)
4296
+ check_type(argname="argument comparison", value=comparison, expected_type=type_hints["comparison"])
4297
+ check_type(argname="argument key", value=key, expected_type=type_hints["key"])
4298
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4299
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4300
+ "comparison": comparison,
4301
+ "key": key,
4302
+ "value": value,
4303
+ }
4304
+
4305
+ @builtins.property
4306
+ def comparison(self) -> builtins.str:
4307
+ '''The condition to apply to the key value when filtering Security Hub findings with a map filter.
4308
+
4309
+ To search for values that have the filter value, use one of the following comparison operators:
4310
+
4311
+ - To search for values that include the filter value, use ``CONTAINS`` . For example, for the ``ResourceTags`` field, the filter ``Department CONTAINS Security`` matches findings that include the value ``Security`` for the ``Department`` tag. In the same example, a finding with a value of ``Security team`` for the ``Department`` tag is a match.
4312
+ - To search for values that exactly match the filter value, use ``EQUALS`` . For example, for the ``ResourceTags`` field, the filter ``Department EQUALS Security`` matches findings that have the value ``Security`` for the ``Department`` tag.
4313
+
4314
+ ``CONTAINS`` and ``EQUALS`` filters on the same field are joined by ``OR`` . A finding matches if it matches any one of those filters. For example, the filters ``Department CONTAINS Security OR Department CONTAINS Finance`` match a finding that includes either ``Security`` , ``Finance`` , or both values.
4315
+
4316
+ To search for values that don't have the filter value, use one of the following comparison operators:
4317
+
4318
+ - To search for values that exclude the filter value, use ``NOT_CONTAINS`` . For example, for the ``ResourceTags`` field, the filter ``Department NOT_CONTAINS Finance`` matches findings that exclude the value ``Finance`` for the ``Department`` tag.
4319
+ - To search for values other than the filter value, use ``NOT_EQUALS`` . For example, for the ``ResourceTags`` field, the filter ``Department NOT_EQUALS Finance`` matches findings that don’t have the value ``Finance`` for the ``Department`` tag.
4320
+
4321
+ ``NOT_CONTAINS`` and ``NOT_EQUALS`` filters on the same field are joined by ``AND`` . A finding matches only if it matches all of those filters. For example, the filters ``Department NOT_CONTAINS Security AND Department NOT_CONTAINS Finance`` match a finding that excludes both the ``Security`` and ``Finance`` values.
4322
+
4323
+ ``CONTAINS`` filters can only be used with other ``CONTAINS`` filters. ``NOT_CONTAINS`` filters can only be used with other ``NOT_CONTAINS`` filters.
4324
+
4325
+ You can’t have both a ``CONTAINS`` filter and a ``NOT_CONTAINS`` filter on the same field. Similarly, you can’t have both an ``EQUALS`` filter and a ``NOT_EQUALS`` filter on the same field. Combining filters in this way returns an error.
4326
+
4327
+ ``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *Security Hub User Guide* .
4328
+
4329
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-mapfilter.html#cfn-securityhub-automationrulev2-mapfilter-comparison
4330
+ '''
4331
+ result = self._values.get("comparison")
4332
+ assert result is not None, "Required property 'comparison' is missing"
4333
+ return typing.cast(builtins.str, result)
4334
+
4335
+ @builtins.property
4336
+ def key(self) -> builtins.str:
4337
+ '''The key of the map filter.
4338
+
4339
+ For example, for ``ResourceTags`` , ``Key`` identifies the name of the tag. For ``UserDefinedFields`` , ``Key`` is the name of the field.
4340
+
4341
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-mapfilter.html#cfn-securityhub-automationrulev2-mapfilter-key
4342
+ '''
4343
+ result = self._values.get("key")
4344
+ assert result is not None, "Required property 'key' is missing"
4345
+ return typing.cast(builtins.str, result)
4346
+
4347
+ @builtins.property
4348
+ def value(self) -> builtins.str:
4349
+ '''The value for the key in the map filter.
4350
+
4351
+ Filter values are case sensitive. For example, one of the values for a tag called ``Department`` might be ``Security`` . If you provide ``security`` as the filter value, then there's no match.
4352
+
4353
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-mapfilter.html#cfn-securityhub-automationrulev2-mapfilter-value
4354
+ '''
4355
+ result = self._values.get("value")
4356
+ assert result is not None, "Required property 'value' is missing"
4357
+ return typing.cast(builtins.str, result)
4358
+
4359
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4360
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4361
+
4362
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4363
+ return not (rhs == self)
4364
+
4365
+ def __repr__(self) -> str:
4366
+ return "MapFilterProperty(%s)" % ", ".join(
4367
+ k + "=" + repr(v) for k, v in self._values.items()
4368
+ )
4369
+
4370
+ @jsii.data_type(
4371
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.NumberFilterProperty",
4372
+ jsii_struct_bases=[],
4373
+ name_mapping={"eq": "eq", "gte": "gte", "lte": "lte"},
4374
+ )
4375
+ class NumberFilterProperty:
4376
+ def __init__(
4377
+ self,
4378
+ *,
4379
+ eq: typing.Optional[jsii.Number] = None,
4380
+ gte: typing.Optional[jsii.Number] = None,
4381
+ lte: typing.Optional[jsii.Number] = None,
4382
+ ) -> None:
4383
+ '''A number filter for querying findings.
4384
+
4385
+ :param eq: The equal-to condition to be applied to a single field when querying for findings.
4386
+ :param gte: The greater-than-equal condition to be applied to a single field when querying for findings.
4387
+ :param lte: The less-than-equal condition to be applied to a single field when querying for findings.
4388
+
4389
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-numberfilter.html
4390
+ :exampleMetadata: fixture=_generated
4391
+
4392
+ Example::
4393
+
4394
+ # The code below shows an example of how to instantiate this type.
4395
+ # The values are placeholders you should change.
4396
+ from aws_cdk import aws_securityhub as securityhub
4397
+
4398
+ number_filter_property = securityhub.CfnAutomationRuleV2.NumberFilterProperty(
4399
+ eq=123,
4400
+ gte=123,
4401
+ lte=123
4402
+ )
4403
+ '''
4404
+ if __debug__:
4405
+ type_hints = typing.get_type_hints(_typecheckingstub__647dc97c620209dca2753ac34dae13a3a6afc9916dad52290296e2565ad48048)
4406
+ check_type(argname="argument eq", value=eq, expected_type=type_hints["eq"])
4407
+ check_type(argname="argument gte", value=gte, expected_type=type_hints["gte"])
4408
+ check_type(argname="argument lte", value=lte, expected_type=type_hints["lte"])
4409
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
4410
+ if eq is not None:
4411
+ self._values["eq"] = eq
4412
+ if gte is not None:
4413
+ self._values["gte"] = gte
4414
+ if lte is not None:
4415
+ self._values["lte"] = lte
4416
+
4417
+ @builtins.property
4418
+ def eq(self) -> typing.Optional[jsii.Number]:
4419
+ '''The equal-to condition to be applied to a single field when querying for findings.
4420
+
4421
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-numberfilter.html#cfn-securityhub-automationrulev2-numberfilter-eq
4422
+ '''
4423
+ result = self._values.get("eq")
4424
+ return typing.cast(typing.Optional[jsii.Number], result)
4425
+
4426
+ @builtins.property
4427
+ def gte(self) -> typing.Optional[jsii.Number]:
4428
+ '''The greater-than-equal condition to be applied to a single field when querying for findings.
4429
+
4430
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-numberfilter.html#cfn-securityhub-automationrulev2-numberfilter-gte
4431
+ '''
4432
+ result = self._values.get("gte")
4433
+ return typing.cast(typing.Optional[jsii.Number], result)
4434
+
4435
+ @builtins.property
4436
+ def lte(self) -> typing.Optional[jsii.Number]:
4437
+ '''The less-than-equal condition to be applied to a single field when querying for findings.
4438
+
4439
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-numberfilter.html#cfn-securityhub-automationrulev2-numberfilter-lte
4440
+ '''
4441
+ result = self._values.get("lte")
4442
+ return typing.cast(typing.Optional[jsii.Number], result)
4443
+
4444
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4445
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4446
+
4447
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4448
+ return not (rhs == self)
4449
+
4450
+ def __repr__(self) -> str:
4451
+ return "NumberFilterProperty(%s)" % ", ".join(
4452
+ k + "=" + repr(v) for k, v in self._values.items()
4453
+ )
4454
+
4455
+ @jsii.data_type(
4456
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.OcsfBooleanFilterProperty",
4457
+ jsii_struct_bases=[],
4458
+ name_mapping={"field_name": "fieldName", "filter": "filter"},
4459
+ )
4460
+ class OcsfBooleanFilterProperty:
4461
+ def __init__(
4462
+ self,
4463
+ *,
4464
+ field_name: builtins.str,
4465
+ filter: typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.BooleanFilterProperty", typing.Dict[builtins.str, typing.Any]]],
4466
+ ) -> None:
4467
+ '''Enables filtering of security findings based on boolean field values in OCSF.
4468
+
4469
+ :param field_name: The name of the field.
4470
+ :param filter: Enables filtering of security findings based on boolean field values in OCSF.
4471
+
4472
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsfbooleanfilter.html
4473
+ :exampleMetadata: fixture=_generated
4474
+
4475
+ Example::
4476
+
4477
+ # The code below shows an example of how to instantiate this type.
4478
+ # The values are placeholders you should change.
4479
+ from aws_cdk import aws_securityhub as securityhub
4480
+
4481
+ ocsf_boolean_filter_property = securityhub.CfnAutomationRuleV2.OcsfBooleanFilterProperty(
4482
+ field_name="fieldName",
4483
+ filter=securityhub.CfnAutomationRuleV2.BooleanFilterProperty(
4484
+ value=False
4485
+ )
4486
+ )
4487
+ '''
4488
+ if __debug__:
4489
+ type_hints = typing.get_type_hints(_typecheckingstub__a42eba30c4eef0c19b5165ead711c40b18983e8c78c7eaafba9deb680ec94bfd)
4490
+ check_type(argname="argument field_name", value=field_name, expected_type=type_hints["field_name"])
4491
+ check_type(argname="argument filter", value=filter, expected_type=type_hints["filter"])
4492
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4493
+ "field_name": field_name,
4494
+ "filter": filter,
4495
+ }
4496
+
4497
+ @builtins.property
4498
+ def field_name(self) -> builtins.str:
4499
+ '''The name of the field.
4500
+
4501
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsfbooleanfilter.html#cfn-securityhub-automationrulev2-ocsfbooleanfilter-fieldname
4502
+ '''
4503
+ result = self._values.get("field_name")
4504
+ assert result is not None, "Required property 'field_name' is missing"
4505
+ return typing.cast(builtins.str, result)
4506
+
4507
+ @builtins.property
4508
+ def filter(
4509
+ self,
4510
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.BooleanFilterProperty"]:
4511
+ '''Enables filtering of security findings based on boolean field values in OCSF.
4512
+
4513
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsfbooleanfilter.html#cfn-securityhub-automationrulev2-ocsfbooleanfilter-filter
4514
+ '''
4515
+ result = self._values.get("filter")
4516
+ assert result is not None, "Required property 'filter' is missing"
4517
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.BooleanFilterProperty"], result)
4518
+
4519
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4520
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4521
+
4522
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4523
+ return not (rhs == self)
4524
+
4525
+ def __repr__(self) -> str:
4526
+ return "OcsfBooleanFilterProperty(%s)" % ", ".join(
4527
+ k + "=" + repr(v) for k, v in self._values.items()
4528
+ )
4529
+
4530
+ @jsii.data_type(
4531
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.OcsfDateFilterProperty",
4532
+ jsii_struct_bases=[],
4533
+ name_mapping={"field_name": "fieldName", "filter": "filter"},
4534
+ )
4535
+ class OcsfDateFilterProperty:
4536
+ def __init__(
4537
+ self,
4538
+ *,
4539
+ field_name: builtins.str,
4540
+ filter: typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.DateFilterProperty", typing.Dict[builtins.str, typing.Any]]],
4541
+ ) -> None:
4542
+ '''Enables filtering of security findings based on date and timestamp fields in OCSF.
4543
+
4544
+ :param field_name: The name of the field.
4545
+ :param filter: Enables filtering of security findings based on date and timestamp fields in OCSF.
4546
+
4547
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsfdatefilter.html
4548
+ :exampleMetadata: fixture=_generated
4549
+
4550
+ Example::
4551
+
4552
+ # The code below shows an example of how to instantiate this type.
4553
+ # The values are placeholders you should change.
4554
+ from aws_cdk import aws_securityhub as securityhub
4555
+
4556
+ ocsf_date_filter_property = securityhub.CfnAutomationRuleV2.OcsfDateFilterProperty(
4557
+ field_name="fieldName",
4558
+ filter=securityhub.CfnAutomationRuleV2.DateFilterProperty(
4559
+ date_range=securityhub.CfnAutomationRuleV2.DateRangeProperty(
4560
+ unit="unit",
4561
+ value=123
4562
+ ),
4563
+ end="end",
4564
+ start="start"
4565
+ )
4566
+ )
4567
+ '''
4568
+ if __debug__:
4569
+ type_hints = typing.get_type_hints(_typecheckingstub__0835da7838d6730412395869f245eb4865e7ae2b63a637022d4a3475231c342f)
4570
+ check_type(argname="argument field_name", value=field_name, expected_type=type_hints["field_name"])
4571
+ check_type(argname="argument filter", value=filter, expected_type=type_hints["filter"])
4572
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4573
+ "field_name": field_name,
4574
+ "filter": filter,
4575
+ }
4576
+
4577
+ @builtins.property
4578
+ def field_name(self) -> builtins.str:
4579
+ '''The name of the field.
4580
+
4581
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsfdatefilter.html#cfn-securityhub-automationrulev2-ocsfdatefilter-fieldname
4582
+ '''
4583
+ result = self._values.get("field_name")
4584
+ assert result is not None, "Required property 'field_name' is missing"
4585
+ return typing.cast(builtins.str, result)
4586
+
4587
+ @builtins.property
4588
+ def filter(
4589
+ self,
4590
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.DateFilterProperty"]:
4591
+ '''Enables filtering of security findings based on date and timestamp fields in OCSF.
4592
+
4593
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsfdatefilter.html#cfn-securityhub-automationrulev2-ocsfdatefilter-filter
4594
+ '''
4595
+ result = self._values.get("filter")
4596
+ assert result is not None, "Required property 'filter' is missing"
4597
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.DateFilterProperty"], result)
4598
+
4599
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4600
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4601
+
4602
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4603
+ return not (rhs == self)
4604
+
4605
+ def __repr__(self) -> str:
4606
+ return "OcsfDateFilterProperty(%s)" % ", ".join(
4607
+ k + "=" + repr(v) for k, v in self._values.items()
4608
+ )
4609
+
4610
+ @jsii.data_type(
4611
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.OcsfFindingFiltersProperty",
4612
+ jsii_struct_bases=[],
4613
+ name_mapping={
4614
+ "composite_filters": "compositeFilters",
4615
+ "composite_operator": "compositeOperator",
4616
+ },
4617
+ )
4618
+ class OcsfFindingFiltersProperty:
4619
+ def __init__(
4620
+ self,
4621
+ *,
4622
+ composite_filters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.CompositeFilterProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
4623
+ composite_operator: typing.Optional[builtins.str] = None,
4624
+ ) -> None:
4625
+ '''Specifies the filtering criteria for security findings using OCSF.
4626
+
4627
+ :param composite_filters: Enables the creation of complex filtering conditions by combining filter criteria.
4628
+ :param composite_operator: The logical operators used to combine the filtering on multiple ``CompositeFilters`` .
4629
+
4630
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsffindingfilters.html
4631
+ :exampleMetadata: fixture=_generated
4632
+
4633
+ Example::
4634
+
4635
+ # The code below shows an example of how to instantiate this type.
4636
+ # The values are placeholders you should change.
4637
+ from aws_cdk import aws_securityhub as securityhub
4638
+
4639
+ ocsf_finding_filters_property = securityhub.CfnAutomationRuleV2.OcsfFindingFiltersProperty(
4640
+ composite_filters=[securityhub.CfnAutomationRuleV2.CompositeFilterProperty(
4641
+ boolean_filters=[securityhub.CfnAutomationRuleV2.OcsfBooleanFilterProperty(
4642
+ field_name="fieldName",
4643
+ filter=securityhub.CfnAutomationRuleV2.BooleanFilterProperty(
4644
+ value=False
4645
+ )
4646
+ )],
4647
+ date_filters=[securityhub.CfnAutomationRuleV2.OcsfDateFilterProperty(
4648
+ field_name="fieldName",
4649
+ filter=securityhub.CfnAutomationRuleV2.DateFilterProperty(
4650
+ date_range=securityhub.CfnAutomationRuleV2.DateRangeProperty(
4651
+ unit="unit",
4652
+ value=123
4653
+ ),
4654
+ end="end",
4655
+ start="start"
4656
+ )
4657
+ )],
4658
+ map_filters=[securityhub.CfnAutomationRuleV2.OcsfMapFilterProperty(
4659
+ field_name="fieldName",
4660
+ filter=securityhub.CfnAutomationRuleV2.MapFilterProperty(
4661
+ comparison="comparison",
4662
+ key="key",
4663
+ value="value"
4664
+ )
4665
+ )],
4666
+ number_filters=[securityhub.CfnAutomationRuleV2.OcsfNumberFilterProperty(
4667
+ field_name="fieldName",
4668
+ filter=securityhub.CfnAutomationRuleV2.NumberFilterProperty(
4669
+ eq=123,
4670
+ gte=123,
4671
+ lte=123
4672
+ )
4673
+ )],
4674
+ operator="operator",
4675
+ string_filters=[securityhub.CfnAutomationRuleV2.OcsfStringFilterProperty(
4676
+ field_name="fieldName",
4677
+ filter=securityhub.CfnAutomationRuleV2.StringFilterProperty(
4678
+ comparison="comparison",
4679
+ value="value"
4680
+ )
4681
+ )]
4682
+ )],
4683
+ composite_operator="compositeOperator"
4684
+ )
4685
+ '''
4686
+ if __debug__:
4687
+ type_hints = typing.get_type_hints(_typecheckingstub__67b27a03af9c079f8cc42cdfa5f8df4adc151b555e1080317dfc2e8c5873519c)
4688
+ check_type(argname="argument composite_filters", value=composite_filters, expected_type=type_hints["composite_filters"])
4689
+ check_type(argname="argument composite_operator", value=composite_operator, expected_type=type_hints["composite_operator"])
4690
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
4691
+ if composite_filters is not None:
4692
+ self._values["composite_filters"] = composite_filters
4693
+ if composite_operator is not None:
4694
+ self._values["composite_operator"] = composite_operator
4695
+
4696
+ @builtins.property
4697
+ def composite_filters(
4698
+ self,
4699
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.CompositeFilterProperty"]]]]:
4700
+ '''Enables the creation of complex filtering conditions by combining filter criteria.
4701
+
4702
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsffindingfilters.html#cfn-securityhub-automationrulev2-ocsffindingfilters-compositefilters
4703
+ '''
4704
+ result = self._values.get("composite_filters")
4705
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.CompositeFilterProperty"]]]], result)
4706
+
4707
+ @builtins.property
4708
+ def composite_operator(self) -> typing.Optional[builtins.str]:
4709
+ '''The logical operators used to combine the filtering on multiple ``CompositeFilters`` .
4710
+
4711
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsffindingfilters.html#cfn-securityhub-automationrulev2-ocsffindingfilters-compositeoperator
4712
+ '''
4713
+ result = self._values.get("composite_operator")
4714
+ return typing.cast(typing.Optional[builtins.str], result)
4715
+
4716
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4717
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4718
+
4719
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4720
+ return not (rhs == self)
4721
+
4722
+ def __repr__(self) -> str:
4723
+ return "OcsfFindingFiltersProperty(%s)" % ", ".join(
4724
+ k + "=" + repr(v) for k, v in self._values.items()
4725
+ )
4726
+
4727
+ @jsii.data_type(
4728
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.OcsfMapFilterProperty",
4729
+ jsii_struct_bases=[],
4730
+ name_mapping={"field_name": "fieldName", "filter": "filter"},
4731
+ )
4732
+ class OcsfMapFilterProperty:
4733
+ def __init__(
4734
+ self,
4735
+ *,
4736
+ field_name: builtins.str,
4737
+ filter: typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.MapFilterProperty", typing.Dict[builtins.str, typing.Any]]],
4738
+ ) -> None:
4739
+ '''Enables filtering of security findings based on map field values in OCSF.
4740
+
4741
+ :param field_name: The name of the field.
4742
+ :param filter: Enables filtering of security findings based on map field values in OCSF.
4743
+
4744
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsfmapfilter.html
4745
+ :exampleMetadata: fixture=_generated
4746
+
4747
+ Example::
4748
+
4749
+ # The code below shows an example of how to instantiate this type.
4750
+ # The values are placeholders you should change.
4751
+ from aws_cdk import aws_securityhub as securityhub
4752
+
4753
+ ocsf_map_filter_property = securityhub.CfnAutomationRuleV2.OcsfMapFilterProperty(
4754
+ field_name="fieldName",
4755
+ filter=securityhub.CfnAutomationRuleV2.MapFilterProperty(
4756
+ comparison="comparison",
4757
+ key="key",
4758
+ value="value"
4759
+ )
4760
+ )
4761
+ '''
4762
+ if __debug__:
4763
+ type_hints = typing.get_type_hints(_typecheckingstub__b733ec921abf18e15f42cbdb443df518e81d6c48b4cf4b2397f4812a20240777)
4764
+ check_type(argname="argument field_name", value=field_name, expected_type=type_hints["field_name"])
4765
+ check_type(argname="argument filter", value=filter, expected_type=type_hints["filter"])
4766
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4767
+ "field_name": field_name,
4768
+ "filter": filter,
4769
+ }
4770
+
4771
+ @builtins.property
4772
+ def field_name(self) -> builtins.str:
4773
+ '''The name of the field.
4774
+
4775
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsfmapfilter.html#cfn-securityhub-automationrulev2-ocsfmapfilter-fieldname
4776
+ '''
4777
+ result = self._values.get("field_name")
4778
+ assert result is not None, "Required property 'field_name' is missing"
4779
+ return typing.cast(builtins.str, result)
4780
+
4781
+ @builtins.property
4782
+ def filter(
4783
+ self,
4784
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.MapFilterProperty"]:
4785
+ '''Enables filtering of security findings based on map field values in OCSF.
4786
+
4787
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsfmapfilter.html#cfn-securityhub-automationrulev2-ocsfmapfilter-filter
4788
+ '''
4789
+ result = self._values.get("filter")
4790
+ assert result is not None, "Required property 'filter' is missing"
4791
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.MapFilterProperty"], result)
4792
+
4793
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4794
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4795
+
4796
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4797
+ return not (rhs == self)
4798
+
4799
+ def __repr__(self) -> str:
4800
+ return "OcsfMapFilterProperty(%s)" % ", ".join(
4801
+ k + "=" + repr(v) for k, v in self._values.items()
4802
+ )
4803
+
4804
+ @jsii.data_type(
4805
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.OcsfNumberFilterProperty",
4806
+ jsii_struct_bases=[],
4807
+ name_mapping={"field_name": "fieldName", "filter": "filter"},
4808
+ )
4809
+ class OcsfNumberFilterProperty:
4810
+ def __init__(
4811
+ self,
4812
+ *,
4813
+ field_name: builtins.str,
4814
+ filter: typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.NumberFilterProperty", typing.Dict[builtins.str, typing.Any]]],
4815
+ ) -> None:
4816
+ '''Enables filtering of security findings based on numerical field values in OCSF.
4817
+
4818
+ :param field_name: The name of the field.
4819
+ :param filter: Enables filtering of security findings based on numerical field values in OCSF.
4820
+
4821
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsfnumberfilter.html
4822
+ :exampleMetadata: fixture=_generated
4823
+
4824
+ Example::
4825
+
4826
+ # The code below shows an example of how to instantiate this type.
4827
+ # The values are placeholders you should change.
4828
+ from aws_cdk import aws_securityhub as securityhub
4829
+
4830
+ ocsf_number_filter_property = securityhub.CfnAutomationRuleV2.OcsfNumberFilterProperty(
4831
+ field_name="fieldName",
4832
+ filter=securityhub.CfnAutomationRuleV2.NumberFilterProperty(
4833
+ eq=123,
4834
+ gte=123,
4835
+ lte=123
4836
+ )
4837
+ )
4838
+ '''
4839
+ if __debug__:
4840
+ type_hints = typing.get_type_hints(_typecheckingstub__96733fb6348f5b5cd478197a8fee3f33665015a9b17eb4ce28d9ca28862964c7)
4841
+ check_type(argname="argument field_name", value=field_name, expected_type=type_hints["field_name"])
4842
+ check_type(argname="argument filter", value=filter, expected_type=type_hints["filter"])
4843
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4844
+ "field_name": field_name,
4845
+ "filter": filter,
4846
+ }
4847
+
4848
+ @builtins.property
4849
+ def field_name(self) -> builtins.str:
4850
+ '''The name of the field.
4851
+
4852
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsfnumberfilter.html#cfn-securityhub-automationrulev2-ocsfnumberfilter-fieldname
4853
+ '''
4854
+ result = self._values.get("field_name")
4855
+ assert result is not None, "Required property 'field_name' is missing"
4856
+ return typing.cast(builtins.str, result)
4857
+
4858
+ @builtins.property
4859
+ def filter(
4860
+ self,
4861
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.NumberFilterProperty"]:
4862
+ '''Enables filtering of security findings based on numerical field values in OCSF.
4863
+
4864
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsfnumberfilter.html#cfn-securityhub-automationrulev2-ocsfnumberfilter-filter
4865
+ '''
4866
+ result = self._values.get("filter")
4867
+ assert result is not None, "Required property 'filter' is missing"
4868
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.NumberFilterProperty"], result)
4869
+
4870
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4871
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4872
+
4873
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4874
+ return not (rhs == self)
4875
+
4876
+ def __repr__(self) -> str:
4877
+ return "OcsfNumberFilterProperty(%s)" % ", ".join(
4878
+ k + "=" + repr(v) for k, v in self._values.items()
4879
+ )
4880
+
4881
+ @jsii.data_type(
4882
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.OcsfStringFilterProperty",
4883
+ jsii_struct_bases=[],
4884
+ name_mapping={"field_name": "fieldName", "filter": "filter"},
4885
+ )
4886
+ class OcsfStringFilterProperty:
4887
+ def __init__(
4888
+ self,
4889
+ *,
4890
+ field_name: builtins.str,
4891
+ filter: typing.Union[_IResolvable_da3f097b, typing.Union["CfnAutomationRuleV2.StringFilterProperty", typing.Dict[builtins.str, typing.Any]]],
4892
+ ) -> None:
4893
+ '''Enables filtering of security findings based on string field values in OCSF.
4894
+
4895
+ :param field_name: The name of the field.
4896
+ :param filter: Enables filtering of security findings based on string field values in OCSF.
4897
+
4898
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsfstringfilter.html
4899
+ :exampleMetadata: fixture=_generated
4900
+
4901
+ Example::
4902
+
4903
+ # The code below shows an example of how to instantiate this type.
4904
+ # The values are placeholders you should change.
4905
+ from aws_cdk import aws_securityhub as securityhub
4906
+
4907
+ ocsf_string_filter_property = securityhub.CfnAutomationRuleV2.OcsfStringFilterProperty(
4908
+ field_name="fieldName",
4909
+ filter=securityhub.CfnAutomationRuleV2.StringFilterProperty(
4910
+ comparison="comparison",
4911
+ value="value"
4912
+ )
4913
+ )
4914
+ '''
4915
+ if __debug__:
4916
+ type_hints = typing.get_type_hints(_typecheckingstub__664006d14466473dd08a13af9d06be4f13672817d578a3e7b6c2e476b7e219f0)
4917
+ check_type(argname="argument field_name", value=field_name, expected_type=type_hints["field_name"])
4918
+ check_type(argname="argument filter", value=filter, expected_type=type_hints["filter"])
4919
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4920
+ "field_name": field_name,
4921
+ "filter": filter,
4922
+ }
4923
+
4924
+ @builtins.property
4925
+ def field_name(self) -> builtins.str:
4926
+ '''The name of the field.
4927
+
4928
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsfstringfilter.html#cfn-securityhub-automationrulev2-ocsfstringfilter-fieldname
4929
+ '''
4930
+ result = self._values.get("field_name")
4931
+ assert result is not None, "Required property 'field_name' is missing"
4932
+ return typing.cast(builtins.str, result)
4933
+
4934
+ @builtins.property
4935
+ def filter(
4936
+ self,
4937
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.StringFilterProperty"]:
4938
+ '''Enables filtering of security findings based on string field values in OCSF.
4939
+
4940
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-ocsfstringfilter.html#cfn-securityhub-automationrulev2-ocsfstringfilter-filter
4941
+ '''
4942
+ result = self._values.get("filter")
4943
+ assert result is not None, "Required property 'filter' is missing"
4944
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnAutomationRuleV2.StringFilterProperty"], result)
4945
+
4946
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4947
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4948
+
4949
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4950
+ return not (rhs == self)
4951
+
4952
+ def __repr__(self) -> str:
4953
+ return "OcsfStringFilterProperty(%s)" % ", ".join(
4954
+ k + "=" + repr(v) for k, v in self._values.items()
4955
+ )
4956
+
4957
+ @jsii.data_type(
4958
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2.StringFilterProperty",
4959
+ jsii_struct_bases=[],
4960
+ name_mapping={"comparison": "comparison", "value": "value"},
4961
+ )
4962
+ class StringFilterProperty:
4963
+ def __init__(self, *, comparison: builtins.str, value: builtins.str) -> None:
4964
+ '''A string filter for filtering Security Hub findings.
4965
+
4966
+ :param comparison: The condition to apply to a string value when filtering Security Hub findings. To search for values that have the filter value, use one of the following comparison operators: - To search for values that include the filter value, use ``CONTAINS`` . For example, the filter ``Title CONTAINS CloudFront`` matches findings that have a ``Title`` that includes the string CloudFront. - To search for values that exactly match the filter value, use ``EQUALS`` . For example, the filter ``AwsAccountId EQUALS 123456789012`` only matches findings that have an account ID of ``123456789012`` . - To search for values that start with the filter value, use ``PREFIX`` . For example, the filter ``ResourceRegion PREFIX us`` matches findings that have a ``ResourceRegion`` that starts with ``us`` . A ``ResourceRegion`` that starts with a different value, such as ``af`` , ``ap`` , or ``ca`` , doesn't match. ``CONTAINS`` , ``EQUALS`` , and ``PREFIX`` filters on the same field are joined by ``OR`` . A finding matches if it matches any one of those filters. For example, the filters ``Title CONTAINS CloudFront OR Title CONTAINS CloudWatch`` match a finding that includes either ``CloudFront`` , ``CloudWatch`` , or both strings in the title. To search for values that don’t have the filter value, use one of the following comparison operators: - To search for values that exclude the filter value, use ``NOT_CONTAINS`` . For example, the filter ``Title NOT_CONTAINS CloudFront`` matches findings that have a ``Title`` that excludes the string CloudFront. - To search for values other than the filter value, use ``NOT_EQUALS`` . For example, the filter ``AwsAccountId NOT_EQUALS 123456789012`` only matches findings that have an account ID other than ``123456789012`` . - To search for values that don't start with the filter value, use ``PREFIX_NOT_EQUALS`` . For example, the filter ``ResourceRegion PREFIX_NOT_EQUALS us`` matches findings with a ``ResourceRegion`` that starts with a value other than ``us`` . ``NOT_CONTAINS`` , ``NOT_EQUALS`` , and ``PREFIX_NOT_EQUALS`` filters on the same field are joined by ``AND`` . A finding matches only if it matches all of those filters. For example, the filters ``Title NOT_CONTAINS CloudFront AND Title NOT_CONTAINS CloudWatch`` match a finding that excludes both ``CloudFront`` and ``CloudWatch`` in the title. You can’t have both a ``CONTAINS`` filter and a ``NOT_CONTAINS`` filter on the same field. Similarly, you can't provide both an ``EQUALS`` filter and a ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filter on the same field. Combining filters in this way returns an error. ``CONTAINS`` filters can only be used with other ``CONTAINS`` filters. ``NOT_CONTAINS`` filters can only be used with other ``NOT_CONTAINS`` filters. You can combine ``PREFIX`` filters with ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filters for the same field. Security Hub first processes the ``PREFIX`` filters, and then the ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filters. For example, for the following filters, Security Hub first identifies findings that have resource types that start with either ``AwsIam`` or ``AwsEc2`` . It then excludes findings that have a resource type of ``AwsIamPolicy`` and findings that have a resource type of ``AwsEc2NetworkInterface`` . - ``ResourceType PREFIX AwsIam`` - ``ResourceType PREFIX AwsEc2`` - ``ResourceType NOT_EQUALS AwsIamPolicy`` - ``ResourceType NOT_EQUALS AwsEc2NetworkInterface`` ``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules V1. ``CONTAINS_WORD`` operator is only supported in ``GetFindingsV2`` , ``GetFindingStatisticsV2`` , ``GetResourcesV2`` , and ``GetResourceStatisticsV2`` APIs. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *Security Hub User Guide* .
4967
+ :param value: The string filter value. Filter values are case sensitive. For example, the product name for control-based findings is ``Security Hub`` . If you provide ``security hub`` as the filter value, there's no match.
4968
+
4969
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-stringfilter.html
4970
+ :exampleMetadata: fixture=_generated
4971
+
4972
+ Example::
4973
+
4974
+ # The code below shows an example of how to instantiate this type.
4975
+ # The values are placeholders you should change.
4976
+ from aws_cdk import aws_securityhub as securityhub
4977
+
4978
+ string_filter_property = securityhub.CfnAutomationRuleV2.StringFilterProperty(
4979
+ comparison="comparison",
4980
+ value="value"
4981
+ )
4982
+ '''
4983
+ if __debug__:
4984
+ type_hints = typing.get_type_hints(_typecheckingstub__5b950655292e8a1a447bc6fef9ec46917dffad72edcfb67f4bae7b7bdbd3100b)
4985
+ check_type(argname="argument comparison", value=comparison, expected_type=type_hints["comparison"])
4986
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4987
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4988
+ "comparison": comparison,
4989
+ "value": value,
4990
+ }
4991
+
4992
+ @builtins.property
4993
+ def comparison(self) -> builtins.str:
4994
+ '''The condition to apply to a string value when filtering Security Hub findings.
4995
+
4996
+ To search for values that have the filter value, use one of the following comparison operators:
4997
+
4998
+ - To search for values that include the filter value, use ``CONTAINS`` . For example, the filter ``Title CONTAINS CloudFront`` matches findings that have a ``Title`` that includes the string CloudFront.
4999
+ - To search for values that exactly match the filter value, use ``EQUALS`` . For example, the filter ``AwsAccountId EQUALS 123456789012`` only matches findings that have an account ID of ``123456789012`` .
5000
+ - To search for values that start with the filter value, use ``PREFIX`` . For example, the filter ``ResourceRegion PREFIX us`` matches findings that have a ``ResourceRegion`` that starts with ``us`` . A ``ResourceRegion`` that starts with a different value, such as ``af`` , ``ap`` , or ``ca`` , doesn't match.
5001
+
5002
+ ``CONTAINS`` , ``EQUALS`` , and ``PREFIX`` filters on the same field are joined by ``OR`` . A finding matches if it matches any one of those filters. For example, the filters ``Title CONTAINS CloudFront OR Title CONTAINS CloudWatch`` match a finding that includes either ``CloudFront`` , ``CloudWatch`` , or both strings in the title.
5003
+
5004
+ To search for values that don’t have the filter value, use one of the following comparison operators:
5005
+
5006
+ - To search for values that exclude the filter value, use ``NOT_CONTAINS`` . For example, the filter ``Title NOT_CONTAINS CloudFront`` matches findings that have a ``Title`` that excludes the string CloudFront.
5007
+ - To search for values other than the filter value, use ``NOT_EQUALS`` . For example, the filter ``AwsAccountId NOT_EQUALS 123456789012`` only matches findings that have an account ID other than ``123456789012`` .
5008
+ - To search for values that don't start with the filter value, use ``PREFIX_NOT_EQUALS`` . For example, the filter ``ResourceRegion PREFIX_NOT_EQUALS us`` matches findings with a ``ResourceRegion`` that starts with a value other than ``us`` .
5009
+
5010
+ ``NOT_CONTAINS`` , ``NOT_EQUALS`` , and ``PREFIX_NOT_EQUALS`` filters on the same field are joined by ``AND`` . A finding matches only if it matches all of those filters. For example, the filters ``Title NOT_CONTAINS CloudFront AND Title NOT_CONTAINS CloudWatch`` match a finding that excludes both ``CloudFront`` and ``CloudWatch`` in the title.
5011
+
5012
+ You can’t have both a ``CONTAINS`` filter and a ``NOT_CONTAINS`` filter on the same field. Similarly, you can't provide both an ``EQUALS`` filter and a ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filter on the same field. Combining filters in this way returns an error. ``CONTAINS`` filters can only be used with other ``CONTAINS`` filters. ``NOT_CONTAINS`` filters can only be used with other ``NOT_CONTAINS`` filters.
5013
+
5014
+ You can combine ``PREFIX`` filters with ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filters for the same field. Security Hub first processes the ``PREFIX`` filters, and then the ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filters.
5015
+
5016
+ For example, for the following filters, Security Hub first identifies findings that have resource types that start with either ``AwsIam`` or ``AwsEc2`` . It then excludes findings that have a resource type of ``AwsIamPolicy`` and findings that have a resource type of ``AwsEc2NetworkInterface`` .
5017
+
5018
+ - ``ResourceType PREFIX AwsIam``
5019
+ - ``ResourceType PREFIX AwsEc2``
5020
+ - ``ResourceType NOT_EQUALS AwsIamPolicy``
5021
+ - ``ResourceType NOT_EQUALS AwsEc2NetworkInterface``
5022
+
5023
+ ``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules V1. ``CONTAINS_WORD`` operator is only supported in ``GetFindingsV2`` , ``GetFindingStatisticsV2`` , ``GetResourcesV2`` , and ``GetResourceStatisticsV2`` APIs. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *Security Hub User Guide* .
5024
+
5025
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-stringfilter.html#cfn-securityhub-automationrulev2-stringfilter-comparison
5026
+ '''
5027
+ result = self._values.get("comparison")
5028
+ assert result is not None, "Required property 'comparison' is missing"
5029
+ return typing.cast(builtins.str, result)
5030
+
5031
+ @builtins.property
5032
+ def value(self) -> builtins.str:
5033
+ '''The string filter value.
5034
+
5035
+ Filter values are case sensitive. For example, the product name for control-based findings is ``Security Hub`` . If you provide ``security hub`` as the filter value, there's no match.
5036
+
5037
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrulev2-stringfilter.html#cfn-securityhub-automationrulev2-stringfilter-value
5038
+ '''
5039
+ result = self._values.get("value")
5040
+ assert result is not None, "Required property 'value' is missing"
5041
+ return typing.cast(builtins.str, result)
5042
+
5043
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5044
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5045
+
5046
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5047
+ return not (rhs == self)
5048
+
5049
+ def __repr__(self) -> str:
5050
+ return "StringFilterProperty(%s)" % ", ".join(
5051
+ k + "=" + repr(v) for k, v in self._values.items()
5052
+ )
5053
+
5054
+
5055
+ @jsii.data_type(
5056
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnAutomationRuleV2Props",
5057
+ jsii_struct_bases=[],
5058
+ name_mapping={
5059
+ "actions": "actions",
5060
+ "criteria": "criteria",
5061
+ "description": "description",
5062
+ "rule_name": "ruleName",
5063
+ "rule_order": "ruleOrder",
5064
+ "rule_status": "ruleStatus",
5065
+ "tags": "tags",
5066
+ },
5067
+ )
5068
+ class CfnAutomationRuleV2Props:
5069
+ def __init__(
5070
+ self,
5071
+ *,
5072
+ actions: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.AutomationRulesActionV2Property, typing.Dict[builtins.str, typing.Any]]]]],
5073
+ criteria: typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.CriteriaProperty, typing.Dict[builtins.str, typing.Any]]],
5074
+ description: builtins.str,
5075
+ rule_name: builtins.str,
5076
+ rule_order: jsii.Number,
5077
+ rule_status: typing.Optional[builtins.str] = None,
5078
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
5079
+ ) -> None:
5080
+ '''Properties for defining a ``CfnAutomationRuleV2``.
5081
+
5082
+ :param actions: A list of actions to be performed when the rule criteria is met.
5083
+ :param criteria: The filtering type and configuration of the automation rule.
5084
+ :param description: A description of the V2 automation rule.
5085
+ :param rule_name: The name of the V2 automation rule.
5086
+ :param rule_order: The value for the rule priority.
5087
+ :param rule_status: The status of the V2 automation rule.
5088
+ :param tags: A list of key-value pairs associated with the V2 automation rule.
5089
+
5090
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrulev2.html
5091
+ :exampleMetadata: fixture=_generated
5092
+
5093
+ Example::
5094
+
5095
+ # The code below shows an example of how to instantiate this type.
5096
+ # The values are placeholders you should change.
5097
+ from aws_cdk import aws_securityhub as securityhub
5098
+
5099
+ cfn_automation_rule_v2_props = securityhub.CfnAutomationRuleV2Props(
5100
+ actions=[securityhub.CfnAutomationRuleV2.AutomationRulesActionV2Property(
5101
+ type="type",
5102
+
5103
+ # the properties below are optional
5104
+ external_integration_configuration=securityhub.CfnAutomationRuleV2.ExternalIntegrationConfigurationProperty(
5105
+ connector_arn="connectorArn"
5106
+ ),
5107
+ finding_fields_update=securityhub.CfnAutomationRuleV2.AutomationRulesFindingFieldsUpdateV2Property(
5108
+ comment="comment",
5109
+ severity_id=123,
5110
+ status_id=123
5111
+ )
5112
+ )],
5113
+ criteria=securityhub.CfnAutomationRuleV2.CriteriaProperty(
5114
+ ocsf_finding_criteria=securityhub.CfnAutomationRuleV2.OcsfFindingFiltersProperty(
5115
+ composite_filters=[securityhub.CfnAutomationRuleV2.CompositeFilterProperty(
5116
+ boolean_filters=[securityhub.CfnAutomationRuleV2.OcsfBooleanFilterProperty(
5117
+ field_name="fieldName",
5118
+ filter=securityhub.CfnAutomationRuleV2.BooleanFilterProperty(
5119
+ value=False
5120
+ )
5121
+ )],
5122
+ date_filters=[securityhub.CfnAutomationRuleV2.OcsfDateFilterProperty(
5123
+ field_name="fieldName",
5124
+ filter=securityhub.CfnAutomationRuleV2.DateFilterProperty(
5125
+ date_range=securityhub.CfnAutomationRuleV2.DateRangeProperty(
5126
+ unit="unit",
5127
+ value=123
5128
+ ),
5129
+ end="end",
5130
+ start="start"
5131
+ )
5132
+ )],
5133
+ map_filters=[securityhub.CfnAutomationRuleV2.OcsfMapFilterProperty(
5134
+ field_name="fieldName",
5135
+ filter=securityhub.CfnAutomationRuleV2.MapFilterProperty(
5136
+ comparison="comparison",
5137
+ key="key",
5138
+ value="value"
5139
+ )
5140
+ )],
5141
+ number_filters=[securityhub.CfnAutomationRuleV2.OcsfNumberFilterProperty(
5142
+ field_name="fieldName",
5143
+ filter=securityhub.CfnAutomationRuleV2.NumberFilterProperty(
5144
+ eq=123,
5145
+ gte=123,
5146
+ lte=123
5147
+ )
5148
+ )],
5149
+ operator="operator",
5150
+ string_filters=[securityhub.CfnAutomationRuleV2.OcsfStringFilterProperty(
5151
+ field_name="fieldName",
5152
+ filter=securityhub.CfnAutomationRuleV2.StringFilterProperty(
5153
+ comparison="comparison",
5154
+ value="value"
5155
+ )
5156
+ )]
5157
+ )],
5158
+ composite_operator="compositeOperator"
5159
+ )
5160
+ ),
5161
+ description="description",
5162
+ rule_name="ruleName",
5163
+ rule_order=123,
5164
+
5165
+ # the properties below are optional
5166
+ rule_status="ruleStatus",
5167
+ tags={
5168
+ "tags_key": "tags"
5169
+ }
5170
+ )
5171
+ '''
5172
+ if __debug__:
5173
+ type_hints = typing.get_type_hints(_typecheckingstub__96bf6ac88f339a8dafdb0d899cf9e7c5353a67121a8a0b34137e9631c11f04a4)
5174
+ check_type(argname="argument actions", value=actions, expected_type=type_hints["actions"])
5175
+ check_type(argname="argument criteria", value=criteria, expected_type=type_hints["criteria"])
5176
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
5177
+ check_type(argname="argument rule_name", value=rule_name, expected_type=type_hints["rule_name"])
5178
+ check_type(argname="argument rule_order", value=rule_order, expected_type=type_hints["rule_order"])
5179
+ check_type(argname="argument rule_status", value=rule_status, expected_type=type_hints["rule_status"])
5180
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
5181
+ self._values: typing.Dict[builtins.str, typing.Any] = {
5182
+ "actions": actions,
5183
+ "criteria": criteria,
5184
+ "description": description,
5185
+ "rule_name": rule_name,
5186
+ "rule_order": rule_order,
5187
+ }
5188
+ if rule_status is not None:
5189
+ self._values["rule_status"] = rule_status
5190
+ if tags is not None:
5191
+ self._values["tags"] = tags
5192
+
5193
+ @builtins.property
5194
+ def actions(
5195
+ self,
5196
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnAutomationRuleV2.AutomationRulesActionV2Property]]]:
5197
+ '''A list of actions to be performed when the rule criteria is met.
5198
+
5199
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrulev2.html#cfn-securityhub-automationrulev2-actions
5200
+ '''
5201
+ result = self._values.get("actions")
5202
+ assert result is not None, "Required property 'actions' is missing"
5203
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnAutomationRuleV2.AutomationRulesActionV2Property]]], result)
5204
+
5205
+ @builtins.property
5206
+ def criteria(
5207
+ self,
5208
+ ) -> typing.Union[_IResolvable_da3f097b, CfnAutomationRuleV2.CriteriaProperty]:
5209
+ '''The filtering type and configuration of the automation rule.
5210
+
5211
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrulev2.html#cfn-securityhub-automationrulev2-criteria
5212
+ '''
5213
+ result = self._values.get("criteria")
5214
+ assert result is not None, "Required property 'criteria' is missing"
5215
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnAutomationRuleV2.CriteriaProperty], result)
5216
+
5217
+ @builtins.property
5218
+ def description(self) -> builtins.str:
5219
+ '''A description of the V2 automation rule.
5220
+
5221
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrulev2.html#cfn-securityhub-automationrulev2-description
5222
+ '''
5223
+ result = self._values.get("description")
5224
+ assert result is not None, "Required property 'description' is missing"
5225
+ return typing.cast(builtins.str, result)
5226
+
5227
+ @builtins.property
5228
+ def rule_name(self) -> builtins.str:
5229
+ '''The name of the V2 automation rule.
5230
+
5231
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrulev2.html#cfn-securityhub-automationrulev2-rulename
5232
+ '''
5233
+ result = self._values.get("rule_name")
5234
+ assert result is not None, "Required property 'rule_name' is missing"
5235
+ return typing.cast(builtins.str, result)
5236
+
5237
+ @builtins.property
5238
+ def rule_order(self) -> jsii.Number:
5239
+ '''The value for the rule priority.
5240
+
5241
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrulev2.html#cfn-securityhub-automationrulev2-ruleorder
5242
+ '''
5243
+ result = self._values.get("rule_order")
5244
+ assert result is not None, "Required property 'rule_order' is missing"
5245
+ return typing.cast(jsii.Number, result)
5246
+
5247
+ @builtins.property
5248
+ def rule_status(self) -> typing.Optional[builtins.str]:
5249
+ '''The status of the V2 automation rule.
5250
+
5251
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrulev2.html#cfn-securityhub-automationrulev2-rulestatus
5252
+ '''
5253
+ result = self._values.get("rule_status")
5254
+ return typing.cast(typing.Optional[builtins.str], result)
5255
+
5256
+ @builtins.property
5257
+ def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
5258
+ '''A list of key-value pairs associated with the V2 automation rule.
5259
+
5260
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-automationrulev2.html#cfn-securityhub-automationrulev2-tags
5261
+ '''
5262
+ result = self._values.get("tags")
5263
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
5264
+
5265
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5266
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5267
+
5268
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5269
+ return not (rhs == self)
5270
+
5271
+ def __repr__(self) -> str:
5272
+ return "CfnAutomationRuleV2Props(%s)" % ", ".join(
5273
+ k + "=" + repr(v) for k, v in self._values.items()
5274
+ )
5275
+
5276
+
5277
+ @jsii.implements(_IInspectable_c2943556, _IConfigurationPolicyRef_c5d7ee65, _ITaggableV2_4e6798f8)
5278
+ class CfnConfigurationPolicy(
5279
+ _CfnResource_9df397a6,
5280
+ metaclass=jsii.JSIIMeta,
5281
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnConfigurationPolicy",
5282
+ ):
5283
+ '''The ``AWS::SecurityHub::ConfigurationPolicy`` resource creates a central configuration policy with the defined settings.
5284
+
5285
+ Only the Security Hub delegated administrator can create this resource in the home Region. For more information, see `Central configuration in Security Hub <https://docs.aws.amazon.com/securityhub/latest/userguide/central-configuration-intro.html>`_ in the *Security Hub User Guide* .
5286
+
5287
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-configurationpolicy.html
5288
+ :cloudformationResource: AWS::SecurityHub::ConfigurationPolicy
5289
+ :exampleMetadata: fixture=_generated
5290
+
5291
+ Example::
5292
+
5293
+ # The code below shows an example of how to instantiate this type.
5294
+ # The values are placeholders you should change.
5295
+ from aws_cdk import aws_securityhub as securityhub
5296
+
5297
+ cfn_configuration_policy = securityhub.CfnConfigurationPolicy(self, "MyCfnConfigurationPolicy",
5298
+ configuration_policy=securityhub.CfnConfigurationPolicy.PolicyProperty(
5299
+ security_hub=securityhub.CfnConfigurationPolicy.SecurityHubPolicyProperty(
5300
+ enabled_standard_identifiers=["enabledStandardIdentifiers"],
5301
+ security_controls_configuration=securityhub.CfnConfigurationPolicy.SecurityControlsConfigurationProperty(
5302
+ disabled_security_control_identifiers=["disabledSecurityControlIdentifiers"],
5303
+ enabled_security_control_identifiers=["enabledSecurityControlIdentifiers"],
5304
+ security_control_custom_parameters=[securityhub.CfnConfigurationPolicy.SecurityControlCustomParameterProperty(
5305
+ parameters={
5306
+ "parameters_key": securityhub.CfnConfigurationPolicy.ParameterConfigurationProperty(
5307
+ value_type="valueType",
5308
+
5309
+ # the properties below are optional
5310
+ value=securityhub.CfnConfigurationPolicy.ParameterValueProperty(
5311
+ boolean=False,
5312
+ double=123,
5313
+ enum="enum",
5314
+ enum_list=["enumList"],
5315
+ integer=123,
5316
+ integer_list=[123],
5317
+ string="string",
5318
+ string_list=["stringList"]
5319
+ )
5320
+ )
5321
+ },
5322
+ security_control_id="securityControlId"
5323
+ )]
5324
+ ),
5325
+ service_enabled=False
5326
+ )
5327
+ ),
5328
+ name="name",
5329
+
5330
+ # the properties below are optional
5331
+ description="description",
2961
5332
  tags={
2962
5333
  "tags_key": "tags"
2963
5334
  }
@@ -2974,13 +5345,14 @@ class CfnConfigurationPolicy(
2974
5345
  description: typing.Optional[builtins.str] = None,
2975
5346
  tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
2976
5347
  ) -> None:
2977
- '''
5348
+ '''Create a new ``AWS::SecurityHub::ConfigurationPolicy``.
5349
+
2978
5350
  :param scope: Scope in which this resource is defined.
2979
5351
  :param id: Construct identifier for this resource (unique in its scope).
2980
- :param configuration_policy: An object that defines how AWS Security Hub is configured. It includes whether Security Hub is enabled or disabled, a list of enabled security standards, a list of enabled or disabled security controls, and a list of custom parameter values for specified controls. If you provide a list of security controls that are enabled in the configuration policy, Security Hub disables all other controls (including newly released controls). If you provide a list of security controls that are disabled in the configuration policy, Security Hub enables all other controls (including newly released controls).
5352
+ :param configuration_policy: An object that defines how Security Hub is configured. It includes whether Security Hub is enabled or disabled, a list of enabled security standards, a list of enabled or disabled security controls, and a list of custom parameter values for specified controls. If you provide a list of security controls that are enabled in the configuration policy, Security Hub disables all other controls (including newly released controls). If you provide a list of security controls that are disabled in the configuration policy, Security Hub enables all other controls (including newly released controls).
2981
5353
  :param name: The name of the configuration policy. Alphanumeric characters and the following ASCII characters are permitted: ``-, ., !, *, /`` .
2982
5354
  :param description: The description of the configuration policy.
2983
- :param tags: User-defined tags associated with a configuration policy. For more information, see `Tagging AWS Security Hub resources <https://docs.aws.amazon.com/securityhub/latest/userguide/tagging-resources.html>`_ in the *Security Hub user guide* .
5355
+ :param tags: User-defined tags associated with a configuration policy. For more information, see `Tagging Security Hub resources <https://docs.aws.amazon.com/securityhub/latest/userguide/tagging-resources.html>`_ in the *Security Hub user guide* .
2984
5356
  '''
2985
5357
  if __debug__:
2986
5358
  type_hints = typing.get_type_hints(_typecheckingstub__e2cee5cf3fe5ba0b354ff30ea357f97d4a69893bed692305ae2919f0061404d2)
@@ -3083,12 +5455,18 @@ class CfnConfigurationPolicy(
3083
5455
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
3084
5456
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
3085
5457
 
5458
+ @builtins.property
5459
+ @jsii.member(jsii_name="configurationPolicyRef")
5460
+ def configuration_policy_ref(self) -> _ConfigurationPolicyReference_1c2fb12f:
5461
+ '''A reference to a ConfigurationPolicy resource.'''
5462
+ return typing.cast(_ConfigurationPolicyReference_1c2fb12f, jsii.get(self, "configurationPolicyRef"))
5463
+
3086
5464
  @builtins.property
3087
5465
  @jsii.member(jsii_name="configurationPolicy")
3088
5466
  def configuration_policy(
3089
5467
  self,
3090
5468
  ) -> typing.Union[_IResolvable_da3f097b, "CfnConfigurationPolicy.PolicyProperty"]:
3091
- '''An object that defines how AWS Security Hub is configured.'''
5469
+ '''An object that defines how Security Hub is configured.'''
3092
5470
  return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnConfigurationPolicy.PolicyProperty"], jsii.get(self, "configurationPolicy"))
3093
5471
 
3094
5472
  @configuration_policy.setter
@@ -3157,7 +5535,7 @@ class CfnConfigurationPolicy(
3157
5535
  ) -> None:
3158
5536
  '''An object that provides the current value of a security control parameter and identifies whether it has been customized.
3159
5537
 
3160
- :param value_type: Identifies whether a control parameter uses a custom user-defined value or subscribes to the default AWS Security Hub behavior. When ``ValueType`` is set equal to ``DEFAULT`` , the default behavior can be a specific Security Hub default value, or the default behavior can be to ignore a specific parameter. When ``ValueType`` is set equal to ``DEFAULT`` , Security Hub ignores user-provided input for the ``Value`` field. When ``ValueType`` is set equal to ``CUSTOM`` , the ``Value`` field can't be empty.
5538
+ :param value_type: Identifies whether a control parameter uses a custom user-defined value or subscribes to the default Security Hub behavior. When ``ValueType`` is set equal to ``DEFAULT`` , the default behavior can be a specific Security Hub default value, or the default behavior can be to ignore a specific parameter. When ``ValueType`` is set equal to ``DEFAULT`` , Security Hub ignores user-provided input for the ``Value`` field. When ``ValueType`` is set equal to ``CUSTOM`` , the ``Value`` field can't be empty.
3161
5539
  :param value: The current value of a control parameter.
3162
5540
 
3163
5541
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-configurationpolicy-parameterconfiguration.html
@@ -3197,7 +5575,7 @@ class CfnConfigurationPolicy(
3197
5575
 
3198
5576
  @builtins.property
3199
5577
  def value_type(self) -> builtins.str:
3200
- '''Identifies whether a control parameter uses a custom user-defined value or subscribes to the default AWS Security Hub behavior.
5578
+ '''Identifies whether a control parameter uses a custom user-defined value or subscribes to the default Security Hub behavior.
3201
5579
 
3202
5580
  When ``ValueType`` is set equal to ``DEFAULT`` , the default behavior can be a specific Security Hub default value, or the default behavior can be to ignore a specific parameter. When ``ValueType`` is set equal to ``DEFAULT`` , Security Hub ignores user-provided input for the ``Value`` field.
3203
5581
 
@@ -3415,7 +5793,7 @@ class CfnConfigurationPolicy(
3415
5793
  *,
3416
5794
  security_hub: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConfigurationPolicy.SecurityHubPolicyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3417
5795
  ) -> None:
3418
- '''An object that defines how AWS Security Hub is configured.
5796
+ '''An object that defines how Security Hub is configured.
3419
5797
 
3420
5798
  It includes whether Security Hub is enabled or disabled, a list of enabled security standards, a list of enabled or disabled security controls, and a list of custom parameter values for specified controls. If you provide a list of security controls that are enabled in the configuration policy, Security Hub disables all other controls (including newly released controls). If you provide a list of security controls that are disabled in the configuration policy, Security Hub enables all other controls (including newly released controls).
3421
5799
 
@@ -3598,7 +5976,7 @@ class CfnConfigurationPolicy(
3598
5976
  enabled_security_control_identifiers: typing.Optional[typing.Sequence[builtins.str]] = None,
3599
5977
  security_control_custom_parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConfigurationPolicy.SecurityControlCustomParameterProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
3600
5978
  ) -> None:
3601
- '''An object that defines which security controls are enabled in an AWS Security Hub configuration policy.
5979
+ '''An object that defines which security controls are enabled in an Security Hub configuration policy.
3602
5980
 
3603
5981
  The enablement status of a control is aligned across all of the enabled standards in an account.
3604
5982
 
@@ -3724,7 +6102,7 @@ class CfnConfigurationPolicy(
3724
6102
  security_controls_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConfigurationPolicy.SecurityControlsConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3725
6103
  service_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3726
6104
  ) -> None:
3727
- '''An object that defines how AWS Security Hub is configured.
6105
+ '''An object that defines how Security Hub is configured.
3728
6106
 
3729
6107
  The configuration policy includes whether Security Hub is enabled or disabled, a list of enabled security standards, a list of enabled or disabled security controls, and a list of custom parameter values for specified controls. If you provide a list of security controls that are enabled in the configuration policy, Security Hub disables all other controls (including newly released controls). If you provide a list of security controls that are disabled in the configuration policy, Security Hub enables all other controls (including newly released controls).
3730
6108
 
@@ -3855,10 +6233,10 @@ class CfnConfigurationPolicyProps:
3855
6233
  ) -> None:
3856
6234
  '''Properties for defining a ``CfnConfigurationPolicy``.
3857
6235
 
3858
- :param configuration_policy: An object that defines how AWS Security Hub is configured. It includes whether Security Hub is enabled or disabled, a list of enabled security standards, a list of enabled or disabled security controls, and a list of custom parameter values for specified controls. If you provide a list of security controls that are enabled in the configuration policy, Security Hub disables all other controls (including newly released controls). If you provide a list of security controls that are disabled in the configuration policy, Security Hub enables all other controls (including newly released controls).
6236
+ :param configuration_policy: An object that defines how Security Hub is configured. It includes whether Security Hub is enabled or disabled, a list of enabled security standards, a list of enabled or disabled security controls, and a list of custom parameter values for specified controls. If you provide a list of security controls that are enabled in the configuration policy, Security Hub disables all other controls (including newly released controls). If you provide a list of security controls that are disabled in the configuration policy, Security Hub enables all other controls (including newly released controls).
3859
6237
  :param name: The name of the configuration policy. Alphanumeric characters and the following ASCII characters are permitted: ``-, ., !, *, /`` .
3860
6238
  :param description: The description of the configuration policy.
3861
- :param tags: User-defined tags associated with a configuration policy. For more information, see `Tagging AWS Security Hub resources <https://docs.aws.amazon.com/securityhub/latest/userguide/tagging-resources.html>`_ in the *Security Hub user guide* .
6239
+ :param tags: User-defined tags associated with a configuration policy. For more information, see `Tagging Security Hub resources <https://docs.aws.amazon.com/securityhub/latest/userguide/tagging-resources.html>`_ in the *Security Hub user guide* .
3862
6240
 
3863
6241
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-configurationpolicy.html
3864
6242
  :exampleMetadata: fixture=_generated
@@ -3928,7 +6306,7 @@ class CfnConfigurationPolicyProps:
3928
6306
  def configuration_policy(
3929
6307
  self,
3930
6308
  ) -> typing.Union[_IResolvable_da3f097b, CfnConfigurationPolicy.PolicyProperty]:
3931
- '''An object that defines how AWS Security Hub is configured.
6309
+ '''An object that defines how Security Hub is configured.
3932
6310
 
3933
6311
  It includes whether Security Hub is enabled or disabled, a list of enabled security standards, a list of enabled or disabled security controls, and a list of custom parameter values for specified controls. If you provide a list of security controls that are enabled in the configuration policy, Security Hub disables all other controls (including newly released controls). If you provide a list of security controls that are disabled in the configuration policy, Security Hub enables all other controls (including newly released controls).
3934
6312
 
@@ -3963,7 +6341,7 @@ class CfnConfigurationPolicyProps:
3963
6341
  def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
3964
6342
  '''User-defined tags associated with a configuration policy.
3965
6343
 
3966
- For more information, see `Tagging AWS Security Hub resources <https://docs.aws.amazon.com/securityhub/latest/userguide/tagging-resources.html>`_ in the *Security Hub user guide* .
6344
+ For more information, see `Tagging Security Hub resources <https://docs.aws.amazon.com/securityhub/latest/userguide/tagging-resources.html>`_ in the *Security Hub user guide* .
3967
6345
 
3968
6346
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-configurationpolicy.html#cfn-securityhub-configurationpolicy-tags
3969
6347
  '''
@@ -3982,15 +6360,15 @@ class CfnConfigurationPolicyProps:
3982
6360
  )
3983
6361
 
3984
6362
 
3985
- @jsii.implements(_IInspectable_c2943556)
6363
+ @jsii.implements(_IInspectable_c2943556, _IDelegatedAdminRef_1537f0f1)
3986
6364
  class CfnDelegatedAdmin(
3987
6365
  _CfnResource_9df397a6,
3988
6366
  metaclass=jsii.JSIIMeta,
3989
6367
  jsii_type="aws-cdk-lib.aws_securityhub.CfnDelegatedAdmin",
3990
6368
  ):
3991
- '''The ``AWS::SecurityHub::DelegatedAdmin`` resource designates the delegated AWS Security Hub administrator account for an organization.
6369
+ '''The ``AWS::SecurityHub::DelegatedAdmin`` resource designates the delegated Security Hub administrator account for an organization.
3992
6370
 
3993
- You must enable the integration between Security Hub and AWS Organizations before you can designate a delegated Security Hub administrator. Only the management account for an organization can designate the delegated Security Hub administrator account. For more information, see `Designating the delegated Security Hub administrator <https://docs.aws.amazon.com/securityhub/latest/userguide/designate-orgs-admin-account.html#designate-admin-instructions>`_ in the *AWS Security Hub User Guide* .
6371
+ You must enable the integration between Security Hub and AWS Organizations before you can designate a delegated Security Hub administrator. Only the management account for an organization can designate the delegated Security Hub administrator account. For more information, see `Designating the delegated Security Hub administrator <https://docs.aws.amazon.com/securityhub/latest/userguide/designate-orgs-admin-account.html#designate-admin-instructions>`_ in the *Security Hub User Guide* .
3994
6372
 
3995
6373
  To change the delegated administrator account, remove the current delegated administrator account, and then designate the new account.
3996
6374
 
@@ -4020,7 +6398,8 @@ class CfnDelegatedAdmin(
4020
6398
  *,
4021
6399
  admin_account_id: builtins.str,
4022
6400
  ) -> None:
4023
- '''
6401
+ '''Create a new ``AWS::SecurityHub::DelegatedAdmin``.
6402
+
4024
6403
  :param scope: Scope in which this resource is defined.
4025
6404
  :param id: Construct identifier for this resource (unique in its scope).
4026
6405
  :param admin_account_id: The AWS account identifier of the account to designate as the Security Hub administrator account.
@@ -4086,6 +6465,12 @@ class CfnDelegatedAdmin(
4086
6465
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4087
6466
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4088
6467
 
6468
+ @builtins.property
6469
+ @jsii.member(jsii_name="delegatedAdminRef")
6470
+ def delegated_admin_ref(self) -> _DelegatedAdminReference_bebc4b15:
6471
+ '''A reference to a DelegatedAdmin resource.'''
6472
+ return typing.cast(_DelegatedAdminReference_bebc4b15, jsii.get(self, "delegatedAdminRef"))
6473
+
4089
6474
  @builtins.property
4090
6475
  @jsii.member(jsii_name="adminAccountId")
4091
6476
  def admin_account_id(self) -> builtins.str:
@@ -4153,7 +6538,7 @@ class CfnDelegatedAdminProps:
4153
6538
  )
4154
6539
 
4155
6540
 
4156
- @jsii.implements(_IInspectable_c2943556)
6541
+ @jsii.implements(_IInspectable_c2943556, _IFindingAggregatorRef_bdf7f80f)
4157
6542
  class CfnFindingAggregator(
4158
6543
  _CfnResource_9df397a6,
4159
6544
  metaclass=jsii.JSIIMeta,
@@ -4161,7 +6546,7 @@ class CfnFindingAggregator(
4161
6546
  ):
4162
6547
  '''The ``AWS::SecurityHub::FindingAggregator`` resource enables cross-Region aggregation.
4163
6548
 
4164
- When cross-Region aggregation is enabled, you can aggregate findings, finding updates, insights, control compliance statuses, and security scores from one or more linked Regions to a single aggregation Region. You can then view and manage all of this data from the aggregation Region. For more details about cross-Region aggregation, see `Cross-Region aggregation <https://docs.aws.amazon.com/securityhub/latest/userguide/finding-aggregation.html>`_ in the *AWS Security Hub User Guide*
6549
+ When cross-Region aggregation is enabled, you can aggregate findings, finding updates, insights, control compliance statuses, and security scores from one or more linked Regions to a single aggregation Region. You can then view and manage all of this data from the aggregation Region. For more details about cross-Region aggregation, see `Cross-Region aggregation <https://docs.aws.amazon.com/securityhub/latest/userguide/finding-aggregation.html>`_ in the *Security Hub User Guide*
4165
6550
 
4166
6551
  This resource must be created in the Region that you want to designate as your aggregation Region.
4167
6552
 
@@ -4193,7 +6578,8 @@ class CfnFindingAggregator(
4193
6578
  region_linking_mode: builtins.str,
4194
6579
  regions: typing.Optional[typing.Sequence[builtins.str]] = None,
4195
6580
  ) -> None:
4196
- '''
6581
+ '''Create a new ``AWS::SecurityHub::FindingAggregator``.
6582
+
4197
6583
  :param scope: Scope in which this resource is defined.
4198
6584
  :param id: Construct identifier for this resource (unique in its scope).
4199
6585
  :param region_linking_mode: Indicates whether to aggregate findings from all of the available Regions in the current partition. Also determines whether to automatically aggregate findings from new Regions as Security Hub supports them and you opt into them. The selected option also determines how to use the Regions provided in the Regions list. In AWS CloudFormation , the options for this property are as follows: - ``ALL_REGIONS`` - Indicates to aggregate findings from all of the Regions where Security Hub is enabled. When you choose this option, Security Hub also automatically aggregates findings from new Regions as Security Hub supports them and you opt into them. - ``ALL_REGIONS_EXCEPT_SPECIFIED`` - Indicates to aggregate findings from all of the Regions where Security Hub is enabled, except for the Regions listed in the ``Regions`` parameter. When you choose this option, Security Hub also automatically aggregates findings from new Regions as Security Hub supports them and you opt into them. - ``SPECIFIED_REGIONS`` - Indicates to aggregate findings only from the Regions listed in the ``Regions`` parameter. Security Hub does not automatically aggregate findings from new Regions.
@@ -4266,6 +6652,12 @@ class CfnFindingAggregator(
4266
6652
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4267
6653
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4268
6654
 
6655
+ @builtins.property
6656
+ @jsii.member(jsii_name="findingAggregatorRef")
6657
+ def finding_aggregator_ref(self) -> _FindingAggregatorReference_653c7463:
6658
+ '''A reference to a FindingAggregator resource.'''
6659
+ return typing.cast(_FindingAggregatorReference_653c7463, jsii.get(self, "findingAggregatorRef"))
6660
+
4269
6661
  @builtins.property
4270
6662
  @jsii.member(jsii_name="regionLinkingMode")
4271
6663
  def region_linking_mode(self) -> builtins.str:
@@ -4379,13 +6771,13 @@ class CfnFindingAggregatorProps:
4379
6771
  )
4380
6772
 
4381
6773
 
4382
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
6774
+ @jsii.implements(_IInspectable_c2943556, _IHubRef_afbeae07, _ITaggable_36806126)
4383
6775
  class CfnHub(
4384
6776
  _CfnResource_9df397a6,
4385
6777
  metaclass=jsii.JSIIMeta,
4386
6778
  jsii_type="aws-cdk-lib.aws_securityhub.CfnHub",
4387
6779
  ):
4388
- '''The ``AWS::SecurityHub::Hub`` resource specifies the enablement of the AWS Security Hub service in your AWS account .
6780
+ '''The ``AWS::SecurityHub::Hub`` resource specifies the enablement of the Security Hub service in your AWS account .
4389
6781
 
4390
6782
  The service is enabled in the current AWS Region or the specified Region. You create a separate ``Hub`` resource in each Region in which you want to enable Security Hub .
4391
6783
 
@@ -4425,7 +6817,8 @@ class CfnHub(
4425
6817
  enable_default_standards: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4426
6818
  tags: typing.Any = None,
4427
6819
  ) -> None:
4428
- '''
6820
+ '''Create a new ``AWS::SecurityHub::Hub``.
6821
+
4429
6822
  :param scope: Scope in which this resource is defined.
4430
6823
  :param id: Construct identifier for this resource (unique in its scope).
4431
6824
  :param auto_enable_controls: Whether to automatically enable new controls when they are added to standards that are enabled. By default, this is set to ``true`` , and new controls are enabled automatically. To not automatically enable new controls, set this to ``false`` . When you automatically enable new controls, you can interact with the controls in the console and programmatically immediately after release. However, automatically enabled controls have a temporary default status of ``DISABLED`` . It can take up to several days for Security Hub to process the control release and designate the control as ``ENABLED`` in your account. During the processing period, you can manually enable or disable a control, and Security Hub will maintain that designation regardless of whether you have ``AutoEnableControls`` set to ``true`` .
@@ -4499,6 +6892,12 @@ class CfnHub(
4499
6892
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4500
6893
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4501
6894
 
6895
+ @builtins.property
6896
+ @jsii.member(jsii_name="hubRef")
6897
+ def hub_ref(self) -> _HubReference_30eead86:
6898
+ '''A reference to a Hub resource.'''
6899
+ return typing.cast(_HubReference_30eead86, jsii.get(self, "hubRef"))
6900
+
4502
6901
  @builtins.property
4503
6902
  @jsii.member(jsii_name="tags")
4504
6903
  def tags(self) -> _TagManager_0a598cb3:
@@ -4696,15 +7095,203 @@ class CfnHubProps:
4696
7095
  )
4697
7096
 
4698
7097
 
4699
- @jsii.implements(_IInspectable_c2943556)
7098
+ @jsii.implements(_IInspectable_c2943556, _IHubV2Ref_e1cb746c, _ITaggableV2_4e6798f8)
7099
+ class CfnHubV2(
7100
+ _CfnResource_9df397a6,
7101
+ metaclass=jsii.JSIIMeta,
7102
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnHubV2",
7103
+ ):
7104
+ '''Returns details about the service resource in your account.
7105
+
7106
+ This API is in public preview and subject to change.
7107
+
7108
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hubv2.html
7109
+ :cloudformationResource: AWS::SecurityHub::HubV2
7110
+ :exampleMetadata: fixture=_generated
7111
+
7112
+ Example::
7113
+
7114
+ # The code below shows an example of how to instantiate this type.
7115
+ # The values are placeholders you should change.
7116
+ from aws_cdk import aws_securityhub as securityhub
7117
+
7118
+ cfn_hub_v2 = securityhub.CfnHubV2(self, "MyCfnHubV2",
7119
+ tags={
7120
+ "tags_key": "tags"
7121
+ }
7122
+ )
7123
+ '''
7124
+
7125
+ def __init__(
7126
+ self,
7127
+ scope: _constructs_77d1e7e8.Construct,
7128
+ id: builtins.str,
7129
+ *,
7130
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
7131
+ ) -> None:
7132
+ '''Create a new ``AWS::SecurityHub::HubV2``.
7133
+
7134
+ :param scope: Scope in which this resource is defined.
7135
+ :param id: Construct identifier for this resource (unique in its scope).
7136
+ :param tags: The tags to add to the hub V2 resource when you enable Security Hub.
7137
+ '''
7138
+ if __debug__:
7139
+ type_hints = typing.get_type_hints(_typecheckingstub__8a938d6f02e5cc9357e7ae741d101719d29a8539be57e63f7148a944106dccc1)
7140
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
7141
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
7142
+ props = CfnHubV2Props(tags=tags)
7143
+
7144
+ jsii.create(self.__class__, self, [scope, id, props])
7145
+
7146
+ @jsii.member(jsii_name="inspect")
7147
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
7148
+ '''Examines the CloudFormation resource and discloses attributes.
7149
+
7150
+ :param inspector: tree inspector to collect and process attributes.
7151
+ '''
7152
+ if __debug__:
7153
+ type_hints = typing.get_type_hints(_typecheckingstub__e1dac3a23d94b8e2be0be6ae5d6d56142199c92d98f138b490e9a4036d9897ed)
7154
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
7155
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
7156
+
7157
+ @jsii.member(jsii_name="renderProperties")
7158
+ def _render_properties(
7159
+ self,
7160
+ props: typing.Mapping[builtins.str, typing.Any],
7161
+ ) -> typing.Mapping[builtins.str, typing.Any]:
7162
+ '''
7163
+ :param props: -
7164
+ '''
7165
+ if __debug__:
7166
+ type_hints = typing.get_type_hints(_typecheckingstub__f92498b56c6fcd7d027c6ff068634a704396d6376eee870869ddf3ffcd039b7a)
7167
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
7168
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
7169
+
7170
+ @jsii.python.classproperty
7171
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
7172
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
7173
+ '''The CloudFormation resource type name for this resource class.'''
7174
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
7175
+
7176
+ @builtins.property
7177
+ @jsii.member(jsii_name="attrHubV2Arn")
7178
+ def attr_hub_v2_arn(self) -> builtins.str:
7179
+ '''The ARN of the service resource.
7180
+
7181
+ :cloudformationAttribute: HubV2Arn
7182
+ '''
7183
+ return typing.cast(builtins.str, jsii.get(self, "attrHubV2Arn"))
7184
+
7185
+ @builtins.property
7186
+ @jsii.member(jsii_name="attrSubscribedAt")
7187
+ def attr_subscribed_at(self) -> builtins.str:
7188
+ '''The date and time when the service was enabled in the account.
7189
+
7190
+ :cloudformationAttribute: SubscribedAt
7191
+ '''
7192
+ return typing.cast(builtins.str, jsii.get(self, "attrSubscribedAt"))
7193
+
7194
+ @builtins.property
7195
+ @jsii.member(jsii_name="cdkTagManager")
7196
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
7197
+ '''Tag Manager which manages the tags for this resource.'''
7198
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
7199
+
7200
+ @builtins.property
7201
+ @jsii.member(jsii_name="cfnProperties")
7202
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
7203
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
7204
+
7205
+ @builtins.property
7206
+ @jsii.member(jsii_name="hubV2Ref")
7207
+ def hub_v2_ref(self) -> _HubV2Reference_df6d8d5f:
7208
+ '''A reference to a HubV2 resource.'''
7209
+ return typing.cast(_HubV2Reference_df6d8d5f, jsii.get(self, "hubV2Ref"))
7210
+
7211
+ @builtins.property
7212
+ @jsii.member(jsii_name="tags")
7213
+ def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
7214
+ '''The tags to add to the hub V2 resource when you enable Security Hub.'''
7215
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], jsii.get(self, "tags"))
7216
+
7217
+ @tags.setter
7218
+ def tags(
7219
+ self,
7220
+ value: typing.Optional[typing.Mapping[builtins.str, builtins.str]],
7221
+ ) -> None:
7222
+ if __debug__:
7223
+ type_hints = typing.get_type_hints(_typecheckingstub__6e41e91c55f6f2a331ab968ca257da397cb59475bac947e28be333f8f3cdc7cb)
7224
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
7225
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
7226
+
7227
+
7228
+ @jsii.data_type(
7229
+ jsii_type="aws-cdk-lib.aws_securityhub.CfnHubV2Props",
7230
+ jsii_struct_bases=[],
7231
+ name_mapping={"tags": "tags"},
7232
+ )
7233
+ class CfnHubV2Props:
7234
+ def __init__(
7235
+ self,
7236
+ *,
7237
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
7238
+ ) -> None:
7239
+ '''Properties for defining a ``CfnHubV2``.
7240
+
7241
+ :param tags: The tags to add to the hub V2 resource when you enable Security Hub.
7242
+
7243
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hubv2.html
7244
+ :exampleMetadata: fixture=_generated
7245
+
7246
+ Example::
7247
+
7248
+ # The code below shows an example of how to instantiate this type.
7249
+ # The values are placeholders you should change.
7250
+ from aws_cdk import aws_securityhub as securityhub
7251
+
7252
+ cfn_hub_v2_props = securityhub.CfnHubV2Props(
7253
+ tags={
7254
+ "tags_key": "tags"
7255
+ }
7256
+ )
7257
+ '''
7258
+ if __debug__:
7259
+ type_hints = typing.get_type_hints(_typecheckingstub__5701f591c6bb91f50e9187f704248e0e20e49f80fdbb611b3664c43166095344)
7260
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
7261
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
7262
+ if tags is not None:
7263
+ self._values["tags"] = tags
7264
+
7265
+ @builtins.property
7266
+ def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
7267
+ '''The tags to add to the hub V2 resource when you enable Security Hub.
7268
+
7269
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hubv2.html#cfn-securityhub-hubv2-tags
7270
+ '''
7271
+ result = self._values.get("tags")
7272
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
7273
+
7274
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
7275
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
7276
+
7277
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
7278
+ return not (rhs == self)
7279
+
7280
+ def __repr__(self) -> str:
7281
+ return "CfnHubV2Props(%s)" % ", ".join(
7282
+ k + "=" + repr(v) for k, v in self._values.items()
7283
+ )
7284
+
7285
+
7286
+ @jsii.implements(_IInspectable_c2943556, _IInsightRef_f81a9d16)
4700
7287
  class CfnInsight(
4701
7288
  _CfnResource_9df397a6,
4702
7289
  metaclass=jsii.JSIIMeta,
4703
7290
  jsii_type="aws-cdk-lib.aws_securityhub.CfnInsight",
4704
7291
  ):
4705
- '''The ``AWS::SecurityHub::Insight`` resource creates a custom insight in AWS Security Hub .
7292
+ '''The ``AWS::SecurityHub::Insight`` resource creates a custom insight in Security Hub .
4706
7293
 
4707
- An insight is a collection of findings that relate to a security issue that requires attention or remediation. For more information, see `Insights in AWS Security Hub <https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-insights.html>`_ in the *AWS Security Hub User Guide* .
7294
+ An insight is a collection of findings that relate to a security issue that requires attention or remediation. For more information, see `Insights in Security Hub <https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-insights.html>`_ in the *Security Hub User Guide* .
4708
7295
 
4709
7296
  Tags aren't supported for this resource.
4710
7297
 
@@ -5201,7 +7788,8 @@ class CfnInsight(
5201
7788
  group_by_attribute: builtins.str,
5202
7789
  name: builtins.str,
5203
7790
  ) -> None:
5204
- '''
7791
+ '''Create a new ``AWS::SecurityHub::Insight``.
7792
+
5205
7793
  :param scope: Scope in which this resource is defined.
5206
7794
  :param id: Construct identifier for this resource (unique in its scope).
5207
7795
  :param filters: One or more attributes used to filter the findings included in the insight. The insight only includes findings that match the criteria defined in the filters. You can filter by up to ten finding attributes. For each attribute, you can provide up to 20 filter values.
@@ -5262,6 +7850,12 @@ class CfnInsight(
5262
7850
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
5263
7851
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
5264
7852
 
7853
+ @builtins.property
7854
+ @jsii.member(jsii_name="insightRef")
7855
+ def insight_ref(self) -> _InsightReference_16026cef:
7856
+ '''A reference to a Insight resource.'''
7857
+ return typing.cast(_InsightReference_16026cef, jsii.get(self, "insightRef"))
7858
+
5265
7859
  @builtins.property
5266
7860
  @jsii.member(jsii_name="filters")
5267
7861
  def filters(
@@ -5525,7 +8119,7 @@ class CfnInsight(
5525
8119
  workflow_state: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnInsight.StringFilterProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
5526
8120
  workflow_status: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnInsight.StringFilterProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
5527
8121
  ) -> None:
5528
- '''A collection of filters that are applied to all active findings aggregated by AWS Security Hub .
8122
+ '''A collection of filters that are applied to all active findings aggregated by Security Hub .
5529
8123
 
5530
8124
  You can filter by up to ten finding attributes. For each attribute, you can provide up to 20 filter values.
5531
8125
 
@@ -5538,7 +8132,7 @@ class CfnInsight(
5538
8132
  :param compliance_security_control_parameters_value: The current value of a security control parameter.
5539
8133
  :param compliance_status: Exclusive to findings that are generated as the result of a check run against a specific rule in a supported standard, such as CIS AWS Foundations. Contains security standard-related finding details.
5540
8134
  :param confidence: A finding's confidence. Confidence is defined as the likelihood that a finding accurately identifies the behavior or issue that it was intended to identify. Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent confidence and 100 means 100 percent confidence.
5541
- :param created_at: A timestamp that indicates when the security findings provider created the potential security issue that a finding reflects. For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
8135
+ :param created_at: A timestamp that indicates when the security findings provider created the potential security issue that a finding reflects. For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
5542
8136
  :param criticality: The level of importance assigned to the resources associated with the finding. A score of 0 means that the underlying resources have no criticality, and a score of 100 is reserved for the most critical resources.
5543
8137
  :param description: A finding's description.
5544
8138
  :param finding_provider_fields_confidence: The finding provider value for the finding confidence. Confidence is defined as the likelihood that a finding accurately identifies the behavior or issue that it was intended to identify. Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent confidence and 100 means 100 percent confidence.
@@ -5548,11 +8142,11 @@ class CfnInsight(
5548
8142
  :param finding_provider_fields_severity_label: The finding provider value for the severity label.
5549
8143
  :param finding_provider_fields_severity_original: The finding provider's original value for the severity.
5550
8144
  :param finding_provider_fields_types: One or more finding types that the finding provider assigned to the finding. Uses the format of ``namespace/category/classifier`` that classify a finding. Valid namespace values are: Software and Configuration Checks | TTPs | Effects | Unusual Behaviors | Sensitive Data Identifications
5551
- :param first_observed_at: A timestamp that indicates when the security findings provider first observed the potential security issue that a finding captured. For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
8145
+ :param first_observed_at: A timestamp that indicates when the security findings provider first observed the potential security issue that a finding captured. For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
5552
8146
  :param generator_id: The identifier for the solution-specific component (a discrete unit of logic) that generated a finding. In various security findings providers' solutions, this generator can be called a rule, a check, a detector, a plugin, etc.
5553
8147
  :param id: The security findings provider-specific identifier for a finding.
5554
8148
  :param keyword: This field is deprecated. A keyword for a finding.
5555
- :param last_observed_at: A timestamp that indicates when the security findings provider most recently observed a change in the resource that is involved in the finding. For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
8149
+ :param last_observed_at: A timestamp that indicates when the security findings provider most recently observed a change in the resource that is involved in the finding. For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
5556
8150
  :param malware_name: The name of the malware that was observed.
5557
8151
  :param malware_path: The filesystem path of the malware that was observed.
5558
8152
  :param malware_state: The state of the malware that was observed.
@@ -5571,12 +8165,12 @@ class CfnInsight(
5571
8165
  :param note_text: The text of a note.
5572
8166
  :param note_updated_at: The timestamp of when the note was updated.
5573
8167
  :param note_updated_by: The principal that created a note.
5574
- :param process_launched_at: A timestamp that identifies when the process was launched. For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
8168
+ :param process_launched_at: A timestamp that identifies when the process was launched. For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
5575
8169
  :param process_name: The name of the process.
5576
8170
  :param process_parent_pid: The parent process ID. This field accepts positive integers between ``O`` and ``2147483647`` .
5577
8171
  :param process_path: The path to the process executable.
5578
8172
  :param process_pid: The process ID.
5579
- :param process_terminated_at: A timestamp that identifies when the process was terminated. For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
8173
+ :param process_terminated_at: A timestamp that identifies when the process was terminated. For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
5580
8174
  :param product_arn: The ARN generated by Security Hub that uniquely identifies a third-party company (security findings provider) after this provider's product (solution that generates findings) is registered with Security Hub.
5581
8175
  :param product_fields: A data type where security findings providers can include additional solution-specific details that aren't part of the defined ``AwsSecurityFinding`` format.
5582
8176
  :param product_name: The name of the solution (product) that generates findings.
@@ -5605,7 +8199,7 @@ class CfnInsight(
5605
8199
  :param resource_aws_s3_bucket_owner_name: The display name of the owner of the S3 bucket.
5606
8200
  :param resource_container_image_id: The identifier of the image related to a finding.
5607
8201
  :param resource_container_image_name: The name of the image related to a finding.
5608
- :param resource_container_launched_at: A timestamp that identifies when the container was started. For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
8202
+ :param resource_container_launched_at: A timestamp that identifies when the container was started. For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
5609
8203
  :param resource_container_name: The name of the container related to a finding.
5610
8204
  :param resource_details_other: The details of a resource that doesn't have a specific subfield for the resource type defined.
5611
8205
  :param resource_id: The canonical identifier for the given resource type.
@@ -5619,14 +8213,14 @@ class CfnInsight(
5619
8213
  :param severity_product: Deprecated. This attribute isn't included in findings. Instead of providing ``Product`` , provide ``Original`` . The native severity as defined by the AWS service or integrated partner product that generated the finding.
5620
8214
  :param source_url: A URL that links to a page about the current finding in the security findings provider's solution.
5621
8215
  :param threat_intel_indicator_category: The category of a threat intelligence indicator.
5622
- :param threat_intel_indicator_last_observed_at: A timestamp that identifies the last observation of a threat intelligence indicator. For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
8216
+ :param threat_intel_indicator_last_observed_at: A timestamp that identifies the last observation of a threat intelligence indicator. For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
5623
8217
  :param threat_intel_indicator_source: The source of the threat intelligence.
5624
8218
  :param threat_intel_indicator_source_url: The URL for more details from the source of the threat intelligence.
5625
8219
  :param threat_intel_indicator_type: The type of a threat intelligence indicator.
5626
8220
  :param threat_intel_indicator_value: The value of a threat intelligence indicator.
5627
8221
  :param title: A finding's title.
5628
8222
  :param type: A finding type in the format of ``namespace/category/classifier`` that classifies a finding.
5629
- :param updated_at: A timestamp that indicates when the security findings provider last updated the finding record. For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
8223
+ :param updated_at: A timestamp that indicates when the security findings provider last updated the finding record. For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
5630
8224
  :param user_defined_fields: A list of name/value string pairs associated with the finding. These are custom, user-defined fields added to a finding.
5631
8225
  :param verification_state: The veracity of a finding.
5632
8226
  :param vulnerabilities_exploit_available: Indicates whether a software vulnerability in your environment has a known exploit. You can filter findings by this field only if you use Security Hub and Amazon Inspector.
@@ -6543,7 +9137,7 @@ class CfnInsight(
6543
9137
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnInsight.DateFilterProperty"]]]]:
6544
9138
  '''A timestamp that indicates when the security findings provider created the potential security issue that a finding reflects.
6545
9139
 
6546
- For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
9140
+ For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
6547
9141
 
6548
9142
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-createdat
6549
9143
  '''
@@ -6667,7 +9261,7 @@ class CfnInsight(
6667
9261
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnInsight.DateFilterProperty"]]]]:
6668
9262
  '''A timestamp that indicates when the security findings provider first observed the potential security issue that a finding captured.
6669
9263
 
6670
- For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
9264
+ For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
6671
9265
 
6672
9266
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-firstobservedat
6673
9267
  '''
@@ -6717,7 +9311,7 @@ class CfnInsight(
6717
9311
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnInsight.DateFilterProperty"]]]]:
6718
9312
  '''A timestamp that indicates when the security findings provider most recently observed a change in the resource that is involved in the finding.
6719
9313
 
6720
- For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
9314
+ For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
6721
9315
 
6722
9316
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-lastobservedat
6723
9317
  '''
@@ -6928,7 +9522,7 @@ class CfnInsight(
6928
9522
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnInsight.DateFilterProperty"]]]]:
6929
9523
  '''A timestamp that identifies when the process was launched.
6930
9524
 
6931
- For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
9525
+ For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
6932
9526
 
6933
9527
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-processlaunchedat
6934
9528
  '''
@@ -6987,7 +9581,7 @@ class CfnInsight(
6987
9581
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnInsight.DateFilterProperty"]]]]:
6988
9582
  '''A timestamp that identifies when the process was terminated.
6989
9583
 
6990
- For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
9584
+ For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
6991
9585
 
6992
9586
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-processterminatedat
6993
9587
  '''
@@ -7310,7 +9904,7 @@ class CfnInsight(
7310
9904
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnInsight.DateFilterProperty"]]]]:
7311
9905
  '''A timestamp that identifies when the container was started.
7312
9906
 
7313
- For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
9907
+ For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
7314
9908
 
7315
9909
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-resourcecontainerlaunchedat
7316
9910
  '''
@@ -7478,7 +10072,7 @@ class CfnInsight(
7478
10072
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnInsight.DateFilterProperty"]]]]:
7479
10073
  '''A timestamp that identifies the last observation of a threat intelligence indicator.
7480
10074
 
7481
- For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
10075
+ For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
7482
10076
 
7483
10077
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-threatintelindicatorlastobservedat
7484
10078
  '''
@@ -7557,7 +10151,7 @@ class CfnInsight(
7557
10151
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnInsight.DateFilterProperty"]]]]:
7558
10152
  '''A timestamp that indicates when the security findings provider last updated the finding record.
7559
10153
 
7560
- For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
10154
+ For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
7561
10155
 
7562
10156
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-awssecurityfindingfilters.html#cfn-securityhub-insight-awssecurityfindingfilters-updatedat
7563
10157
  '''
@@ -7748,8 +10342,8 @@ class CfnInsight(
7748
10342
  '''A date filter for querying findings.
7749
10343
 
7750
10344
  :param date_range: A date range for the date filter.
7751
- :param end: A timestamp that provides the end date for the date filter. For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
7752
- :param start: A timestamp that provides the start date for the date filter. For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
10345
+ :param end: A timestamp that provides the end date for the date filter. For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
10346
+ :param start: A timestamp that provides the start date for the date filter. For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
7753
10347
 
7754
10348
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-datefilter.html
7755
10349
  :exampleMetadata: fixture=_generated
@@ -7797,7 +10391,7 @@ class CfnInsight(
7797
10391
  def end(self) -> typing.Optional[builtins.str]:
7798
10392
  '''A timestamp that provides the end date for the date filter.
7799
10393
 
7800
- For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
10394
+ For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
7801
10395
 
7802
10396
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-datefilter.html#cfn-securityhub-insight-datefilter-end
7803
10397
  '''
@@ -7808,7 +10402,7 @@ class CfnInsight(
7808
10402
  def start(self) -> typing.Optional[builtins.str]:
7809
10403
  '''A timestamp that provides the start date for the date filter.
7810
10404
 
7811
- For more information about the validation and formatting of timestamp fields in AWS Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
10405
+ For more information about the validation and formatting of timestamp fields in Security Hub , see `Timestamps <https://docs.aws.amazon.com/securityhub/1.0/APIReference/Welcome.html#timestamps>`_ .
7812
10406
 
7813
10407
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-datefilter.html#cfn-securityhub-insight-datefilter-start
7814
10408
  '''
@@ -8009,11 +10603,11 @@ class CfnInsight(
8009
10603
  key: builtins.str,
8010
10604
  value: builtins.str,
8011
10605
  ) -> None:
8012
- '''A map filter for filtering AWS Security Hub findings.
10606
+ '''A map filter for filtering Security Hub findings.
8013
10607
 
8014
10608
  Each map filter provides the field to check for, the value to check for, and the comparison operator.
8015
10609
 
8016
- :param comparison: The condition to apply to the key value when filtering Security Hub findings with a map filter. To search for values that have the filter value, use one of the following comparison operators: - To search for values that include the filter value, use ``CONTAINS`` . For example, for the ``ResourceTags`` field, the filter ``Department CONTAINS Security`` matches findings that include the value ``Security`` for the ``Department`` tag. In the same example, a finding with a value of ``Security team`` for the ``Department`` tag is a match. - To search for values that exactly match the filter value, use ``EQUALS`` . For example, for the ``ResourceTags`` field, the filter ``Department EQUALS Security`` matches findings that have the value ``Security`` for the ``Department`` tag. ``CONTAINS`` and ``EQUALS`` filters on the same field are joined by ``OR`` . A finding matches if it matches any one of those filters. For example, the filters ``Department CONTAINS Security OR Department CONTAINS Finance`` match a finding that includes either ``Security`` , ``Finance`` , or both values. To search for values that don't have the filter value, use one of the following comparison operators: - To search for values that exclude the filter value, use ``NOT_CONTAINS`` . For example, for the ``ResourceTags`` field, the filter ``Department NOT_CONTAINS Finance`` matches findings that exclude the value ``Finance`` for the ``Department`` tag. - To search for values other than the filter value, use ``NOT_EQUALS`` . For example, for the ``ResourceTags`` field, the filter ``Department NOT_EQUALS Finance`` matches findings that don’t have the value ``Finance`` for the ``Department`` tag. ``NOT_CONTAINS`` and ``NOT_EQUALS`` filters on the same field are joined by ``AND`` . A finding matches only if it matches all of those filters. For example, the filters ``Department NOT_CONTAINS Security AND Department NOT_CONTAINS Finance`` match a finding that excludes both the ``Security`` and ``Finance`` values. ``CONTAINS`` filters can only be used with other ``CONTAINS`` filters. ``NOT_CONTAINS`` filters can only be used with other ``NOT_CONTAINS`` filters. You can’t have both a ``CONTAINS`` filter and a ``NOT_CONTAINS`` filter on the same field. Similarly, you can’t have both an ``EQUALS`` filter and a ``NOT_EQUALS`` filter on the same field. Combining filters in this way returns an error. ``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *AWS Security Hub User Guide* .
10610
+ :param comparison: The condition to apply to the key value when filtering Security Hub findings with a map filter. To search for values that have the filter value, use one of the following comparison operators: - To search for values that include the filter value, use ``CONTAINS`` . For example, for the ``ResourceTags`` field, the filter ``Department CONTAINS Security`` matches findings that include the value ``Security`` for the ``Department`` tag. In the same example, a finding with a value of ``Security team`` for the ``Department`` tag is a match. - To search for values that exactly match the filter value, use ``EQUALS`` . For example, for the ``ResourceTags`` field, the filter ``Department EQUALS Security`` matches findings that have the value ``Security`` for the ``Department`` tag. ``CONTAINS`` and ``EQUALS`` filters on the same field are joined by ``OR`` . A finding matches if it matches any one of those filters. For example, the filters ``Department CONTAINS Security OR Department CONTAINS Finance`` match a finding that includes either ``Security`` , ``Finance`` , or both values. To search for values that don't have the filter value, use one of the following comparison operators: - To search for values that exclude the filter value, use ``NOT_CONTAINS`` . For example, for the ``ResourceTags`` field, the filter ``Department NOT_CONTAINS Finance`` matches findings that exclude the value ``Finance`` for the ``Department`` tag. - To search for values other than the filter value, use ``NOT_EQUALS`` . For example, for the ``ResourceTags`` field, the filter ``Department NOT_EQUALS Finance`` matches findings that don’t have the value ``Finance`` for the ``Department`` tag. ``NOT_CONTAINS`` and ``NOT_EQUALS`` filters on the same field are joined by ``AND`` . A finding matches only if it matches all of those filters. For example, the filters ``Department NOT_CONTAINS Security AND Department NOT_CONTAINS Finance`` match a finding that excludes both the ``Security`` and ``Finance`` values. ``CONTAINS`` filters can only be used with other ``CONTAINS`` filters. ``NOT_CONTAINS`` filters can only be used with other ``NOT_CONTAINS`` filters. You can’t have both a ``CONTAINS`` filter and a ``NOT_CONTAINS`` filter on the same field. Similarly, you can’t have both an ``EQUALS`` filter and a ``NOT_EQUALS`` filter on the same field. Combining filters in this way returns an error. ``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *Security Hub User Guide* .
8017
10611
  :param key: The key of the map filter. For example, for ``ResourceTags`` , ``Key`` identifies the name of the tag. For ``UserDefinedFields`` , ``Key`` is the name of the field.
8018
10612
  :param value: The value for the key in the map filter. Filter values are case sensitive. For example, one of the values for a tag called ``Department`` might be ``Security`` . If you provide ``security`` as the filter value, then there's no match.
8019
10613
 
@@ -8065,7 +10659,7 @@ class CfnInsight(
8065
10659
 
8066
10660
  You can’t have both a ``CONTAINS`` filter and a ``NOT_CONTAINS`` filter on the same field. Similarly, you can’t have both an ``EQUALS`` filter and a ``NOT_EQUALS`` filter on the same field. Combining filters in this way returns an error.
8067
10661
 
8068
- ``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *AWS Security Hub User Guide* .
10662
+ ``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *Security Hub User Guide* .
8069
10663
 
8070
10664
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-mapfilter.html#cfn-securityhub-insight-mapfilter-comparison
8071
10665
  '''
@@ -8200,9 +10794,9 @@ class CfnInsight(
8200
10794
  )
8201
10795
  class StringFilterProperty:
8202
10796
  def __init__(self, *, comparison: builtins.str, value: builtins.str) -> None:
8203
- '''A string filter for filtering AWS Security Hub findings.
10797
+ '''A string filter for filtering Security Hub findings.
8204
10798
 
8205
- :param comparison: The condition to apply to a string value when filtering Security Hub findings. To search for values that have the filter value, use one of the following comparison operators: - To search for values that include the filter value, use ``CONTAINS`` . For example, the filter ``Title CONTAINS CloudFront`` matches findings that have a ``Title`` that includes the string CloudFront. - To search for values that exactly match the filter value, use ``EQUALS`` . For example, the filter ``AwsAccountId EQUALS 123456789012`` only matches findings that have an account ID of ``123456789012`` . - To search for values that start with the filter value, use ``PREFIX`` . For example, the filter ``ResourceRegion PREFIX us`` matches findings that have a ``ResourceRegion`` that starts with ``us`` . A ``ResourceRegion`` that starts with a different value, such as ``af`` , ``ap`` , or ``ca`` , doesn't match. ``CONTAINS`` , ``EQUALS`` , and ``PREFIX`` filters on the same field are joined by ``OR`` . A finding matches if it matches any one of those filters. For example, the filters ``Title CONTAINS CloudFront OR Title CONTAINS CloudWatch`` match a finding that includes either ``CloudFront`` , ``CloudWatch`` , or both strings in the title. To search for values that don’t have the filter value, use one of the following comparison operators: - To search for values that exclude the filter value, use ``NOT_CONTAINS`` . For example, the filter ``Title NOT_CONTAINS CloudFront`` matches findings that have a ``Title`` that excludes the string CloudFront. - To search for values other than the filter value, use ``NOT_EQUALS`` . For example, the filter ``AwsAccountId NOT_EQUALS 123456789012`` only matches findings that have an account ID other than ``123456789012`` . - To search for values that don't start with the filter value, use ``PREFIX_NOT_EQUALS`` . For example, the filter ``ResourceRegion PREFIX_NOT_EQUALS us`` matches findings with a ``ResourceRegion`` that starts with a value other than ``us`` . ``NOT_CONTAINS`` , ``NOT_EQUALS`` , and ``PREFIX_NOT_EQUALS`` filters on the same field are joined by ``AND`` . A finding matches only if it matches all of those filters. For example, the filters ``Title NOT_CONTAINS CloudFront AND Title NOT_CONTAINS CloudWatch`` match a finding that excludes both ``CloudFront`` and ``CloudWatch`` in the title. You can’t have both a ``CONTAINS`` filter and a ``NOT_CONTAINS`` filter on the same field. Similarly, you can't provide both an ``EQUALS`` filter and a ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filter on the same field. Combining filters in this way returns an error. ``CONTAINS`` filters can only be used with other ``CONTAINS`` filters. ``NOT_CONTAINS`` filters can only be used with other ``NOT_CONTAINS`` filters. You can combine ``PREFIX`` filters with ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filters for the same field. Security Hub first processes the ``PREFIX`` filters, and then the ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filters. For example, for the following filters, Security Hub first identifies findings that have resource types that start with either ``AwsIam`` or ``AwsEc2`` . It then excludes findings that have a resource type of ``AwsIamPolicy`` and findings that have a resource type of ``AwsEc2NetworkInterface`` . - ``ResourceType PREFIX AwsIam`` - ``ResourceType PREFIX AwsEc2`` - ``ResourceType NOT_EQUALS AwsIamPolicy`` - ``ResourceType NOT_EQUALS AwsEc2NetworkInterface`` ``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *AWS Security Hub User Guide* .
10799
+ :param comparison: The condition to apply to a string value when filtering Security Hub findings. To search for values that have the filter value, use one of the following comparison operators: - To search for values that include the filter value, use ``CONTAINS`` . For example, the filter ``Title CONTAINS CloudFront`` matches findings that have a ``Title`` that includes the string CloudFront. - To search for values that exactly match the filter value, use ``EQUALS`` . For example, the filter ``AwsAccountId EQUALS 123456789012`` only matches findings that have an account ID of ``123456789012`` . - To search for values that start with the filter value, use ``PREFIX`` . For example, the filter ``ResourceRegion PREFIX us`` matches findings that have a ``ResourceRegion`` that starts with ``us`` . A ``ResourceRegion`` that starts with a different value, such as ``af`` , ``ap`` , or ``ca`` , doesn't match. ``CONTAINS`` , ``EQUALS`` , and ``PREFIX`` filters on the same field are joined by ``OR`` . A finding matches if it matches any one of those filters. For example, the filters ``Title CONTAINS CloudFront OR Title CONTAINS CloudWatch`` match a finding that includes either ``CloudFront`` , ``CloudWatch`` , or both strings in the title. To search for values that don’t have the filter value, use one of the following comparison operators: - To search for values that exclude the filter value, use ``NOT_CONTAINS`` . For example, the filter ``Title NOT_CONTAINS CloudFront`` matches findings that have a ``Title`` that excludes the string CloudFront. - To search for values other than the filter value, use ``NOT_EQUALS`` . For example, the filter ``AwsAccountId NOT_EQUALS 123456789012`` only matches findings that have an account ID other than ``123456789012`` . - To search for values that don't start with the filter value, use ``PREFIX_NOT_EQUALS`` . For example, the filter ``ResourceRegion PREFIX_NOT_EQUALS us`` matches findings with a ``ResourceRegion`` that starts with a value other than ``us`` . ``NOT_CONTAINS`` , ``NOT_EQUALS`` , and ``PREFIX_NOT_EQUALS`` filters on the same field are joined by ``AND`` . A finding matches only if it matches all of those filters. For example, the filters ``Title NOT_CONTAINS CloudFront AND Title NOT_CONTAINS CloudWatch`` match a finding that excludes both ``CloudFront`` and ``CloudWatch`` in the title. You can’t have both a ``CONTAINS`` filter and a ``NOT_CONTAINS`` filter on the same field. Similarly, you can't provide both an ``EQUALS`` filter and a ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filter on the same field. Combining filters in this way returns an error. ``CONTAINS`` filters can only be used with other ``CONTAINS`` filters. ``NOT_CONTAINS`` filters can only be used with other ``NOT_CONTAINS`` filters. You can combine ``PREFIX`` filters with ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filters for the same field. Security Hub first processes the ``PREFIX`` filters, and then the ``NOT_EQUALS`` or ``PREFIX_NOT_EQUALS`` filters. For example, for the following filters, Security Hub first identifies findings that have resource types that start with either ``AwsIam`` or ``AwsEc2`` . It then excludes findings that have a resource type of ``AwsIamPolicy`` and findings that have a resource type of ``AwsEc2NetworkInterface`` . - ``ResourceType PREFIX AwsIam`` - ``ResourceType PREFIX AwsEc2`` - ``ResourceType NOT_EQUALS AwsIamPolicy`` - ``ResourceType NOT_EQUALS AwsEc2NetworkInterface`` ``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules V1. ``CONTAINS_WORD`` operator is only supported in ``GetFindingsV2`` , ``GetFindingStatisticsV2`` , ``GetResourcesV2`` , and ``GetResourceStatisticsV2`` APIs. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *Security Hub User Guide* .
8206
10800
  :param value: The string filter value. Filter values are case sensitive. For example, the product name for control-based findings is ``Security Hub`` . If you provide ``security hub`` as the filter value, there's no match.
8207
10801
 
8208
10802
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-stringfilter.html
@@ -8259,7 +10853,7 @@ class CfnInsight(
8259
10853
  - ``ResourceType NOT_EQUALS AwsIamPolicy``
8260
10854
  - ``ResourceType NOT_EQUALS AwsEc2NetworkInterface``
8261
10855
 
8262
- ``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *AWS Security Hub User Guide* .
10856
+ ``CONTAINS`` and ``NOT_CONTAINS`` operators can be used only with automation rules V1. ``CONTAINS_WORD`` operator is only supported in ``GetFindingsV2`` , ``GetFindingStatisticsV2`` , ``GetResourcesV2`` , and ``GetResourceStatisticsV2`` APIs. For more information, see `Automation rules <https://docs.aws.amazon.com/securityhub/latest/userguide/automation-rules.html>`_ in the *Security Hub User Guide* .
8263
10857
 
8264
10858
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-insight-stringfilter.html#cfn-securityhub-insight-stringfilter-comparison
8265
10859
  '''
@@ -8855,15 +11449,15 @@ class CfnInsightProps:
8855
11449
  )
8856
11450
 
8857
11451
 
8858
- @jsii.implements(_IInspectable_c2943556)
11452
+ @jsii.implements(_IInspectable_c2943556, _IOrganizationConfigurationRef_ee9b4f99)
8859
11453
  class CfnOrganizationConfiguration(
8860
11454
  _CfnResource_9df397a6,
8861
11455
  metaclass=jsii.JSIIMeta,
8862
11456
  jsii_type="aws-cdk-lib.aws_securityhub.CfnOrganizationConfiguration",
8863
11457
  ):
8864
- '''The ``AWS::SecurityHub::OrganizationConfiguration`` resource specifies the way that your AWS organization is configured in AWS Security Hub .
11458
+ '''The ``AWS::SecurityHub::OrganizationConfiguration`` resource specifies the way that your AWS organization is configured in Security Hub .
8865
11459
 
8866
- Specifically, you can use this resource to specify the configuration type for your organization and whether to automatically Security Hub and security standards in new member accounts. For more information, see `Managing administrator and member accounts <https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-accounts.html>`_ in the *AWS Security Hub User Guide* .
11460
+ Specifically, you can use this resource to specify the configuration type for your organization and whether to automatically Security Hub and security standards in new member accounts. For more information, see `Managing administrator and member accounts <https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-accounts.html>`_ in the *Security Hub User Guide* .
8867
11461
 
8868
11462
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-organizationconfiguration.html
8869
11463
  :cloudformationResource: AWS::SecurityHub::OrganizationConfiguration
@@ -8893,7 +11487,8 @@ class CfnOrganizationConfiguration(
8893
11487
  auto_enable_standards: typing.Optional[builtins.str] = None,
8894
11488
  configuration_type: typing.Optional[builtins.str] = None,
8895
11489
  ) -> None:
8896
- '''
11490
+ '''Create a new ``AWS::SecurityHub::OrganizationConfiguration``.
11491
+
8897
11492
  :param scope: Scope in which this resource is defined.
8898
11493
  :param id: Construct identifier for this resource (unique in its scope).
8899
11494
  :param auto_enable: Whether to automatically enable Security Hub in new member accounts when they join the organization. If set to ``true`` , then Security Hub is automatically enabled in new accounts. If set to ``false`` , then Security Hub isn't enabled in new accounts automatically. The default value is ``false`` . If the ``ConfigurationType`` of your organization is set to ``CENTRAL`` , then this field is set to ``false`` and can't be changed in the home Region and linked Regions. However, in that case, the delegated administrator can create a configuration policy in which Security Hub is enabled and associate the policy with new organization accounts.
@@ -8987,6 +11582,14 @@ class CfnOrganizationConfiguration(
8987
11582
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
8988
11583
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
8989
11584
 
11585
+ @builtins.property
11586
+ @jsii.member(jsii_name="organizationConfigurationRef")
11587
+ def organization_configuration_ref(
11588
+ self,
11589
+ ) -> _OrganizationConfigurationReference_4519b145:
11590
+ '''A reference to a OrganizationConfiguration resource.'''
11591
+ return typing.cast(_OrganizationConfigurationReference_4519b145, jsii.get(self, "organizationConfigurationRef"))
11592
+
8990
11593
  @builtins.property
8991
11594
  @jsii.member(jsii_name="autoEnable")
8992
11595
  def auto_enable(self) -> typing.Union[builtins.bool, _IResolvable_da3f097b]:
@@ -9137,7 +11740,7 @@ class CfnOrganizationConfigurationProps:
9137
11740
  )
9138
11741
 
9139
11742
 
9140
- @jsii.implements(_IInspectable_c2943556)
11743
+ @jsii.implements(_IInspectable_c2943556, _IPolicyAssociationRef_644f6314)
9141
11744
  class CfnPolicyAssociation(
9142
11745
  _CfnResource_9df397a6,
9143
11746
  metaclass=jsii.JSIIMeta,
@@ -9145,7 +11748,7 @@ class CfnPolicyAssociation(
9145
11748
  ):
9146
11749
  '''The ``AWS::SecurityHub::PolicyAssociation`` resource specifies associations for a configuration policy or a self-managed configuration.
9147
11750
 
9148
- You can associate a AWS Security Hub configuration policy or self-managed configuration with the organization root, organizational units (OUs), or AWS accounts . After a successful association, the configuration policy takes effect in the specified targets. For more information, see `Creating and associating Security Hub configuration policies <https://docs.aws.amazon.com/securityhub/latest/userguide/create-associate-policy.html>`_ in the *AWS Security Hub User Guide* .
11751
+ You can associate a Security Hub configuration policy or self-managed configuration with the organization root, organizational units (OUs), or AWS accounts . After a successful association, the configuration policy takes effect in the specified targets. For more information, see `Creating and associating Security Hub configuration policies <https://docs.aws.amazon.com/securityhub/latest/userguide/create-associate-policy.html>`_ in the *Security Hub User Guide* .
9149
11752
 
9150
11753
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-policyassociation.html
9151
11754
  :cloudformationResource: AWS::SecurityHub::PolicyAssociation
@@ -9173,7 +11776,8 @@ class CfnPolicyAssociation(
9173
11776
  target_id: builtins.str,
9174
11777
  target_type: builtins.str,
9175
11778
  ) -> None:
9176
- '''
11779
+ '''Create a new ``AWS::SecurityHub::PolicyAssociation``.
11780
+
9177
11781
  :param scope: Scope in which this resource is defined.
9178
11782
  :param id: Construct identifier for this resource (unique in its scope).
9179
11783
  :param configuration_policy_id: The universally unique identifier (UUID) of the configuration policy. A self-managed configuration has no UUID. The identifier of a self-managed configuration is ``SELF_MANAGED_SECURITY_HUB`` .
@@ -9254,7 +11858,7 @@ class CfnPolicyAssociation(
9254
11858
  @builtins.property
9255
11859
  @jsii.member(jsii_name="attrAssociationType")
9256
11860
  def attr_association_type(self) -> builtins.str:
9257
- '''Indicates whether the association between the specified target and the configuration was directly applied by the AWS Security Hub delegated administrator or inherited from a parent.
11861
+ '''Indicates whether the association between the specified target and the configuration was directly applied by the Security Hub delegated administrator or inherited from a parent.
9258
11862
 
9259
11863
  :cloudformationAttribute: AssociationType
9260
11864
  '''
@@ -9274,6 +11878,12 @@ class CfnPolicyAssociation(
9274
11878
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
9275
11879
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
9276
11880
 
11881
+ @builtins.property
11882
+ @jsii.member(jsii_name="policyAssociationRef")
11883
+ def policy_association_ref(self) -> _PolicyAssociationReference_e2a78f89:
11884
+ '''A reference to a PolicyAssociation resource.'''
11885
+ return typing.cast(_PolicyAssociationReference_e2a78f89, jsii.get(self, "policyAssociationRef"))
11886
+
9277
11887
  @builtins.property
9278
11888
  @jsii.member(jsii_name="configurationPolicyId")
9279
11889
  def configuration_policy_id(self) -> builtins.str:
@@ -9407,15 +12017,15 @@ class CfnPolicyAssociationProps:
9407
12017
  )
9408
12018
 
9409
12019
 
9410
- @jsii.implements(_IInspectable_c2943556)
12020
+ @jsii.implements(_IInspectable_c2943556, _IProductSubscriptionRef_9d6dd87b)
9411
12021
  class CfnProductSubscription(
9412
12022
  _CfnResource_9df397a6,
9413
12023
  metaclass=jsii.JSIIMeta,
9414
12024
  jsii_type="aws-cdk-lib.aws_securityhub.CfnProductSubscription",
9415
12025
  ):
9416
- '''The ``AWS::SecurityHub::ProductSubscription`` resource creates a subscription to a third-party product that generates findings that you want to receive in AWS Security Hub .
12026
+ '''The ``AWS::SecurityHub::ProductSubscription`` resource creates a subscription to a third-party product that generates findings that you want to receive in Security Hub .
9417
12027
 
9418
- For a list of integrations to third-party products, see `Available third-party partner product integrations <https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-partner-providers.html>`_ in the *AWS Security Hub User Guide* .
12028
+ For a list of integrations to third-party products, see `Available third-party partner product integrations <https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-partner-providers.html>`_ in the *Security Hub User Guide* .
9419
12029
 
9420
12030
  To change a product subscription, remove the current product subscription resource, and then create a new one.
9421
12031
 
@@ -9443,7 +12053,8 @@ class CfnProductSubscription(
9443
12053
  *,
9444
12054
  product_arn: builtins.str,
9445
12055
  ) -> None:
9446
- '''
12056
+ '''Create a new ``AWS::SecurityHub::ProductSubscription``.
12057
+
9447
12058
  :param scope: Scope in which this resource is defined.
9448
12059
  :param id: Construct identifier for this resource (unique in its scope).
9449
12060
  :param product_arn: The ARN of the product to enable the integration for.
@@ -9500,6 +12111,12 @@ class CfnProductSubscription(
9500
12111
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
9501
12112
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
9502
12113
 
12114
+ @builtins.property
12115
+ @jsii.member(jsii_name="productSubscriptionRef")
12116
+ def product_subscription_ref(self) -> _ProductSubscriptionReference_8296053d:
12117
+ '''A reference to a ProductSubscription resource.'''
12118
+ return typing.cast(_ProductSubscriptionReference_8296053d, jsii.get(self, "productSubscriptionRef"))
12119
+
9503
12120
  @builtins.property
9504
12121
  @jsii.member(jsii_name="productArn")
9505
12122
  def product_arn(self) -> builtins.str:
@@ -9567,15 +12184,15 @@ class CfnProductSubscriptionProps:
9567
12184
  )
9568
12185
 
9569
12186
 
9570
- @jsii.implements(_IInspectable_c2943556)
12187
+ @jsii.implements(_IInspectable_c2943556, _ISecurityControlRef_7085a031)
9571
12188
  class CfnSecurityControl(
9572
12189
  _CfnResource_9df397a6,
9573
12190
  metaclass=jsii.JSIIMeta,
9574
12191
  jsii_type="aws-cdk-lib.aws_securityhub.CfnSecurityControl",
9575
12192
  ):
9576
- '''The ``AWS::SecurityHub::SecurityControl`` resource specifies custom parameter values for an AWS Security Hub control.
12193
+ '''The ``AWS::SecurityHub::SecurityControl`` resource specifies custom parameter values for an Security Hub control.
9577
12194
 
9578
- For a list of controls that support custom parameters, see `Security Hub controls reference <https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-controls-reference.html>`_ . You can also use this resource to specify the use of default parameter values for a control. For more information about custom parameters, see `Custom control parameters <https://docs.aws.amazon.com/securityhub/latest/userguide/custom-control-parameters.html>`_ in the *AWS Security Hub User Guide* .
12195
+ For a list of controls that support custom parameters, see `Security Hub controls reference <https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-controls-reference.html>`_ . You can also use this resource to specify the use of default parameter values for a control. For more information about custom parameters, see `Custom control parameters <https://docs.aws.amazon.com/securityhub/latest/userguide/custom-control-parameters.html>`_ in the *Security Hub User Guide* .
9579
12196
 
9580
12197
  Tags aren't supported for this resource.
9581
12198
 
@@ -9625,7 +12242,8 @@ class CfnSecurityControl(
9625
12242
  security_control_arn: typing.Optional[builtins.str] = None,
9626
12243
  security_control_id: typing.Optional[builtins.str] = None,
9627
12244
  ) -> None:
9628
- '''
12245
+ '''Create a new ``AWS::SecurityHub::SecurityControl``.
12246
+
9629
12247
  :param scope: Scope in which this resource is defined.
9630
12248
  :param id: Construct identifier for this resource (unique in its scope).
9631
12249
  :param parameters: An object that identifies the name of a control parameter, its current value, and whether it has been customized.
@@ -9681,6 +12299,12 @@ class CfnSecurityControl(
9681
12299
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
9682
12300
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
9683
12301
 
12302
+ @builtins.property
12303
+ @jsii.member(jsii_name="securityControlRef")
12304
+ def security_control_ref(self) -> _SecurityControlReference_fdd0de23:
12305
+ '''A reference to a SecurityControl resource.'''
12306
+ return typing.cast(_SecurityControlReference_fdd0de23, jsii.get(self, "securityControlRef"))
12307
+
9684
12308
  @builtins.property
9685
12309
  @jsii.member(jsii_name="parameters")
9686
12310
  def parameters(
@@ -9752,7 +12376,7 @@ class CfnSecurityControl(
9752
12376
  ) -> None:
9753
12377
  '''An object that provides the current value of a security control parameter and identifies whether it has been customized.
9754
12378
 
9755
- :param value_type: Identifies whether a control parameter uses a custom user-defined value or subscribes to the default AWS Security Hub behavior. When ``ValueType`` is set equal to ``DEFAULT`` , the default behavior can be a specific Security Hub default value, or the default behavior can be to ignore a specific parameter. When ``ValueType`` is set equal to ``DEFAULT`` , Security Hub ignores user-provided input for the ``Value`` field. When ``ValueType`` is set equal to ``CUSTOM`` , the ``Value`` field can't be empty.
12379
+ :param value_type: Identifies whether a control parameter uses a custom user-defined value or subscribes to the default Security Hub behavior. When ``ValueType`` is set equal to ``DEFAULT`` , the default behavior can be a specific Security Hub default value, or the default behavior can be to ignore a specific parameter. When ``ValueType`` is set equal to ``DEFAULT`` , Security Hub ignores user-provided input for the ``Value`` field. When ``ValueType`` is set equal to ``CUSTOM`` , the ``Value`` field can't be empty.
9756
12380
  :param value: The current value of a control parameter.
9757
12381
 
9758
12382
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-securitycontrol-parameterconfiguration.html
@@ -9792,7 +12416,7 @@ class CfnSecurityControl(
9792
12416
 
9793
12417
  @builtins.property
9794
12418
  def value_type(self) -> builtins.str:
9795
- '''Identifies whether a control parameter uses a custom user-defined value or subscribes to the default AWS Security Hub behavior.
12419
+ '''Identifies whether a control parameter uses a custom user-defined value or subscribes to the default Security Hub behavior.
9796
12420
 
9797
12421
  When ``ValueType`` is set equal to ``DEFAULT`` , the default behavior can be a specific Security Hub default value, or the default behavior can be to ignore a specific parameter. When ``ValueType`` is set equal to ``DEFAULT`` , Security Hub ignores user-provided input for the ``Value`` field.
9798
12422
 
@@ -10131,7 +12755,7 @@ class CfnSecurityControlProps:
10131
12755
  )
10132
12756
 
10133
12757
 
10134
- @jsii.implements(_IInspectable_c2943556)
12758
+ @jsii.implements(_IInspectable_c2943556, _IStandardRef_f188bebb)
10135
12759
  class CfnStandard(
10136
12760
  _CfnResource_9df397a6,
10137
12761
  metaclass=jsii.JSIIMeta,
@@ -10143,7 +12767,7 @@ class CfnStandard(
10143
12767
 
10144
12768
  You must create a separate ``AWS::SecurityHub::Standard`` resource for each standard that you want to enable.
10145
12769
 
10146
- For more information about Security Hub standards, see `Security Hub standards reference <https://docs.aws.amazon.com/securityhub/latest/userguide/standards-reference.html>`_ in the *AWS Security Hub User Guide* .
12770
+ For more information about Security Hub standards, see `Security Hub standards reference <https://docs.aws.amazon.com/securityhub/latest/userguide/standards-reference.html>`_ in the *Security Hub User Guide* .
10147
12771
 
10148
12772
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-standard.html
10149
12773
  :cloudformationResource: AWS::SecurityHub::Standard
@@ -10176,7 +12800,8 @@ class CfnStandard(
10176
12800
  standards_arn: builtins.str,
10177
12801
  disabled_standards_controls: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnStandard.StandardsControlProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
10178
12802
  ) -> None:
10179
- '''
12803
+ '''Create a new ``AWS::SecurityHub::Standard``.
12804
+
10180
12805
  :param scope: Scope in which this resource is defined.
10181
12806
  :param id: Construct identifier for this resource (unique in its scope).
10182
12807
  :param standards_arn: The ARN of the standard that you want to enable. To view a list of available Security Hub standards and their ARNs, use the ```DescribeStandards`` <https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_DescribeStandards.html>`_ API operation.
@@ -10237,6 +12862,12 @@ class CfnStandard(
10237
12862
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
10238
12863
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
10239
12864
 
12865
+ @builtins.property
12866
+ @jsii.member(jsii_name="standardRef")
12867
+ def standard_ref(self) -> _StandardReference_2d34fa7e:
12868
+ '''A reference to a Standard resource.'''
12869
+ return typing.cast(_StandardReference_2d34fa7e, jsii.get(self, "standardRef"))
12870
+
10240
12871
  @builtins.property
10241
12872
  @jsii.member(jsii_name="standardsArn")
10242
12873
  def standards_arn(self) -> builtins.str:
@@ -10285,7 +12916,7 @@ class CfnStandard(
10285
12916
  ) -> None:
10286
12917
  '''Provides details about an individual security control.
10287
12918
 
10288
- For a list of Security Hub controls, see `Security Hub controls reference <https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-controls-reference.html>`_ in the *AWS Security Hub User Guide* .
12919
+ For a list of Security Hub controls, see `Security Hub controls reference <https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-controls-reference.html>`_ in the *Security Hub User Guide* .
10289
12920
 
10290
12921
  :param standards_control_arn: The Amazon Resource Name (ARN) of the control.
10291
12922
  :param reason: A user-defined reason for changing a control's enablement status in a specified standard. If you are disabling a control, then this property is required.
@@ -10438,8 +13069,12 @@ class CfnStandardProps:
10438
13069
 
10439
13070
 
10440
13071
  __all__ = [
13072
+ "CfnAggregatorV2",
13073
+ "CfnAggregatorV2Props",
10441
13074
  "CfnAutomationRule",
10442
13075
  "CfnAutomationRuleProps",
13076
+ "CfnAutomationRuleV2",
13077
+ "CfnAutomationRuleV2Props",
10443
13078
  "CfnConfigurationPolicy",
10444
13079
  "CfnConfigurationPolicyProps",
10445
13080
  "CfnDelegatedAdmin",
@@ -10448,6 +13083,8 @@ __all__ = [
10448
13083
  "CfnFindingAggregatorProps",
10449
13084
  "CfnHub",
10450
13085
  "CfnHubProps",
13086
+ "CfnHubV2",
13087
+ "CfnHubV2Props",
10451
13088
  "CfnInsight",
10452
13089
  "CfnInsightProps",
10453
13090
  "CfnOrganizationConfiguration",
@@ -10464,6 +13101,56 @@ __all__ = [
10464
13101
 
10465
13102
  publication.publish()
10466
13103
 
13104
+ def _typecheckingstub__a48a2a082be753c7ff9a23ae8720fc6090537bc7754b3949c569c91cc2d97185(
13105
+ scope: _constructs_77d1e7e8.Construct,
13106
+ id: builtins.str,
13107
+ *,
13108
+ linked_regions: typing.Sequence[builtins.str],
13109
+ region_linking_mode: builtins.str,
13110
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
13111
+ ) -> None:
13112
+ """Type checking stubs"""
13113
+ pass
13114
+
13115
+ def _typecheckingstub__faa540694e43a0e61feeb3f53848b1f6e9494b6ed7da21b25aac134881132c39(
13116
+ inspector: _TreeInspector_488e0dd5,
13117
+ ) -> None:
13118
+ """Type checking stubs"""
13119
+ pass
13120
+
13121
+ def _typecheckingstub__e6872b5e370c8e8f4d83602fa651c03fde81b36e7c5bc3b28fa097f66a87ee66(
13122
+ props: typing.Mapping[builtins.str, typing.Any],
13123
+ ) -> None:
13124
+ """Type checking stubs"""
13125
+ pass
13126
+
13127
+ def _typecheckingstub__73719aabf2def1251bbcce62564af2561a7db568f2cc383d665c93c84e03855c(
13128
+ value: typing.List[builtins.str],
13129
+ ) -> None:
13130
+ """Type checking stubs"""
13131
+ pass
13132
+
13133
+ def _typecheckingstub__3f12f6fa7491c9cf6429ed03592fa2e0b84dd1df61b65fe9caf3ffa327ed324f(
13134
+ value: builtins.str,
13135
+ ) -> None:
13136
+ """Type checking stubs"""
13137
+ pass
13138
+
13139
+ def _typecheckingstub__e47a206d80ca672182e6fba3a9c614bda1d391a22aa37078d5b442ce9858a656(
13140
+ value: typing.Optional[typing.Mapping[builtins.str, builtins.str]],
13141
+ ) -> None:
13142
+ """Type checking stubs"""
13143
+ pass
13144
+
13145
+ def _typecheckingstub__ba603e1d6925ab7babf45e555f2f6c66e3573a9e5841cd7b5ebf0d444664667e(
13146
+ *,
13147
+ linked_regions: typing.Sequence[builtins.str],
13148
+ region_linking_mode: builtins.str,
13149
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
13150
+ ) -> None:
13151
+ """Type checking stubs"""
13152
+ pass
13153
+
10467
13154
  def _typecheckingstub__90c663d2946359b509542feafdcb3d89f11ca9e30a214aae02ea3d6b354c9846(
10468
13155
  scope: _constructs_77d1e7e8.Construct,
10469
13156
  id: builtins.str,
@@ -10633,7 +13320,7 @@ def _typecheckingstub__91f36875bd267215fe022e63a4ce087a699536cdc1b9f8b3c84b53aa8
10633
13320
  def _typecheckingstub__1f01ce6428aaccb76a4dd3111c6a58270f1129efa37f87f346378055261a8a01(
10634
13321
  *,
10635
13322
  text: builtins.str,
10636
- updated_by: typing.Any,
13323
+ updated_by: builtins.str,
10637
13324
  ) -> None:
10638
13325
  """Type checking stubs"""
10639
13326
  pass
@@ -10649,7 +13336,7 @@ def _typecheckingstub__000b578e595fbfb6609bb2cf3b90f42c91b01240906d31c22b9f1dd98
10649
13336
 
10650
13337
  def _typecheckingstub__9df6b75e5070bcb08d999a08b3bd84da05079be466527b5ce60bbe470f59dd64(
10651
13338
  *,
10652
- id: typing.Any,
13339
+ id: builtins.str,
10653
13340
  product_arn: builtins.str,
10654
13341
  ) -> None:
10655
13342
  """Type checking stubs"""
@@ -10693,6 +13380,230 @@ def _typecheckingstub__221241b44c93ea569fcf69aaaade0ce7cf31b7343bc3d072d74ccd168
10693
13380
  """Type checking stubs"""
10694
13381
  pass
10695
13382
 
13383
+ def _typecheckingstub__d67bab57d18f8318b1f3e5e5aee0425c6d6ad2a73c3def328f22c6e22aa173d4(
13384
+ scope: _constructs_77d1e7e8.Construct,
13385
+ id: builtins.str,
13386
+ *,
13387
+ actions: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.AutomationRulesActionV2Property, typing.Dict[builtins.str, typing.Any]]]]],
13388
+ criteria: typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.CriteriaProperty, typing.Dict[builtins.str, typing.Any]]],
13389
+ description: builtins.str,
13390
+ rule_name: builtins.str,
13391
+ rule_order: jsii.Number,
13392
+ rule_status: typing.Optional[builtins.str] = None,
13393
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
13394
+ ) -> None:
13395
+ """Type checking stubs"""
13396
+ pass
13397
+
13398
+ def _typecheckingstub__148b5ad52f495a944fc188c33e9ce4790af9aae05ed5382a214fb325dffaf8bb(
13399
+ inspector: _TreeInspector_488e0dd5,
13400
+ ) -> None:
13401
+ """Type checking stubs"""
13402
+ pass
13403
+
13404
+ def _typecheckingstub__2f9d1f99336eb3a75c15b25a178234de86a8bfdf4875bf0ce1cd38b114f64593(
13405
+ props: typing.Mapping[builtins.str, typing.Any],
13406
+ ) -> None:
13407
+ """Type checking stubs"""
13408
+ pass
13409
+
13410
+ def _typecheckingstub__6347d27f0ba2cf053f67fe33ad975271c9a681e994a3d68259bee4b4cecff923(
13411
+ value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnAutomationRuleV2.AutomationRulesActionV2Property]]],
13412
+ ) -> None:
13413
+ """Type checking stubs"""
13414
+ pass
13415
+
13416
+ def _typecheckingstub__a5adb921eebdd2ef5c8fd115e4be769f443780102c814dd43fe745285e68ab8e(
13417
+ value: typing.Union[_IResolvable_da3f097b, CfnAutomationRuleV2.CriteriaProperty],
13418
+ ) -> None:
13419
+ """Type checking stubs"""
13420
+ pass
13421
+
13422
+ def _typecheckingstub__125c937bc05766b550dc71a5d1d56e19a69b4ef80f88b4ef38e2e5e003477882(
13423
+ value: builtins.str,
13424
+ ) -> None:
13425
+ """Type checking stubs"""
13426
+ pass
13427
+
13428
+ def _typecheckingstub__d67119779ecc92e0cdf9224e19bbf9519a8b3464aefe9656b42f750f87734d6a(
13429
+ value: builtins.str,
13430
+ ) -> None:
13431
+ """Type checking stubs"""
13432
+ pass
13433
+
13434
+ def _typecheckingstub__0756c118bad7b3ecf44f8e5b333e1b12ae1f8fcc93cfb9994a9b01b1e420c800(
13435
+ value: jsii.Number,
13436
+ ) -> None:
13437
+ """Type checking stubs"""
13438
+ pass
13439
+
13440
+ def _typecheckingstub__9d3ccd09d54183efd7f79c4f4fa028ef4ff9dcf82d873ad68a9b84292b42fca1(
13441
+ value: typing.Optional[builtins.str],
13442
+ ) -> None:
13443
+ """Type checking stubs"""
13444
+ pass
13445
+
13446
+ def _typecheckingstub__c4cafeb60a0ac8c7088697f2b7bd61bc6887761dd3405c6d9a418c848d6a35ed(
13447
+ value: typing.Optional[typing.Mapping[builtins.str, builtins.str]],
13448
+ ) -> None:
13449
+ """Type checking stubs"""
13450
+ pass
13451
+
13452
+ def _typecheckingstub__c5861ee659ea2189f4b0d18349855ec99f8b11ef0e6bc925783f2b7a3911d61f(
13453
+ *,
13454
+ type: builtins.str,
13455
+ external_integration_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.ExternalIntegrationConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
13456
+ finding_fields_update: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.AutomationRulesFindingFieldsUpdateV2Property, typing.Dict[builtins.str, typing.Any]]]] = None,
13457
+ ) -> None:
13458
+ """Type checking stubs"""
13459
+ pass
13460
+
13461
+ def _typecheckingstub__4f90f98d77f04ef40f0534b1d8b8660117e52394e43158b5d7f298d3bc8625cc(
13462
+ *,
13463
+ comment: typing.Optional[builtins.str] = None,
13464
+ severity_id: typing.Optional[jsii.Number] = None,
13465
+ status_id: typing.Optional[jsii.Number] = None,
13466
+ ) -> None:
13467
+ """Type checking stubs"""
13468
+ pass
13469
+
13470
+ def _typecheckingstub__bf1f4033b6ab73724f96c846c6e76e7a50093a23574134c07515d9390346e33b(
13471
+ *,
13472
+ value: typing.Union[builtins.bool, _IResolvable_da3f097b],
13473
+ ) -> None:
13474
+ """Type checking stubs"""
13475
+ pass
13476
+
13477
+ def _typecheckingstub__ef5252b213e349428bc417b1dd29e26751fcc25bde34b016a3eaf19d58151f2e(
13478
+ *,
13479
+ boolean_filters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.OcsfBooleanFilterProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
13480
+ date_filters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.OcsfDateFilterProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
13481
+ map_filters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.OcsfMapFilterProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
13482
+ number_filters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.OcsfNumberFilterProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
13483
+ operator: typing.Optional[builtins.str] = None,
13484
+ string_filters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.OcsfStringFilterProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
13485
+ ) -> None:
13486
+ """Type checking stubs"""
13487
+ pass
13488
+
13489
+ def _typecheckingstub__1ba9d632d542a300365cf2fd23759ae4458525cb9c085d0a969ca6b488962b63(
13490
+ *,
13491
+ ocsf_finding_criteria: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.OcsfFindingFiltersProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
13492
+ ) -> None:
13493
+ """Type checking stubs"""
13494
+ pass
13495
+
13496
+ def _typecheckingstub__3d21b2c9e81f0b05c0b5eae1aed977679e202dd65257b012d2ffca3404d4bce2(
13497
+ *,
13498
+ date_range: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.DateRangeProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
13499
+ end: typing.Optional[builtins.str] = None,
13500
+ start: typing.Optional[builtins.str] = None,
13501
+ ) -> None:
13502
+ """Type checking stubs"""
13503
+ pass
13504
+
13505
+ def _typecheckingstub__6cd41336e92eb03ceeaab0c8bb04ecdcbaa676b6a22a3cd4a1f8ba069311dc05(
13506
+ *,
13507
+ unit: builtins.str,
13508
+ value: jsii.Number,
13509
+ ) -> None:
13510
+ """Type checking stubs"""
13511
+ pass
13512
+
13513
+ def _typecheckingstub__a2fd9a1462ca1711dacb92a0d07d564ed40fe787a40d0cfcdebf274371c09173(
13514
+ *,
13515
+ connector_arn: typing.Optional[builtins.str] = None,
13516
+ ) -> None:
13517
+ """Type checking stubs"""
13518
+ pass
13519
+
13520
+ def _typecheckingstub__3ce382a730a7d946b88f0a9bbc8ee839e8cc4048403520f61f9601274312c198(
13521
+ *,
13522
+ comparison: builtins.str,
13523
+ key: builtins.str,
13524
+ value: builtins.str,
13525
+ ) -> None:
13526
+ """Type checking stubs"""
13527
+ pass
13528
+
13529
+ def _typecheckingstub__647dc97c620209dca2753ac34dae13a3a6afc9916dad52290296e2565ad48048(
13530
+ *,
13531
+ eq: typing.Optional[jsii.Number] = None,
13532
+ gte: typing.Optional[jsii.Number] = None,
13533
+ lte: typing.Optional[jsii.Number] = None,
13534
+ ) -> None:
13535
+ """Type checking stubs"""
13536
+ pass
13537
+
13538
+ def _typecheckingstub__a42eba30c4eef0c19b5165ead711c40b18983e8c78c7eaafba9deb680ec94bfd(
13539
+ *,
13540
+ field_name: builtins.str,
13541
+ filter: typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.BooleanFilterProperty, typing.Dict[builtins.str, typing.Any]]],
13542
+ ) -> None:
13543
+ """Type checking stubs"""
13544
+ pass
13545
+
13546
+ def _typecheckingstub__0835da7838d6730412395869f245eb4865e7ae2b63a637022d4a3475231c342f(
13547
+ *,
13548
+ field_name: builtins.str,
13549
+ filter: typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.DateFilterProperty, typing.Dict[builtins.str, typing.Any]]],
13550
+ ) -> None:
13551
+ """Type checking stubs"""
13552
+ pass
13553
+
13554
+ def _typecheckingstub__67b27a03af9c079f8cc42cdfa5f8df4adc151b555e1080317dfc2e8c5873519c(
13555
+ *,
13556
+ composite_filters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.CompositeFilterProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
13557
+ composite_operator: typing.Optional[builtins.str] = None,
13558
+ ) -> None:
13559
+ """Type checking stubs"""
13560
+ pass
13561
+
13562
+ def _typecheckingstub__b733ec921abf18e15f42cbdb443df518e81d6c48b4cf4b2397f4812a20240777(
13563
+ *,
13564
+ field_name: builtins.str,
13565
+ filter: typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.MapFilterProperty, typing.Dict[builtins.str, typing.Any]]],
13566
+ ) -> None:
13567
+ """Type checking stubs"""
13568
+ pass
13569
+
13570
+ def _typecheckingstub__96733fb6348f5b5cd478197a8fee3f33665015a9b17eb4ce28d9ca28862964c7(
13571
+ *,
13572
+ field_name: builtins.str,
13573
+ filter: typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.NumberFilterProperty, typing.Dict[builtins.str, typing.Any]]],
13574
+ ) -> None:
13575
+ """Type checking stubs"""
13576
+ pass
13577
+
13578
+ def _typecheckingstub__664006d14466473dd08a13af9d06be4f13672817d578a3e7b6c2e476b7e219f0(
13579
+ *,
13580
+ field_name: builtins.str,
13581
+ filter: typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.StringFilterProperty, typing.Dict[builtins.str, typing.Any]]],
13582
+ ) -> None:
13583
+ """Type checking stubs"""
13584
+ pass
13585
+
13586
+ def _typecheckingstub__5b950655292e8a1a447bc6fef9ec46917dffad72edcfb67f4bae7b7bdbd3100b(
13587
+ *,
13588
+ comparison: builtins.str,
13589
+ value: builtins.str,
13590
+ ) -> None:
13591
+ """Type checking stubs"""
13592
+ pass
13593
+
13594
+ def _typecheckingstub__96bf6ac88f339a8dafdb0d899cf9e7c5353a67121a8a0b34137e9631c11f04a4(
13595
+ *,
13596
+ actions: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.AutomationRulesActionV2Property, typing.Dict[builtins.str, typing.Any]]]]],
13597
+ criteria: typing.Union[_IResolvable_da3f097b, typing.Union[CfnAutomationRuleV2.CriteriaProperty, typing.Dict[builtins.str, typing.Any]]],
13598
+ description: builtins.str,
13599
+ rule_name: builtins.str,
13600
+ rule_order: jsii.Number,
13601
+ rule_status: typing.Optional[builtins.str] = None,
13602
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
13603
+ ) -> None:
13604
+ """Type checking stubs"""
13605
+ pass
13606
+
10696
13607
  def _typecheckingstub__e2cee5cf3fe5ba0b354ff30ea357f97d4a69893bed692305ae2919f0061404d2(
10697
13608
  scope: _constructs_77d1e7e8.Construct,
10698
13609
  id: builtins.str,
@@ -10940,6 +13851,40 @@ def _typecheckingstub__9a38c34c1f2742403521eb4af2098475d7afb878d3f9aba37048ae543
10940
13851
  """Type checking stubs"""
10941
13852
  pass
10942
13853
 
13854
+ def _typecheckingstub__8a938d6f02e5cc9357e7ae741d101719d29a8539be57e63f7148a944106dccc1(
13855
+ scope: _constructs_77d1e7e8.Construct,
13856
+ id: builtins.str,
13857
+ *,
13858
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
13859
+ ) -> None:
13860
+ """Type checking stubs"""
13861
+ pass
13862
+
13863
+ def _typecheckingstub__e1dac3a23d94b8e2be0be6ae5d6d56142199c92d98f138b490e9a4036d9897ed(
13864
+ inspector: _TreeInspector_488e0dd5,
13865
+ ) -> None:
13866
+ """Type checking stubs"""
13867
+ pass
13868
+
13869
+ def _typecheckingstub__f92498b56c6fcd7d027c6ff068634a704396d6376eee870869ddf3ffcd039b7a(
13870
+ props: typing.Mapping[builtins.str, typing.Any],
13871
+ ) -> None:
13872
+ """Type checking stubs"""
13873
+ pass
13874
+
13875
+ def _typecheckingstub__6e41e91c55f6f2a331ab968ca257da397cb59475bac947e28be333f8f3cdc7cb(
13876
+ value: typing.Optional[typing.Mapping[builtins.str, builtins.str]],
13877
+ ) -> None:
13878
+ """Type checking stubs"""
13879
+ pass
13880
+
13881
+ def _typecheckingstub__5701f591c6bb91f50e9187f704248e0e20e49f80fdbb611b3664c43166095344(
13882
+ *,
13883
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
13884
+ ) -> None:
13885
+ """Type checking stubs"""
13886
+ pass
13887
+
10943
13888
  def _typecheckingstub__d671d628902c96b28f2d378ea3f0a99fe19e13873725f86dd92bbe36b4c9a166(
10944
13889
  scope: _constructs_77d1e7e8.Construct,
10945
13890
  id: builtins.str,