aws-cdk-lib 2.195.0__py3-none-any.whl → 2.224.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of aws-cdk-lib might be problematic. Click here for more details.

Files changed (572) hide show
  1. aws_cdk/__init__.py +1806 -417
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.195.0.jsii.tgz → aws-cdk-lib@2.224.0.jsii.tgz} +0 -0
  4. aws_cdk/alexa_ask/__init__.py +12 -2
  5. aws_cdk/aws_accessanalyzer/__init__.py +323 -6
  6. aws_cdk/aws_acmpca/__init__.py +53 -10
  7. aws_cdk/aws_aiops/__init__.py +1019 -0
  8. aws_cdk/aws_amazonmq/__init__.py +357 -313
  9. aws_cdk/aws_amplify/__init__.py +173 -17
  10. aws_cdk/aws_amplifyuibuilder/__init__.py +35 -6
  11. aws_cdk/aws_apigateway/__init__.py +1245 -215
  12. aws_cdk/aws_apigatewayv2/__init__.py +3890 -476
  13. aws_cdk/aws_apigatewayv2_integrations/__init__.py +94 -16
  14. aws_cdk/aws_appconfig/__init__.py +618 -91
  15. aws_cdk/aws_appflow/__init__.py +151 -6
  16. aws_cdk/aws_appintegrations/__init__.py +546 -6
  17. aws_cdk/aws_applicationautoscaling/__init__.py +75 -10
  18. aws_cdk/aws_applicationinsights/__init__.py +13 -2
  19. aws_cdk/aws_applicationsignals/__init__.py +374 -6
  20. aws_cdk/aws_appmesh/__init__.py +136 -26
  21. aws_cdk/aws_apprunner/__init__.py +66 -18
  22. aws_cdk/aws_appstream/__init__.py +309 -55
  23. aws_cdk/aws_appsync/__init__.py +350 -94
  24. aws_cdk/aws_apptest/__init__.py +71 -2
  25. aws_cdk/aws_aps/__init__.py +2188 -94
  26. aws_cdk/aws_arcregionswitch/__init__.py +5095 -0
  27. aws_cdk/aws_arczonalshift/__init__.py +39 -12
  28. aws_cdk/aws_athena/__init__.py +365 -29
  29. aws_cdk/aws_auditmanager/__init__.py +71 -2
  30. aws_cdk/aws_autoscaling/__init__.py +165 -60
  31. aws_cdk/aws_autoscaling_common/__init__.py +3 -0
  32. aws_cdk/aws_autoscalingplans/__init__.py +13 -2
  33. aws_cdk/aws_b2bi/__init__.py +1819 -99
  34. aws_cdk/aws_backup/__init__.py +370 -42
  35. aws_cdk/aws_backupgateway/__init__.py +13 -2
  36. aws_cdk/aws_batch/__init__.py +1462 -163
  37. aws_cdk/aws_bcmdataexports/__init__.py +21 -2
  38. aws_cdk/aws_bedrock/__init__.py +7867 -727
  39. aws_cdk/aws_bedrockagentcore/__init__.py +10425 -0
  40. aws_cdk/aws_billingconductor/__init__.py +197 -11
  41. aws_cdk/aws_budgets/__init__.py +611 -4
  42. aws_cdk/aws_cassandra/__init__.py +247 -6
  43. aws_cdk/aws_ce/__init__.py +35 -6
  44. aws_cdk/aws_certificatemanager/__init__.py +258 -32
  45. aws_cdk/aws_chatbot/__init__.py +76 -6
  46. aws_cdk/aws_cleanrooms/__init__.py +709 -206
  47. aws_cdk/aws_cleanroomsml/__init__.py +13 -2
  48. aws_cdk/aws_cloud9/__init__.py +13 -2
  49. aws_cdk/aws_cloudformation/__init__.py +362 -189
  50. aws_cdk/aws_cloudfront/__init__.py +2188 -674
  51. aws_cdk/aws_cloudfront/experimental/__init__.py +114 -16
  52. aws_cdk/aws_cloudfront_origins/__init__.py +615 -74
  53. aws_cdk/aws_cloudtrail/__init__.py +311 -21
  54. aws_cdk/aws_cloudwatch/__init__.py +3093 -1038
  55. aws_cdk/aws_cloudwatch_actions/__init__.py +75 -1
  56. aws_cdk/aws_codeartifact/__init__.py +35 -6
  57. aws_cdk/aws_codebuild/__init__.py +1303 -135
  58. aws_cdk/aws_codecommit/__init__.py +29 -9
  59. aws_cdk/aws_codeconnections/__init__.py +13 -2
  60. aws_cdk/aws_codedeploy/__init__.py +130 -6
  61. aws_cdk/aws_codeguruprofiler/__init__.py +80 -2
  62. aws_cdk/aws_codegurureviewer/__init__.py +13 -2
  63. aws_cdk/aws_codepipeline/__init__.py +177 -71
  64. aws_cdk/aws_codepipeline_actions/__init__.py +753 -4
  65. aws_cdk/aws_codestar/__init__.py +13 -2
  66. aws_cdk/aws_codestarconnections/__init__.py +35 -6
  67. aws_cdk/aws_codestarnotifications/__init__.py +22 -2
  68. aws_cdk/aws_cognito/__init__.py +905 -92
  69. aws_cdk/aws_cognito_identitypool/__init__.py +23 -12
  70. aws_cdk/aws_comprehend/__init__.py +24 -4
  71. aws_cdk/aws_config/__init__.py +227 -30
  72. aws_cdk/aws_connect/__init__.py +2736 -191
  73. aws_cdk/aws_connectcampaigns/__init__.py +13 -2
  74. aws_cdk/aws_connectcampaignsv2/__init__.py +268 -6
  75. aws_cdk/aws_controltower/__init__.py +35 -6
  76. aws_cdk/aws_cur/__init__.py +100 -4
  77. aws_cdk/aws_customerprofiles/__init__.py +617 -27
  78. aws_cdk/aws_databrew/__init__.py +68 -12
  79. aws_cdk/aws_datapipeline/__init__.py +42 -2
  80. aws_cdk/aws_datasync/__init__.py +1514 -977
  81. aws_cdk/aws_datazone/__init__.py +7426 -1763
  82. aws_cdk/aws_dax/__init__.py +83 -6
  83. aws_cdk/aws_deadline/__init__.py +511 -36
  84. aws_cdk/aws_detective/__init__.py +35 -6
  85. aws_cdk/aws_devicefarm/__init__.py +68 -12
  86. aws_cdk/aws_devopsguru/__init__.py +37 -6
  87. aws_cdk/aws_directoryservice/__init__.py +53 -4
  88. aws_cdk/aws_dlm/__init__.py +13 -2
  89. aws_cdk/aws_dms/__init__.py +184 -27
  90. aws_cdk/aws_docdb/__init__.py +350 -49
  91. aws_cdk/aws_docdbelastic/__init__.py +13 -2
  92. aws_cdk/aws_dsql/__init__.py +386 -16
  93. aws_cdk/aws_dynamodb/__init__.py +1479 -170
  94. aws_cdk/aws_ec2/__init__.py +10465 -1335
  95. aws_cdk/aws_ecr/__init__.py +637 -43
  96. aws_cdk/aws_ecr_assets/__init__.py +10 -0
  97. aws_cdk/aws_ecs/__init__.py +6629 -490
  98. aws_cdk/aws_ecs_patterns/__init__.py +124 -12
  99. aws_cdk/aws_efs/__init__.py +276 -24
  100. aws_cdk/aws_eks/__init__.py +1132 -227
  101. aws_cdk/aws_elasticache/__init__.py +378 -25
  102. aws_cdk/aws_elasticbeanstalk/__init__.py +75 -8
  103. aws_cdk/aws_elasticloadbalancing/__init__.py +22 -2
  104. aws_cdk/aws_elasticloadbalancingv2/__init__.py +1796 -123
  105. aws_cdk/aws_elasticsearch/__init__.py +291 -9
  106. aws_cdk/aws_emr/__init__.py +219 -18
  107. aws_cdk/aws_emrcontainers/__init__.py +71 -2
  108. aws_cdk/aws_emrserverless/__init__.py +188 -3
  109. aws_cdk/aws_entityresolution/__init__.py +585 -58
  110. aws_cdk/aws_events/__init__.py +1007 -126
  111. aws_cdk/aws_events_targets/__init__.py +398 -65
  112. aws_cdk/aws_eventschemas/__init__.py +46 -8
  113. aws_cdk/aws_evidently/__init__.py +57 -10
  114. aws_cdk/aws_evs/__init__.py +2244 -0
  115. aws_cdk/aws_finspace/__init__.py +71 -2
  116. aws_cdk/aws_fis/__init__.py +26 -4
  117. aws_cdk/aws_fms/__init__.py +35 -6
  118. aws_cdk/aws_forecast/__init__.py +24 -4
  119. aws_cdk/aws_frauddetector/__init__.py +79 -14
  120. aws_cdk/aws_fsx/__init__.py +1349 -127
  121. aws_cdk/aws_gamelift/__init__.py +755 -94
  122. aws_cdk/aws_gameliftstreams/__init__.py +44 -22
  123. aws_cdk/aws_globalaccelerator/__init__.py +73 -14
  124. aws_cdk/aws_glue/__init__.py +1455 -378
  125. aws_cdk/aws_grafana/__init__.py +13 -2
  126. aws_cdk/aws_greengrass/__init__.py +654 -32
  127. aws_cdk/aws_greengrassv2/__init__.py +53 -4
  128. aws_cdk/aws_groundstation/__init__.py +122 -6
  129. aws_cdk/aws_guardduty/__init__.py +1613 -123
  130. aws_cdk/aws_healthimaging/__init__.py +71 -2
  131. aws_cdk/aws_healthlake/__init__.py +42 -2
  132. aws_cdk/aws_iam/__init__.py +921 -141
  133. aws_cdk/aws_identitystore/__init__.py +24 -4
  134. aws_cdk/aws_imagebuilder/__init__.py +1454 -199
  135. aws_cdk/aws_inspector/__init__.py +44 -6
  136. aws_cdk/aws_inspectorv2/__init__.py +2285 -243
  137. aws_cdk/aws_internetmonitor/__init__.py +71 -2
  138. aws_cdk/aws_invoicing/__init__.py +13 -2
  139. aws_cdk/aws_iot/__init__.py +1760 -64
  140. aws_cdk/aws_iotanalytics/__init__.py +162 -8
  141. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +106 -40
  142. aws_cdk/aws_iotevents/__init__.py +122 -6
  143. aws_cdk/aws_iotfleethub/__init__.py +71 -2
  144. aws_cdk/aws_iotfleetwise/__init__.py +195 -14
  145. aws_cdk/aws_iotsitewise/__init__.py +1837 -89
  146. aws_cdk/aws_iotthingsgraph/__init__.py +13 -2
  147. aws_cdk/aws_iottwinmaker/__init__.py +115 -10
  148. aws_cdk/aws_iotwireless/__init__.py +649 -22
  149. aws_cdk/aws_ivs/__init__.py +561 -57
  150. aws_cdk/aws_ivschat/__init__.py +24 -4
  151. aws_cdk/aws_kafkaconnect/__init__.py +35 -6
  152. aws_cdk/aws_kendra/__init__.py +120 -28
  153. aws_cdk/aws_kendraranking/__init__.py +13 -2
  154. aws_cdk/aws_kinesis/__init__.py +641 -23
  155. aws_cdk/aws_kinesisanalytics/__init__.py +467 -96
  156. aws_cdk/aws_kinesisanalyticsv2/__init__.py +207 -19
  157. aws_cdk/aws_kinesisfirehose/__init__.py +3087 -295
  158. aws_cdk/aws_kinesisvideo/__init__.py +24 -4
  159. aws_cdk/aws_kms/__init__.py +204 -45
  160. aws_cdk/aws_lakeformation/__init__.py +80 -15
  161. aws_cdk/aws_lambda/__init__.py +2236 -297
  162. aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
  163. aws_cdk/aws_lambda_nodejs/__init__.py +63 -24
  164. aws_cdk/aws_launchwizard/__init__.py +13 -2
  165. aws_cdk/aws_lex/__init__.py +2162 -212
  166. aws_cdk/aws_licensemanager/__init__.py +24 -4
  167. aws_cdk/aws_lightsail/__init__.py +2958 -1322
  168. aws_cdk/aws_location/__init__.py +618 -14
  169. aws_cdk/aws_logs/__init__.py +6014 -923
  170. aws_cdk/aws_lookoutequipment/__init__.py +13 -2
  171. aws_cdk/aws_lookoutmetrics/__init__.py +38 -6
  172. aws_cdk/aws_lookoutvision/__init__.py +71 -2
  173. aws_cdk/aws_m2/__init__.py +94 -19
  174. aws_cdk/aws_macie/__init__.py +49 -11
  175. aws_cdk/aws_managedblockchain/__init__.py +180 -6
  176. aws_cdk/aws_mediaconnect/__init__.py +101 -18
  177. aws_cdk/aws_mediaconvert/__init__.py +35 -6
  178. aws_cdk/aws_medialive/__init__.py +1938 -532
  179. aws_cdk/aws_mediapackage/__init__.py +59 -12
  180. aws_cdk/aws_mediapackagev2/__init__.py +1616 -233
  181. aws_cdk/aws_mediastore/__init__.py +13 -2
  182. aws_cdk/aws_mediatailor/__init__.py +583 -12
  183. aws_cdk/aws_memorydb/__init__.py +271 -12
  184. aws_cdk/aws_mpa/__init__.py +1495 -0
  185. aws_cdk/aws_msk/__init__.py +108 -22
  186. aws_cdk/aws_mwaa/__init__.py +121 -9
  187. aws_cdk/aws_neptune/__init__.py +290 -78
  188. aws_cdk/aws_neptunegraph/__init__.py +24 -4
  189. aws_cdk/aws_networkfirewall/__init__.py +1184 -164
  190. aws_cdk/aws_networkmanager/__init__.py +349 -33
  191. aws_cdk/aws_nimblestudio/__init__.py +283 -408
  192. aws_cdk/aws_notifications/__init__.py +317 -12
  193. aws_cdk/aws_notificationscontacts/__init__.py +13 -2
  194. aws_cdk/aws_oam/__init__.py +24 -4
  195. aws_cdk/aws_observabilityadmin/__init__.py +2561 -0
  196. aws_cdk/aws_odb/__init__.py +5872 -0
  197. aws_cdk/aws_omics/__init__.py +2967 -162
  198. aws_cdk/aws_opensearchserverless/__init__.py +312 -37
  199. aws_cdk/aws_opensearchservice/__init__.py +501 -19
  200. aws_cdk/aws_opsworks/__init__.py +235 -139
  201. aws_cdk/aws_opsworkscm/__init__.py +16 -52
  202. aws_cdk/aws_organizations/__init__.py +70 -10
  203. aws_cdk/aws_osis/__init__.py +167 -2
  204. aws_cdk/aws_panorama/__init__.py +181 -9
  205. aws_cdk/aws_paymentcryptography/__init__.py +24 -4
  206. aws_cdk/aws_pcaconnectorad/__init__.py +59 -10
  207. aws_cdk/aws_pcaconnectorscep/__init__.py +24 -4
  208. aws_cdk/aws_pcs/__init__.py +516 -64
  209. aws_cdk/aws_personalize/__init__.py +46 -8
  210. aws_cdk/aws_pinpoint/__init__.py +329 -38
  211. aws_cdk/aws_pinpointemail/__init__.py +48 -8
  212. aws_cdk/aws_pipes/__init__.py +12 -2
  213. aws_cdk/aws_proton/__init__.py +37 -6
  214. aws_cdk/aws_qbusiness/__init__.py +635 -34
  215. aws_cdk/aws_qldb/__init__.py +24 -4
  216. aws_cdk/aws_quicksight/__init__.py +7900 -1160
  217. aws_cdk/aws_ram/__init__.py +24 -4
  218. aws_cdk/aws_rbin/__init__.py +12 -2
  219. aws_cdk/aws_rds/__init__.py +3721 -573
  220. aws_cdk/aws_redshift/__init__.py +143 -20
  221. aws_cdk/aws_redshiftserverless/__init__.py +699 -11
  222. aws_cdk/aws_refactorspaces/__init__.py +64 -14
  223. aws_cdk/aws_rekognition/__init__.py +93 -6
  224. aws_cdk/aws_resiliencehub/__init__.py +24 -4
  225. aws_cdk/aws_resourceexplorer2/__init__.py +35 -6
  226. aws_cdk/aws_resourcegroups/__init__.py +82 -4
  227. aws_cdk/aws_robomaker/__init__.py +72 -12
  228. aws_cdk/aws_rolesanywhere/__init__.py +194 -19
  229. aws_cdk/aws_route53/__init__.py +3965 -1436
  230. aws_cdk/aws_route53_targets/__init__.py +3 -0
  231. aws_cdk/aws_route53profiles/__init__.py +37 -6
  232. aws_cdk/aws_route53recoverycontrol/__init__.py +46 -8
  233. aws_cdk/aws_route53recoveryreadiness/__init__.py +104 -8
  234. aws_cdk/aws_route53resolver/__init__.py +189 -40
  235. aws_cdk/aws_rtbfabric/__init__.py +3498 -0
  236. aws_cdk/aws_rum/__init__.py +13 -2
  237. aws_cdk/aws_s3/__init__.py +1742 -221
  238. aws_cdk/aws_s3_assets/__init__.py +11 -11
  239. aws_cdk/aws_s3_deployment/__init__.py +153 -11
  240. aws_cdk/aws_s3_notifications/__init__.py +7 -7
  241. aws_cdk/aws_s3express/__init__.py +1053 -6
  242. aws_cdk/aws_s3objectlambda/__init__.py +68 -16
  243. aws_cdk/aws_s3outposts/__init__.py +46 -8
  244. aws_cdk/aws_s3tables/__init__.py +2000 -323
  245. aws_cdk/aws_s3vectors/__init__.py +1378 -0
  246. aws_cdk/aws_sagemaker/__init__.py +6848 -373
  247. aws_cdk/aws_sam/__init__.py +79 -14
  248. aws_cdk/aws_scheduler/__init__.py +249 -4
  249. aws_cdk/aws_sdb/__init__.py +12 -2
  250. aws_cdk/aws_secretsmanager/__init__.py +194 -14
  251. aws_cdk/aws_securityhub/__init__.py +3121 -176
  252. aws_cdk/aws_securitylake/__init__.py +46 -8
  253. aws_cdk/aws_servicecatalog/__init__.py +429 -246
  254. aws_cdk/aws_servicecatalogappregistry/__init__.py +164 -8
  255. aws_cdk/aws_servicediscovery/__init__.py +188 -47
  256. aws_cdk/aws_ses/__init__.py +2265 -369
  257. aws_cdk/aws_shield/__init__.py +46 -8
  258. aws_cdk/aws_signer/__init__.py +33 -4
  259. aws_cdk/aws_simspaceweaver/__init__.py +42 -2
  260. aws_cdk/aws_smsvoice/__init__.py +4716 -0
  261. aws_cdk/aws_sns/__init__.py +263 -29
  262. aws_cdk/aws_sns_subscriptions/__init__.py +265 -2
  263. aws_cdk/aws_sqs/__init__.py +223 -14
  264. aws_cdk/aws_ssm/__init__.py +413 -58
  265. aws_cdk/aws_ssmcontacts/__init__.py +98 -9
  266. aws_cdk/aws_ssmguiconnect/__init__.py +20 -9
  267. aws_cdk/aws_ssmincidents/__init__.py +24 -4
  268. aws_cdk/aws_ssmquicksetup/__init__.py +393 -8
  269. aws_cdk/aws_sso/__init__.py +70 -12
  270. aws_cdk/aws_stepfunctions/__init__.py +823 -94
  271. aws_cdk/aws_stepfunctions_tasks/__init__.py +2323 -150
  272. aws_cdk/aws_supportapp/__init__.py +39 -6
  273. aws_cdk/aws_synthetics/__init__.py +1088 -126
  274. aws_cdk/aws_systemsmanagersap/__init__.py +13 -2
  275. aws_cdk/aws_timestream/__init__.py +104 -8
  276. aws_cdk/aws_transfer/__init__.py +784 -87
  277. aws_cdk/aws_verifiedpermissions/__init__.py +306 -13
  278. aws_cdk/aws_voiceid/__init__.py +54 -5
  279. aws_cdk/aws_vpclattice/__init__.py +589 -231
  280. aws_cdk/aws_waf/__init__.py +79 -14
  281. aws_cdk/aws_wafregional/__init__.py +123 -22
  282. aws_cdk/aws_wafv2/__init__.py +1183 -64
  283. aws_cdk/aws_wisdom/__init__.py +1403 -90
  284. aws_cdk/aws_workspaces/__init__.py +134 -6
  285. aws_cdk/aws_workspacesinstances/__init__.py +3940 -0
  286. aws_cdk/aws_workspacesthinclient/__init__.py +79 -10
  287. aws_cdk/aws_workspacesweb/__init__.py +1057 -141
  288. aws_cdk/aws_xray/__init__.py +48 -8
  289. aws_cdk/cloud_assembly_schema/__init__.py +368 -48
  290. aws_cdk/custom_resources/__init__.py +58 -12
  291. aws_cdk/cx_api/__init__.py +125 -21
  292. aws_cdk/interfaces/__init__.py +739 -0
  293. aws_cdk/interfaces/alexa_ask/__init__.py +146 -0
  294. aws_cdk/interfaces/aws_accessanalyzer/__init__.py +146 -0
  295. aws_cdk/interfaces/aws_acmpca/__init__.py +501 -0
  296. aws_cdk/interfaces/aws_aiops/__init__.py +146 -0
  297. aws_cdk/interfaces/aws_amazonmq/__init__.py +386 -0
  298. aws_cdk/interfaces/aws_amplify/__init__.py +352 -0
  299. aws_cdk/interfaces/aws_amplifyuibuilder/__init__.py +454 -0
  300. aws_cdk/interfaces/aws_apigateway/__init__.py +2486 -0
  301. aws_cdk/interfaces/aws_apigatewayv2/__init__.py +1651 -0
  302. aws_cdk/interfaces/aws_appconfig/__init__.py +1020 -0
  303. aws_cdk/interfaces/aws_appflow/__init__.py +404 -0
  304. aws_cdk/interfaces/aws_appintegrations/__init__.py +396 -0
  305. aws_cdk/interfaces/aws_applicationautoscaling/__init__.py +307 -0
  306. aws_cdk/interfaces/aws_applicationinsights/__init__.py +148 -0
  307. aws_cdk/interfaces/aws_applicationsignals/__init__.py +358 -0
  308. aws_cdk/interfaces/aws_appmesh/__init__.py +888 -0
  309. aws_cdk/interfaces/aws_apprunner/__init__.py +564 -0
  310. aws_cdk/interfaces/aws_appstream/__init__.py +1482 -0
  311. aws_cdk/interfaces/aws_appsync/__init__.py +1326 -0
  312. aws_cdk/interfaces/aws_apptest/__init__.py +163 -0
  313. aws_cdk/interfaces/aws_aps/__init__.py +558 -0
  314. aws_cdk/interfaces/aws_arcregionswitch/__init__.py +146 -0
  315. aws_cdk/interfaces/aws_arczonalshift/__init__.py +273 -0
  316. aws_cdk/interfaces/aws_athena/__init__.py +575 -0
  317. aws_cdk/interfaces/aws_auditmanager/__init__.py +163 -0
  318. aws_cdk/interfaces/aws_autoscaling/__init__.py +705 -0
  319. aws_cdk/interfaces/aws_autoscalingplans/__init__.py +148 -0
  320. aws_cdk/interfaces/aws_b2bi/__init__.py +524 -0
  321. aws_cdk/interfaces/aws_backup/__init__.py +955 -0
  322. aws_cdk/interfaces/aws_backupgateway/__init__.py +146 -0
  323. aws_cdk/interfaces/aws_batch/__init__.py +681 -0
  324. aws_cdk/interfaces/aws_bcmdataexports/__init__.py +146 -0
  325. aws_cdk/interfaces/aws_bedrock/__init__.py +1942 -0
  326. aws_cdk/interfaces/aws_bedrockagentcore/__init__.py +934 -0
  327. aws_cdk/interfaces/aws_billing/__init__.py +146 -0
  328. aws_cdk/interfaces/aws_billingconductor/__init__.py +463 -0
  329. aws_cdk/interfaces/aws_budgets/__init__.py +261 -0
  330. aws_cdk/interfaces/aws_cassandra/__init__.py +381 -0
  331. aws_cdk/interfaces/aws_ce/__init__.py +352 -0
  332. aws_cdk/interfaces/aws_certificatemanager/__init__.py +251 -0
  333. aws_cdk/interfaces/aws_chatbot/__init__.py +366 -0
  334. aws_cdk/interfaces/aws_cleanrooms/__init__.py +1103 -0
  335. aws_cdk/interfaces/aws_cleanroomsml/__init__.py +148 -0
  336. aws_cdk/interfaces/aws_cloud9/__init__.py +166 -0
  337. aws_cdk/interfaces/aws_cloudformation/__init__.py +1919 -0
  338. aws_cdk/interfaces/aws_cloudfront/__init__.py +1998 -0
  339. aws_cdk/interfaces/aws_cloudtrail/__init__.py +570 -0
  340. aws_cdk/interfaces/aws_cloudwatch/__init__.py +733 -0
  341. aws_cdk/interfaces/aws_codeartifact/__init__.py +352 -0
  342. aws_cdk/interfaces/aws_codebuild/__init__.py +487 -0
  343. aws_cdk/interfaces/aws_codecommit/__init__.py +163 -0
  344. aws_cdk/interfaces/aws_codeconnections/__init__.py +146 -0
  345. aws_cdk/interfaces/aws_codedeploy/__init__.py +352 -0
  346. aws_cdk/interfaces/aws_codeguruprofiler/__init__.py +168 -0
  347. aws_cdk/interfaces/aws_codegurureviewer/__init__.py +148 -0
  348. aws_cdk/interfaces/aws_codepipeline/__init__.py +388 -0
  349. aws_cdk/interfaces/aws_codestar/__init__.py +146 -0
  350. aws_cdk/interfaces/aws_codestarconnections/__init__.py +370 -0
  351. aws_cdk/interfaces/aws_codestarnotifications/__init__.py +148 -0
  352. aws_cdk/interfaces/aws_cognito/__init__.py +1929 -0
  353. aws_cdk/interfaces/aws_comprehend/__init__.py +251 -0
  354. aws_cdk/interfaces/aws_config/__init__.py +1165 -0
  355. aws_cdk/interfaces/aws_connect/__init__.py +2949 -0
  356. aws_cdk/interfaces/aws_connectcampaigns/__init__.py +146 -0
  357. aws_cdk/interfaces/aws_connectcampaignsv2/__init__.py +146 -0
  358. aws_cdk/interfaces/aws_controltower/__init__.py +394 -0
  359. aws_cdk/interfaces/aws_cur/__init__.py +146 -0
  360. aws_cdk/interfaces/aws_customerprofiles/__init__.py +915 -0
  361. aws_cdk/interfaces/aws_databrew/__init__.py +661 -0
  362. aws_cdk/interfaces/aws_datapipeline/__init__.py +146 -0
  363. aws_cdk/interfaces/aws_datasync/__init__.py +1384 -0
  364. aws_cdk/interfaces/aws_datazone/__init__.py +2238 -0
  365. aws_cdk/interfaces/aws_dax/__init__.py +364 -0
  366. aws_cdk/interfaces/aws_deadline/__init__.py +1303 -0
  367. aws_cdk/interfaces/aws_detective/__init__.py +364 -0
  368. aws_cdk/interfaces/aws_devicefarm/__init__.py +663 -0
  369. aws_cdk/interfaces/aws_devopsguru/__init__.py +362 -0
  370. aws_cdk/interfaces/aws_directoryservice/__init__.py +251 -0
  371. aws_cdk/interfaces/aws_dlm/__init__.py +166 -0
  372. aws_cdk/interfaces/aws_dms/__init__.py +1176 -0
  373. aws_cdk/interfaces/aws_docdb/__init__.py +560 -0
  374. aws_cdk/interfaces/aws_docdbelastic/__init__.py +146 -0
  375. aws_cdk/interfaces/aws_dsql/__init__.py +146 -0
  376. aws_cdk/interfaces/aws_dynamodb/__init__.py +278 -0
  377. aws_cdk/interfaces/aws_ec2/__init__.py +11963 -0
  378. aws_cdk/interfaces/aws_ecr/__init__.py +814 -0
  379. aws_cdk/interfaces/aws_ecs/__init__.py +845 -0
  380. aws_cdk/interfaces/aws_efs/__init__.py +392 -0
  381. aws_cdk/interfaces/aws_eks/__init__.py +948 -0
  382. aws_cdk/interfaces/aws_elasticache/__init__.py +1108 -0
  383. aws_cdk/interfaces/aws_elasticbeanstalk/__init__.py +503 -0
  384. aws_cdk/interfaces/aws_elasticloadbalancing/__init__.py +148 -0
  385. aws_cdk/interfaces/aws_elasticloadbalancingv2/__init__.py +795 -0
  386. aws_cdk/interfaces/aws_elasticsearch/__init__.py +158 -0
  387. aws_cdk/interfaces/aws_emr/__init__.py +913 -0
  388. aws_cdk/interfaces/aws_emrcontainers/__init__.py +168 -0
  389. aws_cdk/interfaces/aws_emrserverless/__init__.py +166 -0
  390. aws_cdk/interfaces/aws_entityresolution/__init__.py +608 -0
  391. aws_cdk/interfaces/aws_events/__init__.py +872 -0
  392. aws_cdk/interfaces/aws_eventschemas/__init__.py +455 -0
  393. aws_cdk/interfaces/aws_evidently/__init__.py +558 -0
  394. aws_cdk/interfaces/aws_evs/__init__.py +166 -0
  395. aws_cdk/interfaces/aws_finspace/__init__.py +166 -0
  396. aws_cdk/interfaces/aws_fis/__init__.py +271 -0
  397. aws_cdk/interfaces/aws_fms/__init__.py +364 -0
  398. aws_cdk/interfaces/aws_forecast/__init__.py +249 -0
  399. aws_cdk/interfaces/aws_frauddetector/__init__.py +764 -0
  400. aws_cdk/interfaces/aws_fsx/__init__.py +663 -0
  401. aws_cdk/interfaces/aws_gamelift/__init__.py +1325 -0
  402. aws_cdk/interfaces/aws_gameliftstreams/__init__.py +249 -0
  403. aws_cdk/interfaces/aws_globalaccelerator/__init__.py +461 -0
  404. aws_cdk/interfaces/aws_glue/__init__.py +2377 -0
  405. aws_cdk/interfaces/aws_grafana/__init__.py +146 -0
  406. aws_cdk/interfaces/aws_greengrass/__init__.py +1871 -0
  407. aws_cdk/interfaces/aws_greengrassv2/__init__.py +251 -0
  408. aws_cdk/interfaces/aws_groundstation/__init__.py +396 -0
  409. aws_cdk/interfaces/aws_guardduty/__init__.py +1225 -0
  410. aws_cdk/interfaces/aws_healthimaging/__init__.py +163 -0
  411. aws_cdk/interfaces/aws_healthlake/__init__.py +146 -0
  412. aws_cdk/interfaces/aws_iam/__init__.py +1803 -0
  413. aws_cdk/interfaces/aws_identitystore/__init__.py +288 -0
  414. aws_cdk/interfaces/aws_imagebuilder/__init__.py +984 -0
  415. aws_cdk/interfaces/aws_inspector/__init__.py +354 -0
  416. aws_cdk/interfaces/aws_inspectorv2/__init__.py +467 -0
  417. aws_cdk/interfaces/aws_internetmonitor/__init__.py +163 -0
  418. aws_cdk/interfaces/aws_invoicing/__init__.py +146 -0
  419. aws_cdk/interfaces/aws_iot/__init__.py +3483 -0
  420. aws_cdk/interfaces/aws_iotanalytics/__init__.py +455 -0
  421. aws_cdk/interfaces/aws_iotcoredeviceadvisor/__init__.py +168 -0
  422. aws_cdk/interfaces/aws_iotevents/__init__.py +352 -0
  423. aws_cdk/interfaces/aws_iotfleethub/__init__.py +166 -0
  424. aws_cdk/interfaces/aws_iotfleetwise/__init__.py +892 -0
  425. aws_cdk/interfaces/aws_iotsitewise/__init__.py +1097 -0
  426. aws_cdk/interfaces/aws_iotthingsgraph/__init__.py +146 -0
  427. aws_cdk/interfaces/aws_iottwinmaker/__init__.py +711 -0
  428. aws_cdk/interfaces/aws_iotwireless/__init__.py +1401 -0
  429. aws_cdk/interfaces/aws_ivs/__init__.py +1075 -0
  430. aws_cdk/interfaces/aws_ivschat/__init__.py +251 -0
  431. aws_cdk/interfaces/aws_kafkaconnect/__init__.py +354 -0
  432. aws_cdk/interfaces/aws_kendra/__init__.py +428 -0
  433. aws_cdk/interfaces/aws_kendraranking/__init__.py +166 -0
  434. aws_cdk/interfaces/aws_kinesis/__init__.py +364 -0
  435. aws_cdk/interfaces/aws_kinesisanalytics/__init__.py +364 -0
  436. aws_cdk/interfaces/aws_kinesisanalyticsv2/__init__.py +479 -0
  437. aws_cdk/interfaces/aws_kinesisfirehose/__init__.py +168 -0
  438. aws_cdk/interfaces/aws_kinesisvideo/__init__.py +283 -0
  439. aws_cdk/interfaces/aws_kms/__init__.py +376 -0
  440. aws_cdk/interfaces/aws_lakeformation/__init__.py +860 -0
  441. aws_cdk/interfaces/aws_lambda/__init__.py +1141 -0
  442. aws_cdk/interfaces/aws_launchwizard/__init__.py +146 -0
  443. aws_cdk/interfaces/aws_lex/__init__.py +513 -0
  444. aws_cdk/interfaces/aws_licensemanager/__init__.py +249 -0
  445. aws_cdk/interfaces/aws_lightsail/__init__.py +1744 -0
  446. aws_cdk/interfaces/aws_location/__init__.py +879 -0
  447. aws_cdk/interfaces/aws_logs/__init__.py +1667 -0
  448. aws_cdk/interfaces/aws_lookoutequipment/__init__.py +168 -0
  449. aws_cdk/interfaces/aws_lookoutmetrics/__init__.py +251 -0
  450. aws_cdk/interfaces/aws_lookoutvision/__init__.py +163 -0
  451. aws_cdk/interfaces/aws_m2/__init__.py +352 -0
  452. aws_cdk/interfaces/aws_macie/__init__.py +512 -0
  453. aws_cdk/interfaces/aws_managedblockchain/__init__.py +381 -0
  454. aws_cdk/interfaces/aws_mediaconnect/__init__.py +1028 -0
  455. aws_cdk/interfaces/aws_mediaconvert/__init__.py +396 -0
  456. aws_cdk/interfaces/aws_medialive/__init__.py +1755 -0
  457. aws_cdk/interfaces/aws_mediapackage/__init__.py +644 -0
  458. aws_cdk/interfaces/aws_mediapackagev2/__init__.py +618 -0
  459. aws_cdk/interfaces/aws_mediastore/__init__.py +146 -0
  460. aws_cdk/interfaces/aws_mediatailor/__init__.py +788 -0
  461. aws_cdk/interfaces/aws_memorydb/__init__.py +685 -0
  462. aws_cdk/interfaces/aws_mpa/__init__.py +249 -0
  463. aws_cdk/interfaces/aws_msk/__init__.py +764 -0
  464. aws_cdk/interfaces/aws_mwaa/__init__.py +166 -0
  465. aws_cdk/interfaces/aws_neptune/__init__.py +663 -0
  466. aws_cdk/interfaces/aws_neptunegraph/__init__.py +265 -0
  467. aws_cdk/interfaces/aws_networkfirewall/__init__.py +669 -0
  468. aws_cdk/interfaces/aws_networkmanager/__init__.py +1832 -0
  469. aws_cdk/interfaces/aws_nimblestudio/__init__.py +388 -0
  470. aws_cdk/interfaces/aws_notifications/__init__.py +868 -0
  471. aws_cdk/interfaces/aws_notificationscontacts/__init__.py +148 -0
  472. aws_cdk/interfaces/aws_oam/__init__.py +249 -0
  473. aws_cdk/interfaces/aws_observabilityadmin/__init__.py +362 -0
  474. aws_cdk/interfaces/aws_odb/__init__.py +562 -0
  475. aws_cdk/interfaces/aws_omics/__init__.py +838 -0
  476. aws_cdk/interfaces/aws_opensearchserverless/__init__.py +859 -0
  477. aws_cdk/interfaces/aws_opensearchservice/__init__.py +283 -0
  478. aws_cdk/interfaces/aws_opsworks/__init__.py +772 -0
  479. aws_cdk/interfaces/aws_opsworkscm/__init__.py +146 -0
  480. aws_cdk/interfaces/aws_organizations/__init__.py +646 -0
  481. aws_cdk/interfaces/aws_osis/__init__.py +146 -0
  482. aws_cdk/interfaces/aws_panorama/__init__.py +420 -0
  483. aws_cdk/interfaces/aws_paymentcryptography/__init__.py +249 -0
  484. aws_cdk/interfaces/aws_pcaconnectorad/__init__.py +608 -0
  485. aws_cdk/interfaces/aws_pcaconnectorscep/__init__.py +249 -0
  486. aws_cdk/interfaces/aws_pcs/__init__.py +352 -0
  487. aws_cdk/interfaces/aws_personalize/__init__.py +455 -0
  488. aws_cdk/interfaces/aws_pinpoint/__init__.py +2125 -0
  489. aws_cdk/interfaces/aws_pinpointemail/__init__.py +467 -0
  490. aws_cdk/interfaces/aws_pipes/__init__.py +158 -0
  491. aws_cdk/interfaces/aws_proton/__init__.py +360 -0
  492. aws_cdk/interfaces/aws_qbusiness/__init__.py +1122 -0
  493. aws_cdk/interfaces/aws_qldb/__init__.py +283 -0
  494. aws_cdk/interfaces/aws_quicksight/__init__.py +1566 -0
  495. aws_cdk/interfaces/aws_ram/__init__.py +249 -0
  496. aws_cdk/interfaces/aws_rbin/__init__.py +146 -0
  497. aws_cdk/interfaces/aws_rds/__init__.py +1780 -0
  498. aws_cdk/interfaces/aws_redshift/__init__.py +1104 -0
  499. aws_cdk/interfaces/aws_redshiftserverless/__init__.py +356 -0
  500. aws_cdk/interfaces/aws_refactorspaces/__init__.py +605 -0
  501. aws_cdk/interfaces/aws_rekognition/__init__.py +406 -0
  502. aws_cdk/interfaces/aws_resiliencehub/__init__.py +251 -0
  503. aws_cdk/interfaces/aws_resourceexplorer2/__init__.py +354 -0
  504. aws_cdk/interfaces/aws_resourcegroups/__init__.py +261 -0
  505. aws_cdk/interfaces/aws_robomaker/__init__.py +673 -0
  506. aws_cdk/interfaces/aws_rolesanywhere/__init__.py +384 -0
  507. aws_cdk/interfaces/aws_route53/__init__.py +804 -0
  508. aws_cdk/interfaces/aws_route53profiles/__init__.py +368 -0
  509. aws_cdk/interfaces/aws_route53recoverycontrol/__init__.py +463 -0
  510. aws_cdk/interfaces/aws_route53recoveryreadiness/__init__.py +535 -0
  511. aws_cdk/interfaces/aws_route53resolver/__init__.py +1356 -0
  512. aws_cdk/interfaces/aws_rtbfabric/__init__.py +352 -0
  513. aws_cdk/interfaces/aws_rum/__init__.py +146 -0
  514. aws_cdk/interfaces/aws_s3/__init__.py +1171 -0
  515. aws_cdk/interfaces/aws_s3express/__init__.py +392 -0
  516. aws_cdk/interfaces/aws_s3objectlambda/__init__.py +271 -0
  517. aws_cdk/interfaces/aws_s3outposts/__init__.py +455 -0
  518. aws_cdk/interfaces/aws_s3tables/__init__.py +575 -0
  519. aws_cdk/interfaces/aws_s3vectors/__init__.py +354 -0
  520. aws_cdk/interfaces/aws_sagemaker/__init__.py +3797 -0
  521. aws_cdk/interfaces/aws_sam/__init__.py +603 -0
  522. aws_cdk/interfaces/aws_scheduler/__init__.py +286 -0
  523. aws_cdk/interfaces/aws_sdb/__init__.py +146 -0
  524. aws_cdk/interfaces/aws_secretsmanager/__init__.py +461 -0
  525. aws_cdk/interfaces/aws_securityhub/__init__.py +1499 -0
  526. aws_cdk/interfaces/aws_securitylake/__init__.py +474 -0
  527. aws_cdk/interfaces/aws_servicecatalog/__init__.py +1829 -0
  528. aws_cdk/interfaces/aws_servicecatalogappregistry/__init__.py +557 -0
  529. aws_cdk/interfaces/aws_servicediscovery/__init__.py +636 -0
  530. aws_cdk/interfaces/aws_ses/__init__.py +2018 -0
  531. aws_cdk/interfaces/aws_shield/__init__.py +455 -0
  532. aws_cdk/interfaces/aws_signer/__init__.py +266 -0
  533. aws_cdk/interfaces/aws_simspaceweaver/__init__.py +146 -0
  534. aws_cdk/interfaces/aws_smsvoice/__init__.py +892 -0
  535. aws_cdk/interfaces/aws_sns/__init__.py +455 -0
  536. aws_cdk/interfaces/aws_sqs/__init__.py +364 -0
  537. aws_cdk/interfaces/aws_ssm/__init__.py +982 -0
  538. aws_cdk/interfaces/aws_ssmcontacts/__init__.py +455 -0
  539. aws_cdk/interfaces/aws_ssmguiconnect/__init__.py +146 -0
  540. aws_cdk/interfaces/aws_ssmincidents/__init__.py +249 -0
  541. aws_cdk/interfaces/aws_ssmquicksetup/__init__.py +253 -0
  542. aws_cdk/interfaces/aws_sso/__init__.py +797 -0
  543. aws_cdk/interfaces/aws_stepfunctions/__init__.py +459 -0
  544. aws_cdk/interfaces/aws_supportapp/__init__.py +372 -0
  545. aws_cdk/interfaces/aws_synthetics/__init__.py +249 -0
  546. aws_cdk/interfaces/aws_systemsmanagersap/__init__.py +148 -0
  547. aws_cdk/interfaces/aws_timestream/__init__.py +526 -0
  548. aws_cdk/interfaces/aws_transfer/__init__.py +967 -0
  549. aws_cdk/interfaces/aws_verifiedpermissions/__init__.py +538 -0
  550. aws_cdk/interfaces/aws_voiceid/__init__.py +146 -0
  551. aws_cdk/interfaces/aws_vpclattice/__init__.py +1418 -0
  552. aws_cdk/interfaces/aws_waf/__init__.py +764 -0
  553. aws_cdk/interfaces/aws_wafregional/__init__.py +1182 -0
  554. aws_cdk/interfaces/aws_wafv2/__init__.py +870 -0
  555. aws_cdk/interfaces/aws_wisdom/__init__.py +1556 -0
  556. aws_cdk/interfaces/aws_workspaces/__init__.py +352 -0
  557. aws_cdk/interfaces/aws_workspacesinstances/__init__.py +390 -0
  558. aws_cdk/interfaces/aws_workspacesthinclient/__init__.py +168 -0
  559. aws_cdk/interfaces/aws_workspacesweb/__init__.py +1085 -0
  560. aws_cdk/interfaces/aws_xray/__init__.py +457 -0
  561. aws_cdk/lambda_layer_awscli/__init__.py +6 -0
  562. aws_cdk/lambda_layer_node_proxy_agent/__init__.py +6 -0
  563. aws_cdk/pipelines/__init__.py +202 -52
  564. aws_cdk/region_info/__init__.py +3 -0
  565. aws_cdk/triggers/__init__.py +66 -18
  566. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/METADATA +418 -18
  567. aws_cdk_lib-2.224.0.dist-info/RECORD +584 -0
  568. aws_cdk_lib-2.195.0.dist-info/RECORD +0 -304
  569. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/LICENSE +0 -0
  570. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/NOTICE +0 -0
  571. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/WHEEL +0 -0
  572. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/top_level.txt +0 -0
@@ -68,9 +68,31 @@ from .. import (
68
68
  TagManager as _TagManager_0a598cb3,
69
69
  TreeInspector as _TreeInspector_488e0dd5,
70
70
  )
71
+ from ..interfaces.aws_guardduty import (
72
+ DetectorReference as _DetectorReference_c465ba9e,
73
+ FilterReference as _FilterReference_41cdec6d,
74
+ IDetectorRef as _IDetectorRef_92be1dc2,
75
+ IFilterRef as _IFilterRef_c77b6aa7,
76
+ IIPSetRef as _IIPSetRef_0c10768b,
77
+ IMalwareProtectionPlanRef as _IMalwareProtectionPlanRef_3cd61995,
78
+ IMasterRef as _IMasterRef_d397d01d,
79
+ IMemberRef as _IMemberRef_63206ff9,
80
+ IPSetReference as _IPSetReference_1898f771,
81
+ IPublishingDestinationRef as _IPublishingDestinationRef_4f811c6b,
82
+ IThreatEntitySetRef as _IThreatEntitySetRef_9ec2a783,
83
+ IThreatIntelSetRef as _IThreatIntelSetRef_2efbbcb1,
84
+ ITrustedEntitySetRef as _ITrustedEntitySetRef_bc546ba3,
85
+ MalwareProtectionPlanReference as _MalwareProtectionPlanReference_097f2811,
86
+ MasterReference as _MasterReference_b6aabded,
87
+ MemberReference as _MemberReference_cee728b6,
88
+ PublishingDestinationReference as _PublishingDestinationReference_07aff059,
89
+ ThreatEntitySetReference as _ThreatEntitySetReference_41072a7f,
90
+ ThreatIntelSetReference as _ThreatIntelSetReference_fb526e93,
91
+ TrustedEntitySetReference as _TrustedEntitySetReference_ed75751f,
92
+ )
71
93
 
72
94
 
73
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
95
+ @jsii.implements(_IInspectable_c2943556, _IDetectorRef_92be1dc2, _ITaggable_36806126)
74
96
  class CfnDetector(
75
97
  _CfnResource_9df397a6,
76
98
  metaclass=jsii.JSIIMeta,
@@ -140,7 +162,8 @@ class CfnDetector(
140
162
  finding_publishing_frequency: typing.Optional[builtins.str] = None,
141
163
  tags: typing.Optional[typing.Sequence[typing.Union["CfnDetector.TagItemProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
142
164
  ) -> None:
143
- '''
165
+ '''Create a new ``AWS::GuardDuty::Detector``.
166
+
144
167
  :param scope: Scope in which this resource is defined.
145
168
  :param id: Construct identifier for this resource (unique in its scope).
146
169
  :param enable: Specifies whether the detector is to be enabled on creation.
@@ -163,6 +186,27 @@ class CfnDetector(
163
186
 
164
187
  jsii.create(self.__class__, self, [scope, id, props])
165
188
 
189
+ @jsii.member(jsii_name="fromDetectorId")
190
+ @builtins.classmethod
191
+ def from_detector_id(
192
+ cls,
193
+ scope: _constructs_77d1e7e8.Construct,
194
+ id: builtins.str,
195
+ detector_id: builtins.str,
196
+ ) -> _IDetectorRef_92be1dc2:
197
+ '''Creates a new IDetectorRef from a detectorId.
198
+
199
+ :param scope: -
200
+ :param id: -
201
+ :param detector_id: -
202
+ '''
203
+ if __debug__:
204
+ type_hints = typing.get_type_hints(_typecheckingstub__3c713ff5c3d63d8b0298c515dac65b7f9b853cb55d0ab5db4ed3060bd60413f3)
205
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
206
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
207
+ check_type(argname="argument detector_id", value=detector_id, expected_type=type_hints["detector_id"])
208
+ return typing.cast(_IDetectorRef_92be1dc2, jsii.sinvoke(cls, "fromDetectorId", [scope, id, detector_id]))
209
+
166
210
  @jsii.member(jsii_name="inspect")
167
211
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
168
212
  '''Examines the CloudFormation resource and discloses attributes.
@@ -207,6 +251,12 @@ class CfnDetector(
207
251
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
208
252
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
209
253
 
254
+ @builtins.property
255
+ @jsii.member(jsii_name="detectorRef")
256
+ def detector_ref(self) -> _DetectorReference_c465ba9e:
257
+ '''A reference to a Detector resource.'''
258
+ return typing.cast(_DetectorReference_c465ba9e, jsii.get(self, "detectorRef"))
259
+
210
260
  @builtins.property
211
261
  @jsii.member(jsii_name="tags")
212
262
  def tags(self) -> _TagManager_0a598cb3:
@@ -1086,7 +1136,7 @@ class CfnDetectorProps:
1086
1136
  )
1087
1137
 
1088
1138
 
1089
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
1139
+ @jsii.implements(_IInspectable_c2943556, _IFilterRef_c77b6aa7, _ITaggable_36806126)
1090
1140
  class CfnFilter(
1091
1141
  _CfnResource_9df397a6,
1092
1142
  metaclass=jsii.JSIIMeta,
@@ -1151,7 +1201,8 @@ class CfnFilter(
1151
1201
  rank: typing.Optional[jsii.Number] = None,
1152
1202
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1153
1203
  ) -> None:
1154
- '''
1204
+ '''Create a new ``AWS::GuardDuty::Filter``.
1205
+
1155
1206
  :param scope: Scope in which this resource is defined.
1156
1207
  :param id: Construct identifier for this resource (unique in its scope).
1157
1208
  :param detector_id: The detector ID associated with the GuardDuty account for which you want to create a filter. To find the ``detectorId`` in the current Region, see the Settings page in the GuardDuty console, or run the `ListDetectors <https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html>`_ API.
@@ -1213,6 +1264,12 @@ class CfnFilter(
1213
1264
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
1214
1265
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1215
1266
 
1267
+ @builtins.property
1268
+ @jsii.member(jsii_name="filterRef")
1269
+ def filter_ref(self) -> _FilterReference_41cdec6d:
1270
+ '''A reference to a Filter resource.'''
1271
+ return typing.cast(_FilterReference_41cdec6d, jsii.get(self, "filterRef"))
1272
+
1216
1273
  @builtins.property
1217
1274
  @jsii.member(jsii_name="tags")
1218
1275
  def tags(self) -> _TagManager_0a598cb3:
@@ -1941,15 +1998,17 @@ class CfnFilterProps:
1941
1998
  )
1942
1999
 
1943
2000
 
1944
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
2001
+ @jsii.implements(_IInspectable_c2943556, _IIPSetRef_0c10768b, _ITaggable_36806126)
1945
2002
  class CfnIPSet(
1946
2003
  _CfnResource_9df397a6,
1947
2004
  metaclass=jsii.JSIIMeta,
1948
2005
  jsii_type="aws-cdk-lib.aws_guardduty.CfnIPSet",
1949
2006
  ):
1950
- '''The ``AWS::GuardDuty::IPSet`` resource specifies a new ``IPSet`` .
2007
+ '''The ``AWS::GuardDuty::IPSet`` resource helps you create a list of trusted IP addresses that you can use for secure communication with AWS infrastructure and applications.
2008
+
2009
+ Once you activate this list, GuardDuty will not generate findings when there is an activity associated with these safe IP addresses.
1951
2010
 
1952
- An ``IPSet`` is a list of trusted IP addresses from which secure communication is allowed with AWS infrastructure and applications.
2011
+ Only the users of the GuardDuty administrator account can manage this list. These settings are also applied to the member accounts.
1953
2012
 
1954
2013
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-ipset.html
1955
2014
  :cloudformationResource: AWS::GuardDuty::IPSet
@@ -1968,6 +2027,7 @@ class CfnIPSet(
1968
2027
  # the properties below are optional
1969
2028
  activate=False,
1970
2029
  detector_id="detectorId",
2030
+ expected_bucket_owner="expectedBucketOwner",
1971
2031
  name="name",
1972
2032
  tags=[CfnTag(
1973
2033
  key="key",
@@ -1985,18 +2045,21 @@ class CfnIPSet(
1985
2045
  location: builtins.str,
1986
2046
  activate: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1987
2047
  detector_id: typing.Optional[builtins.str] = None,
2048
+ expected_bucket_owner: typing.Optional[builtins.str] = None,
1988
2049
  name: typing.Optional[builtins.str] = None,
1989
2050
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1990
2051
  ) -> None:
1991
- '''
2052
+ '''Create a new ``AWS::GuardDuty::IPSet``.
2053
+
1992
2054
  :param scope: Scope in which this resource is defined.
1993
2055
  :param id: Construct identifier for this resource (unique in its scope).
1994
- :param format: The format of the file that contains the IPSet.
2056
+ :param format: The format of the file that contains the IPSet. For information about supported formats, see `List formats <https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_upload-lists.html#prepare_list>`_ in the *Amazon GuardDuty User Guide* .
1995
2057
  :param location: The URI of the file that contains the IPSet.
1996
- :param activate: Indicates whether or not GuardDuty uses the ``IPSet`` .
2058
+ :param activate: A boolean value that determines if GuardDuty can start using this list for custom threat detection. For GuardDuty to prevent generating findings based on an activity associated with these entries, this list must be active.
1997
2059
  :param detector_id: The unique ID of the detector of the GuardDuty account for which you want to create an IPSet. To find the ``detectorId`` in the current Region, see the Settings page in the GuardDuty console, or run the `ListDetectors <https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html>`_ API.
1998
- :param name: The user-friendly name to identify the IPSet. Allowed characters are alphanumeric, whitespace, dash (-), and underscores (_).
1999
- :param tags: The tags to be added to a new IP set resource. Each tag consists of a key and an optional value, both of which you define. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
2060
+ :param expected_bucket_owner: The AWS account ID that owns the Amazon S3 bucket specified in the *Location* field. When you provide this account ID, GuardDuty will validate that the S3 bucket belongs to this account. If you don't specify an account ID owner, GuardDuty doesn't perform any validation.
2061
+ :param name: The user-friendly name to identify the IPSet. The name of your list must be unique within an AWS account and Region. Valid characters are alphanumeric, whitespace, dash (-), and underscores (_).
2062
+ :param tags: The tags to be added to a new threat entity set resource. Each tag consists of a key and an optional value, both of which you define. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
2000
2063
  '''
2001
2064
  if __debug__:
2002
2065
  type_hints = typing.get_type_hints(_typecheckingstub__b0c6fd2cb08b5267e6265af6fae1a30df065b4b25dc1d6d684eec9f9bb50cda0)
@@ -2007,6 +2070,7 @@ class CfnIPSet(
2007
2070
  location=location,
2008
2071
  activate=activate,
2009
2072
  detector_id=detector_id,
2073
+ expected_bucket_owner=expected_bucket_owner,
2010
2074
  name=name,
2011
2075
  tags=tags,
2012
2076
  )
@@ -2056,6 +2120,12 @@ class CfnIPSet(
2056
2120
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
2057
2121
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
2058
2122
 
2123
+ @builtins.property
2124
+ @jsii.member(jsii_name="ipSetRef")
2125
+ def ip_set_ref(self) -> _IPSetReference_1898f771:
2126
+ '''A reference to a IPSet resource.'''
2127
+ return typing.cast(_IPSetReference_1898f771, jsii.get(self, "ipSetRef"))
2128
+
2059
2129
  @builtins.property
2060
2130
  @jsii.member(jsii_name="tags")
2061
2131
  def tags(self) -> _TagManager_0a598cb3:
@@ -2093,7 +2163,7 @@ class CfnIPSet(
2093
2163
  def activate(
2094
2164
  self,
2095
2165
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
2096
- '''Indicates whether or not GuardDuty uses the ``IPSet`` .'''
2166
+ '''A boolean value that determines if GuardDuty can start using this list for custom threat detection.'''
2097
2167
  return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "activate"))
2098
2168
 
2099
2169
  @activate.setter
@@ -2119,6 +2189,19 @@ class CfnIPSet(
2119
2189
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2120
2190
  jsii.set(self, "detectorId", value) # pyright: ignore[reportArgumentType]
2121
2191
 
2192
+ @builtins.property
2193
+ @jsii.member(jsii_name="expectedBucketOwner")
2194
+ def expected_bucket_owner(self) -> typing.Optional[builtins.str]:
2195
+ '''The AWS account ID that owns the Amazon S3 bucket specified in the *Location* field.'''
2196
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "expectedBucketOwner"))
2197
+
2198
+ @expected_bucket_owner.setter
2199
+ def expected_bucket_owner(self, value: typing.Optional[builtins.str]) -> None:
2200
+ if __debug__:
2201
+ type_hints = typing.get_type_hints(_typecheckingstub__9191409994fec537ce4d4e8e40256113b2937c7a1bb90b2f14b71998143f9810)
2202
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2203
+ jsii.set(self, "expectedBucketOwner", value) # pyright: ignore[reportArgumentType]
2204
+
2122
2205
  @builtins.property
2123
2206
  @jsii.member(jsii_name="name")
2124
2207
  def name(self) -> typing.Optional[builtins.str]:
@@ -2135,7 +2218,7 @@ class CfnIPSet(
2135
2218
  @builtins.property
2136
2219
  @jsii.member(jsii_name="tagsRaw")
2137
2220
  def tags_raw(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
2138
- '''The tags to be added to a new IP set resource.'''
2221
+ '''The tags to be added to a new threat entity set resource.'''
2139
2222
  return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tagsRaw"))
2140
2223
 
2141
2224
  @tags_raw.setter
@@ -2154,6 +2237,7 @@ class CfnIPSet(
2154
2237
  "location": "location",
2155
2238
  "activate": "activate",
2156
2239
  "detector_id": "detectorId",
2240
+ "expected_bucket_owner": "expectedBucketOwner",
2157
2241
  "name": "name",
2158
2242
  "tags": "tags",
2159
2243
  },
@@ -2166,17 +2250,19 @@ class CfnIPSetProps:
2166
2250
  location: builtins.str,
2167
2251
  activate: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2168
2252
  detector_id: typing.Optional[builtins.str] = None,
2253
+ expected_bucket_owner: typing.Optional[builtins.str] = None,
2169
2254
  name: typing.Optional[builtins.str] = None,
2170
2255
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2171
2256
  ) -> None:
2172
2257
  '''Properties for defining a ``CfnIPSet``.
2173
2258
 
2174
- :param format: The format of the file that contains the IPSet.
2259
+ :param format: The format of the file that contains the IPSet. For information about supported formats, see `List formats <https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_upload-lists.html#prepare_list>`_ in the *Amazon GuardDuty User Guide* .
2175
2260
  :param location: The URI of the file that contains the IPSet.
2176
- :param activate: Indicates whether or not GuardDuty uses the ``IPSet`` .
2261
+ :param activate: A boolean value that determines if GuardDuty can start using this list for custom threat detection. For GuardDuty to prevent generating findings based on an activity associated with these entries, this list must be active.
2177
2262
  :param detector_id: The unique ID of the detector of the GuardDuty account for which you want to create an IPSet. To find the ``detectorId`` in the current Region, see the Settings page in the GuardDuty console, or run the `ListDetectors <https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html>`_ API.
2178
- :param name: The user-friendly name to identify the IPSet. Allowed characters are alphanumeric, whitespace, dash (-), and underscores (_).
2179
- :param tags: The tags to be added to a new IP set resource. Each tag consists of a key and an optional value, both of which you define. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
2263
+ :param expected_bucket_owner: The AWS account ID that owns the Amazon S3 bucket specified in the *Location* field. When you provide this account ID, GuardDuty will validate that the S3 bucket belongs to this account. If you don't specify an account ID owner, GuardDuty doesn't perform any validation.
2264
+ :param name: The user-friendly name to identify the IPSet. The name of your list must be unique within an AWS account and Region. Valid characters are alphanumeric, whitespace, dash (-), and underscores (_).
2265
+ :param tags: The tags to be added to a new threat entity set resource. Each tag consists of a key and an optional value, both of which you define. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
2180
2266
 
2181
2267
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-ipset.html
2182
2268
  :exampleMetadata: fixture=_generated
@@ -2194,6 +2280,7 @@ class CfnIPSetProps:
2194
2280
  # the properties below are optional
2195
2281
  activate=False,
2196
2282
  detector_id="detectorId",
2283
+ expected_bucket_owner="expectedBucketOwner",
2197
2284
  name="name",
2198
2285
  tags=[CfnTag(
2199
2286
  key="key",
@@ -2207,6 +2294,7 @@ class CfnIPSetProps:
2207
2294
  check_type(argname="argument location", value=location, expected_type=type_hints["location"])
2208
2295
  check_type(argname="argument activate", value=activate, expected_type=type_hints["activate"])
2209
2296
  check_type(argname="argument detector_id", value=detector_id, expected_type=type_hints["detector_id"])
2297
+ check_type(argname="argument expected_bucket_owner", value=expected_bucket_owner, expected_type=type_hints["expected_bucket_owner"])
2210
2298
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
2211
2299
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
2212
2300
  self._values: typing.Dict[builtins.str, typing.Any] = {
@@ -2217,6 +2305,8 @@ class CfnIPSetProps:
2217
2305
  self._values["activate"] = activate
2218
2306
  if detector_id is not None:
2219
2307
  self._values["detector_id"] = detector_id
2308
+ if expected_bucket_owner is not None:
2309
+ self._values["expected_bucket_owner"] = expected_bucket_owner
2220
2310
  if name is not None:
2221
2311
  self._values["name"] = name
2222
2312
  if tags is not None:
@@ -2226,6 +2316,8 @@ class CfnIPSetProps:
2226
2316
  def format(self) -> builtins.str:
2227
2317
  '''The format of the file that contains the IPSet.
2228
2318
 
2319
+ For information about supported formats, see `List formats <https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_upload-lists.html#prepare_list>`_ in the *Amazon GuardDuty User Guide* .
2320
+
2229
2321
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-ipset.html#cfn-guardduty-ipset-format
2230
2322
  '''
2231
2323
  result = self._values.get("format")
@@ -2246,7 +2338,9 @@ class CfnIPSetProps:
2246
2338
  def activate(
2247
2339
  self,
2248
2340
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
2249
- '''Indicates whether or not GuardDuty uses the ``IPSet`` .
2341
+ '''A boolean value that determines if GuardDuty can start using this list for custom threat detection.
2342
+
2343
+ For GuardDuty to prevent generating findings based on an activity associated with these entries, this list must be active.
2250
2344
 
2251
2345
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-ipset.html#cfn-guardduty-ipset-activate
2252
2346
  '''
@@ -2265,11 +2359,22 @@ class CfnIPSetProps:
2265
2359
  result = self._values.get("detector_id")
2266
2360
  return typing.cast(typing.Optional[builtins.str], result)
2267
2361
 
2362
+ @builtins.property
2363
+ def expected_bucket_owner(self) -> typing.Optional[builtins.str]:
2364
+ '''The AWS account ID that owns the Amazon S3 bucket specified in the *Location* field.
2365
+
2366
+ When you provide this account ID, GuardDuty will validate that the S3 bucket belongs to this account. If you don't specify an account ID owner, GuardDuty doesn't perform any validation.
2367
+
2368
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-ipset.html#cfn-guardduty-ipset-expectedbucketowner
2369
+ '''
2370
+ result = self._values.get("expected_bucket_owner")
2371
+ return typing.cast(typing.Optional[builtins.str], result)
2372
+
2268
2373
  @builtins.property
2269
2374
  def name(self) -> typing.Optional[builtins.str]:
2270
2375
  '''The user-friendly name to identify the IPSet.
2271
2376
 
2272
- Allowed characters are alphanumeric, whitespace, dash (-), and underscores (_).
2377
+ The name of your list must be unique within an AWS account and Region. Valid characters are alphanumeric, whitespace, dash (-), and underscores (_).
2273
2378
 
2274
2379
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-ipset.html#cfn-guardduty-ipset-name
2275
2380
  '''
@@ -2278,7 +2383,7 @@ class CfnIPSetProps:
2278
2383
 
2279
2384
  @builtins.property
2280
2385
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
2281
- '''The tags to be added to a new IP set resource.
2386
+ '''The tags to be added to a new threat entity set resource.
2282
2387
 
2283
2388
  Each tag consists of a key and an optional value, both of which you define.
2284
2389
 
@@ -2301,7 +2406,7 @@ class CfnIPSetProps:
2301
2406
  )
2302
2407
 
2303
2408
 
2304
- @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
2409
+ @jsii.implements(_IInspectable_c2943556, _IMalwareProtectionPlanRef_3cd61995, _ITaggableV2_4e6798f8)
2305
2410
  class CfnMalwareProtectionPlan(
2306
2411
  _CfnResource_9df397a6,
2307
2412
  metaclass=jsii.JSIIMeta,
@@ -2353,7 +2458,8 @@ class CfnMalwareProtectionPlan(
2353
2458
  actions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMalwareProtectionPlan.CFNActionsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2354
2459
  tags: typing.Optional[typing.Sequence[typing.Union["CfnMalwareProtectionPlan.TagItemProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2355
2460
  ) -> None:
2356
- '''
2461
+ '''Create a new ``AWS::GuardDuty::MalwareProtectionPlan``.
2462
+
2357
2463
  :param scope: Scope in which this resource is defined.
2358
2464
  :param id: Construct identifier for this resource (unique in its scope).
2359
2465
  :param protected_resource: Information about the protected resource. Presently, ``S3Bucket`` is the only supported protected resource.
@@ -2374,6 +2480,48 @@ class CfnMalwareProtectionPlan(
2374
2480
 
2375
2481
  jsii.create(self.__class__, self, [scope, id, props])
2376
2482
 
2483
+ @jsii.member(jsii_name="fromMalwareProtectionPlanArn")
2484
+ @builtins.classmethod
2485
+ def from_malware_protection_plan_arn(
2486
+ cls,
2487
+ scope: _constructs_77d1e7e8.Construct,
2488
+ id: builtins.str,
2489
+ arn: builtins.str,
2490
+ ) -> _IMalwareProtectionPlanRef_3cd61995:
2491
+ '''Creates a new IMalwareProtectionPlanRef from an ARN.
2492
+
2493
+ :param scope: -
2494
+ :param id: -
2495
+ :param arn: -
2496
+ '''
2497
+ if __debug__:
2498
+ type_hints = typing.get_type_hints(_typecheckingstub__9beb0e4b705cb1315021d1597ad3a8ef8f98d51f345baa42f6587d45977f630f)
2499
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
2500
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
2501
+ check_type(argname="argument arn", value=arn, expected_type=type_hints["arn"])
2502
+ return typing.cast(_IMalwareProtectionPlanRef_3cd61995, jsii.sinvoke(cls, "fromMalwareProtectionPlanArn", [scope, id, arn]))
2503
+
2504
+ @jsii.member(jsii_name="fromMalwareProtectionPlanId")
2505
+ @builtins.classmethod
2506
+ def from_malware_protection_plan_id(
2507
+ cls,
2508
+ scope: _constructs_77d1e7e8.Construct,
2509
+ id: builtins.str,
2510
+ malware_protection_plan_id: builtins.str,
2511
+ ) -> _IMalwareProtectionPlanRef_3cd61995:
2512
+ '''Creates a new IMalwareProtectionPlanRef from a malwareProtectionPlanId.
2513
+
2514
+ :param scope: -
2515
+ :param id: -
2516
+ :param malware_protection_plan_id: -
2517
+ '''
2518
+ if __debug__:
2519
+ type_hints = typing.get_type_hints(_typecheckingstub__2dc9250482abe101d6509cf926e75331c1ab605e103c4610913931bfc0ff5343)
2520
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
2521
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
2522
+ check_type(argname="argument malware_protection_plan_id", value=malware_protection_plan_id, expected_type=type_hints["malware_protection_plan_id"])
2523
+ return typing.cast(_IMalwareProtectionPlanRef_3cd61995, jsii.sinvoke(cls, "fromMalwareProtectionPlanId", [scope, id, malware_protection_plan_id]))
2524
+
2377
2525
  @jsii.member(jsii_name="inspect")
2378
2526
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
2379
2527
  '''Examines the CloudFormation resource and discloses attributes.
@@ -2460,6 +2608,12 @@ class CfnMalwareProtectionPlan(
2460
2608
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
2461
2609
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
2462
2610
 
2611
+ @builtins.property
2612
+ @jsii.member(jsii_name="malwareProtectionPlanRef")
2613
+ def malware_protection_plan_ref(self) -> _MalwareProtectionPlanReference_097f2811:
2614
+ '''A reference to a MalwareProtectionPlan resource.'''
2615
+ return typing.cast(_MalwareProtectionPlanReference_097f2811, jsii.get(self, "malwareProtectionPlanRef"))
2616
+
2463
2617
  @builtins.property
2464
2618
  @jsii.member(jsii_name="protectedResource")
2465
2619
  def protected_resource(
@@ -3051,7 +3205,7 @@ class CfnMalwareProtectionPlanProps:
3051
3205
  )
3052
3206
 
3053
3207
 
3054
- @jsii.implements(_IInspectable_c2943556)
3208
+ @jsii.implements(_IInspectable_c2943556, _IMasterRef_d397d01d)
3055
3209
  class CfnMaster(
3056
3210
  _CfnResource_9df397a6,
3057
3211
  metaclass=jsii.JSIIMeta,
@@ -3089,7 +3243,8 @@ class CfnMaster(
3089
3243
  master_id: builtins.str,
3090
3244
  invitation_id: typing.Optional[builtins.str] = None,
3091
3245
  ) -> None:
3092
- '''
3246
+ '''Create a new ``AWS::GuardDuty::Master``.
3247
+
3093
3248
  :param scope: Scope in which this resource is defined.
3094
3249
  :param id: Construct identifier for this resource (unique in its scope).
3095
3250
  :param detector_id: The unique ID of the detector of the GuardDuty member account. To find the ``detectorId`` in the current Region, see the Settings page in the GuardDuty console, or run the `ListDetectors <https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html>`_ API.
@@ -3141,6 +3296,12 @@ class CfnMaster(
3141
3296
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
3142
3297
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
3143
3298
 
3299
+ @builtins.property
3300
+ @jsii.member(jsii_name="masterRef")
3301
+ def master_ref(self) -> _MasterReference_b6aabded:
3302
+ '''A reference to a Master resource.'''
3303
+ return typing.cast(_MasterReference_b6aabded, jsii.get(self, "masterRef"))
3304
+
3144
3305
  @builtins.property
3145
3306
  @jsii.member(jsii_name="detectorId")
3146
3307
  def detector_id(self) -> builtins.str:
@@ -3279,7 +3440,7 @@ class CfnMasterProps:
3279
3440
  )
3280
3441
 
3281
3442
 
3282
- @jsii.implements(_IInspectable_c2943556)
3443
+ @jsii.implements(_IInspectable_c2943556, _IMemberRef_63206ff9)
3283
3444
  class CfnMember(
3284
3445
  _CfnResource_9df397a6,
3285
3446
  metaclass=jsii.JSIIMeta,
@@ -3323,7 +3484,8 @@ class CfnMember(
3323
3484
  message: typing.Optional[builtins.str] = None,
3324
3485
  status: typing.Optional[builtins.str] = None,
3325
3486
  ) -> None:
3326
- '''
3487
+ '''Create a new ``AWS::GuardDuty::Member``.
3488
+
3327
3489
  :param scope: Scope in which this resource is defined.
3328
3490
  :param id: Construct identifier for this resource (unique in its scope).
3329
3491
  :param email: The email address associated with the member account.
@@ -3383,6 +3545,12 @@ class CfnMember(
3383
3545
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
3384
3546
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
3385
3547
 
3548
+ @builtins.property
3549
+ @jsii.member(jsii_name="memberRef")
3550
+ def member_ref(self) -> _MemberReference_cee728b6:
3551
+ '''A reference to a Member resource.'''
3552
+ return typing.cast(_MemberReference_cee728b6, jsii.get(self, "memberRef"))
3553
+
3386
3554
  @builtins.property
3387
3555
  @jsii.member(jsii_name="email")
3388
3556
  def email(self) -> builtins.str:
@@ -3612,7 +3780,7 @@ class CfnMemberProps:
3612
3780
  )
3613
3781
 
3614
3782
 
3615
- @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
3783
+ @jsii.implements(_IInspectable_c2943556, _IPublishingDestinationRef_4f811c6b, _ITaggableV2_4e6798f8)
3616
3784
  class CfnPublishingDestination(
3617
3785
  _CfnResource_9df397a6,
3618
3786
  metaclass=jsii.JSIIMeta,
@@ -3660,7 +3828,8 @@ class CfnPublishingDestination(
3660
3828
  detector_id: builtins.str,
3661
3829
  tags: typing.Optional[typing.Sequence[typing.Union["CfnPublishingDestination.TagItemProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3662
3830
  ) -> None:
3663
- '''
3831
+ '''Create a new ``AWS::GuardDuty::PublishingDestination``.
3832
+
3664
3833
  :param scope: Scope in which this resource is defined.
3665
3834
  :param id: Construct identifier for this resource (unique in its scope).
3666
3835
  :param destination_properties: Contains the Amazon Resource Name (ARN) of the resource to publish to, such as an S3 bucket, and the ARN of the KMS key to use to encrypt published findings.
@@ -3749,6 +3918,12 @@ class CfnPublishingDestination(
3749
3918
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
3750
3919
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
3751
3920
 
3921
+ @builtins.property
3922
+ @jsii.member(jsii_name="publishingDestinationRef")
3923
+ def publishing_destination_ref(self) -> _PublishingDestinationReference_07aff059:
3924
+ '''A reference to a PublishingDestination resource.'''
3925
+ return typing.cast(_PublishingDestinationReference_07aff059, jsii.get(self, "publishingDestinationRef"))
3926
+
3752
3927
  @builtins.property
3753
3928
  @jsii.member(jsii_name="destinationProperties")
3754
3929
  def destination_properties(
@@ -4069,18 +4244,20 @@ class CfnPublishingDestinationProps:
4069
4244
  )
4070
4245
 
4071
4246
 
4072
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
4073
- class CfnThreatIntelSet(
4247
+ @jsii.implements(_IInspectable_c2943556, _IThreatEntitySetRef_9ec2a783, _ITaggableV2_4e6798f8)
4248
+ class CfnThreatEntitySet(
4074
4249
  _CfnResource_9df397a6,
4075
4250
  metaclass=jsii.JSIIMeta,
4076
- jsii_type="aws-cdk-lib.aws_guardduty.CfnThreatIntelSet",
4251
+ jsii_type="aws-cdk-lib.aws_guardduty.CfnThreatEntitySet",
4077
4252
  ):
4078
- '''The ``AWS::GuardDuty::ThreatIntelSet`` resource specifies a new ``ThreatIntelSet`` .
4253
+ '''The ``AWS::GuardDuty::ThreatEntitySet`` resource helps you create a list of known malicious IP addresses and domain names in your AWS environment.
4079
4254
 
4080
- A ``ThreatIntelSet`` consists of known malicious IP addresses. GuardDuty generates findings based on the ``ThreatIntelSet`` after it is activated.
4255
+ Once you activate this list, GuardDuty will use the entries in this list as an additional source of threat detection and generate findings when there is an activity associated with these known malicious IP addresses and domain names. GuardDuty continues to monitor independently of this custom threat entity set.
4081
4256
 
4082
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html
4083
- :cloudformationResource: AWS::GuardDuty::ThreatIntelSet
4257
+ Only the users of the GuardDuty administrator account can manage this list. These settings automatically apply to the member accounts.
4258
+
4259
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatentityset.html
4260
+ :cloudformationResource: AWS::GuardDuty::ThreatEntitySet
4084
4261
  :exampleMetadata: fixture=_generated
4085
4262
 
4086
4263
  Example::
@@ -4089,15 +4266,16 @@ class CfnThreatIntelSet(
4089
4266
  # The values are placeholders you should change.
4090
4267
  from aws_cdk import aws_guardduty as guardduty
4091
4268
 
4092
- cfn_threat_intel_set = guardduty.CfnThreatIntelSet(self, "MyCfnThreatIntelSet",
4269
+ cfn_threat_entity_set = guardduty.CfnThreatEntitySet(self, "MyCfnThreatEntitySet",
4093
4270
  format="format",
4094
4271
  location="location",
4095
4272
 
4096
4273
  # the properties below are optional
4097
4274
  activate=False,
4098
4275
  detector_id="detectorId",
4276
+ expected_bucket_owner="expectedBucketOwner",
4099
4277
  name="name",
4100
- tags=[CfnTag(
4278
+ tags=[guardduty.CfnThreatEntitySet.TagItemProperty(
4101
4279
  key="key",
4102
4280
  value="value"
4103
4281
  )]
@@ -4113,28 +4291,32 @@ class CfnThreatIntelSet(
4113
4291
  location: builtins.str,
4114
4292
  activate: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4115
4293
  detector_id: typing.Optional[builtins.str] = None,
4294
+ expected_bucket_owner: typing.Optional[builtins.str] = None,
4116
4295
  name: typing.Optional[builtins.str] = None,
4117
- tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
4296
+ tags: typing.Optional[typing.Sequence[typing.Union["CfnThreatEntitySet.TagItemProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4118
4297
  ) -> None:
4119
- '''
4298
+ '''Create a new ``AWS::GuardDuty::ThreatEntitySet``.
4299
+
4120
4300
  :param scope: Scope in which this resource is defined.
4121
4301
  :param id: Construct identifier for this resource (unique in its scope).
4122
- :param format: The format of the file that contains the ThreatIntelSet.
4123
- :param location: The URI of the file that contains the ThreatIntelSet.
4124
- :param activate: A Boolean value that indicates whether GuardDuty is to start using the uploaded ThreatIntelSet.
4125
- :param detector_id: The unique ID of the detector of the GuardDuty account for which you want to create a ``ThreatIntelSet`` . To find the ``detectorId`` in the current Region, see the Settings page in the GuardDuty console, or run the `ListDetectors <https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html>`_ API.
4126
- :param name: A user-friendly ThreatIntelSet name displayed in all findings that are generated by activity that involves IP addresses included in this ThreatIntelSet.
4127
- :param tags: The tags to be added to a new threat list resource. Each tag consists of a key and an optional value, both of which you define. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
4302
+ :param format: The format of the file that contains the threat entity set. For information about supported formats, see `List formats <https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_upload-lists.html#prepare_list>`_ in the *Amazon GuardDuty User Guide* .
4303
+ :param location: The URI of the file that contains the threat entity set.
4304
+ :param activate: A boolean value that determines if GuardDuty can start using this list for custom threat detection. For GuardDuty to consider the entries in this list and generate findings based on associated activity, this list must be active.
4305
+ :param detector_id: The unique regional detector ID of the GuardDuty account for which you want to create a threat entity set. To find the ``detectorId`` in the current Region, see the Settings page in the GuardDuty console, or run the `ListDetectors <https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html>`_ API.
4306
+ :param expected_bucket_owner: The AWS account ID that owns the Amazon S3 bucket specified in the *Location* field. Whether or not you provide the account ID for this optional field, GuardDuty validates that the account ID associated with the ``DetectorId`` owns the S3 bucket in the ``Location`` field. If GuardDuty finds that this S3 bucket doesn't belong to the specified account ID, you will get an error at the time of activating this list.
4307
+ :param name: The user-friendly name to identify the threat entity set. Valid characters are alphanumeric, whitespace, dash (-), and underscores (_).
4308
+ :param tags: The tags to be added to a new threat entity set resource. Each tag consists of a key and an optional value, both of which you define. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
4128
4309
  '''
4129
4310
  if __debug__:
4130
- type_hints = typing.get_type_hints(_typecheckingstub__e60035c0bc955afb794ee89f0439deae280bfec665014cbbd161f08566de73a7)
4311
+ type_hints = typing.get_type_hints(_typecheckingstub__a633dbf3a335a1c89a81e2b20e0804a2398855b80b7f90aefcab3fcffd594ae2)
4131
4312
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
4132
4313
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
4133
- props = CfnThreatIntelSetProps(
4314
+ props = CfnThreatEntitySetProps(
4134
4315
  format=format,
4135
4316
  location=location,
4136
4317
  activate=activate,
4137
4318
  detector_id=detector_id,
4319
+ expected_bucket_owner=expected_bucket_owner,
4138
4320
  name=name,
4139
4321
  tags=tags,
4140
4322
  )
@@ -4148,7 +4330,7 @@ class CfnThreatIntelSet(
4148
4330
  :param inspector: tree inspector to collect and process attributes.
4149
4331
  '''
4150
4332
  if __debug__:
4151
- type_hints = typing.get_type_hints(_typecheckingstub__5d9a7dab9bf19d452d61d5fb4b5e80f876633f39a0cf5051e3a47e94c815073d)
4333
+ type_hints = typing.get_type_hints(_typecheckingstub__1c32d5cebe463fb394e1de7987cf95ac14ed2d64bfb94244b7f53a5ae01e86fc)
4152
4334
  check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
4153
4335
  return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
4154
4336
 
@@ -4161,7 +4343,7 @@ class CfnThreatIntelSet(
4161
4343
  :param props: -
4162
4344
  '''
4163
4345
  if __debug__:
4164
- type_hints = typing.get_type_hints(_typecheckingstub__fa2f2572c41477f9f21703ec5b985dde17df361473f4b639cf51e738006da367)
4346
+ type_hints = typing.get_type_hints(_typecheckingstub__4b473ab42cb6b4e41fbd30cc43368c741a796600957b905b8bd33b94ed1d9b19)
4165
4347
  check_type(argname="argument props", value=props, expected_type=type_hints["props"])
4166
4348
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
4167
4349
 
@@ -4171,49 +4353,93 @@ class CfnThreatIntelSet(
4171
4353
  '''The CloudFormation resource type name for this resource class.'''
4172
4354
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
4173
4355
 
4356
+ @builtins.property
4357
+ @jsii.member(jsii_name="attrCreatedAt")
4358
+ def attr_created_at(self) -> builtins.str:
4359
+ '''The timestamp when the threat entity set was created.
4360
+
4361
+ :cloudformationAttribute: CreatedAt
4362
+ '''
4363
+ return typing.cast(builtins.str, jsii.get(self, "attrCreatedAt"))
4364
+
4365
+ @builtins.property
4366
+ @jsii.member(jsii_name="attrErrorDetails")
4367
+ def attr_error_details(self) -> builtins.str:
4368
+ '''The details associated with the *Error* status of your threat entity list.
4369
+
4370
+ :cloudformationAttribute: ErrorDetails
4371
+ '''
4372
+ return typing.cast(builtins.str, jsii.get(self, "attrErrorDetails"))
4373
+
4174
4374
  @builtins.property
4175
4375
  @jsii.member(jsii_name="attrId")
4176
4376
  def attr_id(self) -> builtins.str:
4177
- '''The unique ID of the ``threatIntelSet`` .
4377
+ '''Returns the unique ID associated with the newly created threat entity set.
4178
4378
 
4179
4379
  :cloudformationAttribute: Id
4180
4380
  '''
4181
4381
  return typing.cast(builtins.str, jsii.get(self, "attrId"))
4182
4382
 
4383
+ @builtins.property
4384
+ @jsii.member(jsii_name="attrStatus")
4385
+ def attr_status(self) -> builtins.str:
4386
+ '''The status of your ``ThreatEntitySet`` .
4387
+
4388
+ For information about valid status values, see `Understanding list statuses <https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_upload-lists.html#guardduty-entity-list-statuses>`_ in the *Amazon GuardDuty User Guide* .
4389
+
4390
+ :cloudformationAttribute: Status
4391
+ '''
4392
+ return typing.cast(builtins.str, jsii.get(self, "attrStatus"))
4393
+
4394
+ @builtins.property
4395
+ @jsii.member(jsii_name="attrUpdatedAt")
4396
+ def attr_updated_at(self) -> builtins.str:
4397
+ '''The timestamp when the threat entity set was updated.
4398
+
4399
+ :cloudformationAttribute: UpdatedAt
4400
+ '''
4401
+ return typing.cast(builtins.str, jsii.get(self, "attrUpdatedAt"))
4402
+
4403
+ @builtins.property
4404
+ @jsii.member(jsii_name="cdkTagManager")
4405
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
4406
+ '''Tag Manager which manages the tags for this resource.'''
4407
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
4408
+
4183
4409
  @builtins.property
4184
4410
  @jsii.member(jsii_name="cfnProperties")
4185
4411
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4186
4412
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4187
4413
 
4188
4414
  @builtins.property
4189
- @jsii.member(jsii_name="tags")
4190
- def tags(self) -> _TagManager_0a598cb3:
4191
- '''Tag Manager which manages the tags for this resource.'''
4192
- return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
4415
+ @jsii.member(jsii_name="threatEntitySetRef")
4416
+ def threat_entity_set_ref(self) -> _ThreatEntitySetReference_41072a7f:
4417
+ '''A reference to a ThreatEntitySet resource.'''
4418
+ return typing.cast(_ThreatEntitySetReference_41072a7f, jsii.get(self, "threatEntitySetRef"))
4193
4419
 
4194
4420
  @builtins.property
4195
4421
  @jsii.member(jsii_name="format")
4196
4422
  def format(self) -> builtins.str:
4197
- '''The format of the file that contains the ThreatIntelSet.'''
4423
+ '''The format of the file that contains the threat entity set.'''
4198
4424
  return typing.cast(builtins.str, jsii.get(self, "format"))
4199
4425
 
4200
4426
  @format.setter
4201
4427
  def format(self, value: builtins.str) -> None:
4202
4428
  if __debug__:
4203
- type_hints = typing.get_type_hints(_typecheckingstub__df3e4ea6d2ecdcdcfdf57f71eb38574c54d5e2340fc6b41e3c5752d81380474b)
4429
+ type_hints = typing.get_type_hints(_typecheckingstub__9bd1bb00f84d311b715627a92fb637272bd50eba86c2d16fa67691c6cc13b40b)
4204
4430
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4205
4431
  jsii.set(self, "format", value) # pyright: ignore[reportArgumentType]
4206
4432
 
4207
4433
  @builtins.property
4208
4434
  @jsii.member(jsii_name="location")
4209
4435
  def location(self) -> builtins.str:
4210
- '''The URI of the file that contains the ThreatIntelSet.'''
4436
+ '''The URI of the file that contains the threat entity set.'''
4211
4437
  return typing.cast(builtins.str, jsii.get(self, "location"))
4212
4438
 
4213
4439
  @location.setter
4214
4440
  def location(self, value: builtins.str) -> None:
4215
4441
  if __debug__:
4216
- type_hints = typing.get_type_hints(_typecheckingstub__01b8f1e578ee008d23f829009bf45a0717efeb23dd3f85345a6c6203e181177a)
4442
+ type_hints = typing.get_type_hints(_typecheckingstub__2309bb8657b4758bd1d620033861fc01383373882f360a452fe19c1513ef44e3)
4217
4443
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4218
4444
  jsii.set(self, "location", value) # pyright: ignore[reportArgumentType]
4219
4445
 
@@ -4222,7 +4448,7 @@ class CfnThreatIntelSet(
4222
4448
  def activate(
4223
4449
  self,
4224
4450
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
4225
- '''A Boolean value that indicates whether GuardDuty is to start using the uploaded ThreatIntelSet.'''
4451
+ '''A boolean value that determines if GuardDuty can start using this list for custom threat detection.'''
4226
4452
  return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "activate"))
4227
4453
 
4228
4454
  @activate.setter
@@ -4231,63 +4457,152 @@ class CfnThreatIntelSet(
4231
4457
  value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
4232
4458
  ) -> None:
4233
4459
  if __debug__:
4234
- type_hints = typing.get_type_hints(_typecheckingstub__3660f9080839cb6141a3aaf57ad04008ebbf5e29b4ee2cf7c3bcbdb94c082285)
4460
+ type_hints = typing.get_type_hints(_typecheckingstub__bdf2f505562fc426590d0aff2e1eca3a53df58abfd1e69b8495ac49ff3b42763)
4235
4461
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4236
4462
  jsii.set(self, "activate", value) # pyright: ignore[reportArgumentType]
4237
4463
 
4238
4464
  @builtins.property
4239
4465
  @jsii.member(jsii_name="detectorId")
4240
4466
  def detector_id(self) -> typing.Optional[builtins.str]:
4241
- '''The unique ID of the detector of the GuardDuty account for which you want to create a ``ThreatIntelSet`` .'''
4467
+ '''The unique regional detector ID of the GuardDuty account for which you want to create a threat entity set.'''
4242
4468
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "detectorId"))
4243
4469
 
4244
4470
  @detector_id.setter
4245
4471
  def detector_id(self, value: typing.Optional[builtins.str]) -> None:
4246
4472
  if __debug__:
4247
- type_hints = typing.get_type_hints(_typecheckingstub__6198953302f0959c3d25abb6f0063fb638c6abf44a125235eafb4937065091bb)
4473
+ type_hints = typing.get_type_hints(_typecheckingstub__a97f7e1867e5a54a3b03a0d24bd5ec7ca8d6200145e83b0f34c562f5e83448ba)
4248
4474
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4249
4475
  jsii.set(self, "detectorId", value) # pyright: ignore[reportArgumentType]
4250
4476
 
4477
+ @builtins.property
4478
+ @jsii.member(jsii_name="expectedBucketOwner")
4479
+ def expected_bucket_owner(self) -> typing.Optional[builtins.str]:
4480
+ '''The AWS account ID that owns the Amazon S3 bucket specified in the *Location* field.'''
4481
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "expectedBucketOwner"))
4482
+
4483
+ @expected_bucket_owner.setter
4484
+ def expected_bucket_owner(self, value: typing.Optional[builtins.str]) -> None:
4485
+ if __debug__:
4486
+ type_hints = typing.get_type_hints(_typecheckingstub__a7bd200e9cd51319cdc4298d4401a8a961a6af90f3ea47a9200a8820086e4278)
4487
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4488
+ jsii.set(self, "expectedBucketOwner", value) # pyright: ignore[reportArgumentType]
4489
+
4251
4490
  @builtins.property
4252
4491
  @jsii.member(jsii_name="name")
4253
4492
  def name(self) -> typing.Optional[builtins.str]:
4254
- '''A user-friendly ThreatIntelSet name displayed in all findings that are generated by activity that involves IP addresses included in this ThreatIntelSet.'''
4493
+ '''The user-friendly name to identify the threat entity set.'''
4255
4494
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "name"))
4256
4495
 
4257
4496
  @name.setter
4258
4497
  def name(self, value: typing.Optional[builtins.str]) -> None:
4259
4498
  if __debug__:
4260
- type_hints = typing.get_type_hints(_typecheckingstub__78860e52ab0e0d6681a85585054b7ed92f84696ec2b6a43bb90c609188bf36e6)
4499
+ type_hints = typing.get_type_hints(_typecheckingstub__03df3be27a55c9923526c9497963c6527d389f1bb8ffed035526cc303afb8bd2)
4261
4500
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4262
4501
  jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
4263
4502
 
4264
4503
  @builtins.property
4265
- @jsii.member(jsii_name="tagsRaw")
4266
- def tags_raw(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
4267
- '''The tags to be added to a new threat list resource.'''
4268
- return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tagsRaw"))
4504
+ @jsii.member(jsii_name="tags")
4505
+ def tags(
4506
+ self,
4507
+ ) -> typing.Optional[typing.List["CfnThreatEntitySet.TagItemProperty"]]:
4508
+ '''The tags to be added to a new threat entity set resource.'''
4509
+ return typing.cast(typing.Optional[typing.List["CfnThreatEntitySet.TagItemProperty"]], jsii.get(self, "tags"))
4269
4510
 
4270
- @tags_raw.setter
4271
- def tags_raw(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
4511
+ @tags.setter
4512
+ def tags(
4513
+ self,
4514
+ value: typing.Optional[typing.List["CfnThreatEntitySet.TagItemProperty"]],
4515
+ ) -> None:
4272
4516
  if __debug__:
4273
- type_hints = typing.get_type_hints(_typecheckingstub__213606bb8c2a17afd6b75e6224d08fd34ab33f0ef606dcd3df99402aa81754e0)
4517
+ type_hints = typing.get_type_hints(_typecheckingstub__fbaece4f1c2fc125ec3923bb0a3b4537f6091ab7f66da3db41faf4839aeb3931)
4274
4518
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4275
- jsii.set(self, "tagsRaw", value) # pyright: ignore[reportArgumentType]
4519
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
4520
+
4521
+ @jsii.data_type(
4522
+ jsii_type="aws-cdk-lib.aws_guardduty.CfnThreatEntitySet.TagItemProperty",
4523
+ jsii_struct_bases=[],
4524
+ name_mapping={"key": "key", "value": "value"},
4525
+ )
4526
+ class TagItemProperty:
4527
+ def __init__(self, *, key: builtins.str, value: builtins.str) -> None:
4528
+ '''Describes a tag.
4529
+
4530
+ For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
4531
+
4532
+ :param key: The tag key.
4533
+ :param value: The tag value. This is optional.
4534
+
4535
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-threatentityset-tagitem.html
4536
+ :exampleMetadata: fixture=_generated
4537
+
4538
+ Example::
4539
+
4540
+ # The code below shows an example of how to instantiate this type.
4541
+ # The values are placeholders you should change.
4542
+ from aws_cdk import aws_guardduty as guardduty
4543
+
4544
+ tag_item_property = guardduty.CfnThreatEntitySet.TagItemProperty(
4545
+ key="key",
4546
+ value="value"
4547
+ )
4548
+ '''
4549
+ if __debug__:
4550
+ type_hints = typing.get_type_hints(_typecheckingstub__9bcb8d0f67c3b20709378a933f90454d6394d6f4608b78865e524eaaae71a082)
4551
+ check_type(argname="argument key", value=key, expected_type=type_hints["key"])
4552
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4553
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4554
+ "key": key,
4555
+ "value": value,
4556
+ }
4557
+
4558
+ @builtins.property
4559
+ def key(self) -> builtins.str:
4560
+ '''The tag key.
4561
+
4562
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-threatentityset-tagitem.html#cfn-guardduty-threatentityset-tagitem-key
4563
+ '''
4564
+ result = self._values.get("key")
4565
+ assert result is not None, "Required property 'key' is missing"
4566
+ return typing.cast(builtins.str, result)
4567
+
4568
+ @builtins.property
4569
+ def value(self) -> builtins.str:
4570
+ '''The tag value.
4571
+
4572
+ This is optional.
4573
+
4574
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-threatentityset-tagitem.html#cfn-guardduty-threatentityset-tagitem-value
4575
+ '''
4576
+ result = self._values.get("value")
4577
+ assert result is not None, "Required property 'value' is missing"
4578
+ return typing.cast(builtins.str, result)
4579
+
4580
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4581
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4582
+
4583
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4584
+ return not (rhs == self)
4585
+
4586
+ def __repr__(self) -> str:
4587
+ return "TagItemProperty(%s)" % ", ".join(
4588
+ k + "=" + repr(v) for k, v in self._values.items()
4589
+ )
4276
4590
 
4277
4591
 
4278
4592
  @jsii.data_type(
4279
- jsii_type="aws-cdk-lib.aws_guardduty.CfnThreatIntelSetProps",
4593
+ jsii_type="aws-cdk-lib.aws_guardduty.CfnThreatEntitySetProps",
4280
4594
  jsii_struct_bases=[],
4281
4595
  name_mapping={
4282
4596
  "format": "format",
4283
4597
  "location": "location",
4284
4598
  "activate": "activate",
4285
4599
  "detector_id": "detectorId",
4600
+ "expected_bucket_owner": "expectedBucketOwner",
4286
4601
  "name": "name",
4287
4602
  "tags": "tags",
4288
4603
  },
4289
4604
  )
4290
- class CfnThreatIntelSetProps:
4605
+ class CfnThreatEntitySetProps:
4291
4606
  def __init__(
4292
4607
  self,
4293
4608
  *,
@@ -4295,19 +4610,21 @@ class CfnThreatIntelSetProps:
4295
4610
  location: builtins.str,
4296
4611
  activate: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4297
4612
  detector_id: typing.Optional[builtins.str] = None,
4613
+ expected_bucket_owner: typing.Optional[builtins.str] = None,
4298
4614
  name: typing.Optional[builtins.str] = None,
4299
- tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
4615
+ tags: typing.Optional[typing.Sequence[typing.Union[CfnThreatEntitySet.TagItemProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4300
4616
  ) -> None:
4301
- '''Properties for defining a ``CfnThreatIntelSet``.
4617
+ '''Properties for defining a ``CfnThreatEntitySet``.
4302
4618
 
4303
- :param format: The format of the file that contains the ThreatIntelSet.
4304
- :param location: The URI of the file that contains the ThreatIntelSet.
4305
- :param activate: A Boolean value that indicates whether GuardDuty is to start using the uploaded ThreatIntelSet.
4306
- :param detector_id: The unique ID of the detector of the GuardDuty account for which you want to create a ``ThreatIntelSet`` . To find the ``detectorId`` in the current Region, see the Settings page in the GuardDuty console, or run the `ListDetectors <https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html>`_ API.
4307
- :param name: A user-friendly ThreatIntelSet name displayed in all findings that are generated by activity that involves IP addresses included in this ThreatIntelSet.
4308
- :param tags: The tags to be added to a new threat list resource. Each tag consists of a key and an optional value, both of which you define. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
4619
+ :param format: The format of the file that contains the threat entity set. For information about supported formats, see `List formats <https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_upload-lists.html#prepare_list>`_ in the *Amazon GuardDuty User Guide* .
4620
+ :param location: The URI of the file that contains the threat entity set.
4621
+ :param activate: A boolean value that determines if GuardDuty can start using this list for custom threat detection. For GuardDuty to consider the entries in this list and generate findings based on associated activity, this list must be active.
4622
+ :param detector_id: The unique regional detector ID of the GuardDuty account for which you want to create a threat entity set. To find the ``detectorId`` in the current Region, see the Settings page in the GuardDuty console, or run the `ListDetectors <https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html>`_ API.
4623
+ :param expected_bucket_owner: The AWS account ID that owns the Amazon S3 bucket specified in the *Location* field. Whether or not you provide the account ID for this optional field, GuardDuty validates that the account ID associated with the ``DetectorId`` owns the S3 bucket in the ``Location`` field. If GuardDuty finds that this S3 bucket doesn't belong to the specified account ID, you will get an error at the time of activating this list.
4624
+ :param name: The user-friendly name to identify the threat entity set. Valid characters are alphanumeric, whitespace, dash (-), and underscores (_).
4625
+ :param tags: The tags to be added to a new threat entity set resource. Each tag consists of a key and an optional value, both of which you define. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
4309
4626
 
4310
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html
4627
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatentityset.html
4311
4628
  :exampleMetadata: fixture=_generated
4312
4629
 
4313
4630
  Example::
@@ -4316,26 +4633,28 @@ class CfnThreatIntelSetProps:
4316
4633
  # The values are placeholders you should change.
4317
4634
  from aws_cdk import aws_guardduty as guardduty
4318
4635
 
4319
- cfn_threat_intel_set_props = guardduty.CfnThreatIntelSetProps(
4636
+ cfn_threat_entity_set_props = guardduty.CfnThreatEntitySetProps(
4320
4637
  format="format",
4321
4638
  location="location",
4322
4639
 
4323
4640
  # the properties below are optional
4324
4641
  activate=False,
4325
4642
  detector_id="detectorId",
4643
+ expected_bucket_owner="expectedBucketOwner",
4326
4644
  name="name",
4327
- tags=[CfnTag(
4645
+ tags=[guardduty.CfnThreatEntitySet.TagItemProperty(
4328
4646
  key="key",
4329
4647
  value="value"
4330
4648
  )]
4331
4649
  )
4332
4650
  '''
4333
4651
  if __debug__:
4334
- type_hints = typing.get_type_hints(_typecheckingstub__0a5d0bedab8c4fad4ab288ce5a467dbe6a4d07ef2947521b14162f1e7ac218a1)
4652
+ type_hints = typing.get_type_hints(_typecheckingstub__adc8d4ad73863c00637d46455ebd458e48d6cb964a55dada4ed53522b2f348d3)
4335
4653
  check_type(argname="argument format", value=format, expected_type=type_hints["format"])
4336
4654
  check_type(argname="argument location", value=location, expected_type=type_hints["location"])
4337
4655
  check_type(argname="argument activate", value=activate, expected_type=type_hints["activate"])
4338
4656
  check_type(argname="argument detector_id", value=detector_id, expected_type=type_hints["detector_id"])
4657
+ check_type(argname="argument expected_bucket_owner", value=expected_bucket_owner, expected_type=type_hints["expected_bucket_owner"])
4339
4658
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
4340
4659
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
4341
4660
  self._values: typing.Dict[builtins.str, typing.Any] = {
@@ -4346,6 +4665,8 @@ class CfnThreatIntelSetProps:
4346
4665
  self._values["activate"] = activate
4347
4666
  if detector_id is not None:
4348
4667
  self._values["detector_id"] = detector_id
4668
+ if expected_bucket_owner is not None:
4669
+ self._values["expected_bucket_owner"] = expected_bucket_owner
4349
4670
  if name is not None:
4350
4671
  self._values["name"] = name
4351
4672
  if tags is not None:
@@ -4353,9 +4674,11 @@ class CfnThreatIntelSetProps:
4353
4674
 
4354
4675
  @builtins.property
4355
4676
  def format(self) -> builtins.str:
4356
- '''The format of the file that contains the ThreatIntelSet.
4677
+ '''The format of the file that contains the threat entity set.
4357
4678
 
4358
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html#cfn-guardduty-threatintelset-format
4679
+ For information about supported formats, see `List formats <https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_upload-lists.html#prepare_list>`_ in the *Amazon GuardDuty User Guide* .
4680
+
4681
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatentityset.html#cfn-guardduty-threatentityset-format
4359
4682
  '''
4360
4683
  result = self._values.get("format")
4361
4684
  assert result is not None, "Required property 'format' is missing"
@@ -4363,9 +4686,9 @@ class CfnThreatIntelSetProps:
4363
4686
 
4364
4687
  @builtins.property
4365
4688
  def location(self) -> builtins.str:
4366
- '''The URI of the file that contains the ThreatIntelSet.
4689
+ '''The URI of the file that contains the threat entity set.
4367
4690
 
4368
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html#cfn-guardduty-threatintelset-location
4691
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatentityset.html#cfn-guardduty-threatentityset-location
4369
4692
  '''
4370
4693
  result = self._values.get("location")
4371
4694
  assert result is not None, "Required property 'location' is missing"
@@ -4375,46 +4698,60 @@ class CfnThreatIntelSetProps:
4375
4698
  def activate(
4376
4699
  self,
4377
4700
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
4378
- '''A Boolean value that indicates whether GuardDuty is to start using the uploaded ThreatIntelSet.
4701
+ '''A boolean value that determines if GuardDuty can start using this list for custom threat detection.
4379
4702
 
4380
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html#cfn-guardduty-threatintelset-activate
4703
+ For GuardDuty to consider the entries in this list and generate findings based on associated activity, this list must be active.
4704
+
4705
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatentityset.html#cfn-guardduty-threatentityset-activate
4381
4706
  '''
4382
4707
  result = self._values.get("activate")
4383
4708
  return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
4384
4709
 
4385
4710
  @builtins.property
4386
4711
  def detector_id(self) -> typing.Optional[builtins.str]:
4387
- '''The unique ID of the detector of the GuardDuty account for which you want to create a ``ThreatIntelSet`` .
4712
+ '''The unique regional detector ID of the GuardDuty account for which you want to create a threat entity set.
4388
4713
 
4389
- To find the ``detectorId`` in the current Region, see the
4390
- Settings page in the GuardDuty console, or run the `ListDetectors <https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html>`_ API.
4714
+ To find the ``detectorId`` in the current Region, see the Settings page in the GuardDuty console, or run the `ListDetectors <https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html>`_ API.
4391
4715
 
4392
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html#cfn-guardduty-threatintelset-detectorid
4716
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatentityset.html#cfn-guardduty-threatentityset-detectorid
4393
4717
  '''
4394
4718
  result = self._values.get("detector_id")
4395
4719
  return typing.cast(typing.Optional[builtins.str], result)
4396
4720
 
4721
+ @builtins.property
4722
+ def expected_bucket_owner(self) -> typing.Optional[builtins.str]:
4723
+ '''The AWS account ID that owns the Amazon S3 bucket specified in the *Location* field.
4724
+
4725
+ Whether or not you provide the account ID for this optional field, GuardDuty validates that the account ID associated with the ``DetectorId`` owns the S3 bucket in the ``Location`` field. If GuardDuty finds that this S3 bucket doesn't belong to the specified account ID, you will get an error at the time of activating this list.
4726
+
4727
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatentityset.html#cfn-guardduty-threatentityset-expectedbucketowner
4728
+ '''
4729
+ result = self._values.get("expected_bucket_owner")
4730
+ return typing.cast(typing.Optional[builtins.str], result)
4731
+
4397
4732
  @builtins.property
4398
4733
  def name(self) -> typing.Optional[builtins.str]:
4399
- '''A user-friendly ThreatIntelSet name displayed in all findings that are generated by activity that involves IP addresses included in this ThreatIntelSet.
4734
+ '''The user-friendly name to identify the threat entity set.
4400
4735
 
4401
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html#cfn-guardduty-threatintelset-name
4736
+ Valid characters are alphanumeric, whitespace, dash (-), and underscores (_).
4737
+
4738
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatentityset.html#cfn-guardduty-threatentityset-name
4402
4739
  '''
4403
4740
  result = self._values.get("name")
4404
4741
  return typing.cast(typing.Optional[builtins.str], result)
4405
4742
 
4406
4743
  @builtins.property
4407
- def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
4408
- '''The tags to be added to a new threat list resource.
4744
+ def tags(self) -> typing.Optional[typing.List[CfnThreatEntitySet.TagItemProperty]]:
4745
+ '''The tags to be added to a new threat entity set resource.
4409
4746
 
4410
4747
  Each tag consists of a key and an optional value, both of which you define.
4411
4748
 
4412
4749
  For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
4413
4750
 
4414
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html#cfn-guardduty-threatintelset-tags
4751
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatentityset.html#cfn-guardduty-threatentityset-tags
4415
4752
  '''
4416
4753
  result = self._values.get("tags")
4417
- return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
4754
+ return typing.cast(typing.Optional[typing.List[CfnThreatEntitySet.TagItemProperty]], result)
4418
4755
 
4419
4756
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
4420
4757
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -4423,30 +4760,963 @@ class CfnThreatIntelSetProps:
4423
4760
  return not (rhs == self)
4424
4761
 
4425
4762
  def __repr__(self) -> str:
4426
- return "CfnThreatIntelSetProps(%s)" % ", ".join(
4763
+ return "CfnThreatEntitySetProps(%s)" % ", ".join(
4427
4764
  k + "=" + repr(v) for k, v in self._values.items()
4428
4765
  )
4429
4766
 
4430
4767
 
4431
- __all__ = [
4432
- "CfnDetector",
4433
- "CfnDetectorProps",
4434
- "CfnFilter",
4435
- "CfnFilterProps",
4436
- "CfnIPSet",
4437
- "CfnIPSetProps",
4438
- "CfnMalwareProtectionPlan",
4439
- "CfnMalwareProtectionPlanProps",
4440
- "CfnMaster",
4441
- "CfnMasterProps",
4442
- "CfnMember",
4443
- "CfnMemberProps",
4444
- "CfnPublishingDestination",
4445
- "CfnPublishingDestinationProps",
4446
- "CfnThreatIntelSet",
4447
- "CfnThreatIntelSetProps",
4448
- ]
4449
-
4768
+ @jsii.implements(_IInspectable_c2943556, _IThreatIntelSetRef_2efbbcb1, _ITaggable_36806126)
4769
+ class CfnThreatIntelSet(
4770
+ _CfnResource_9df397a6,
4771
+ metaclass=jsii.JSIIMeta,
4772
+ jsii_type="aws-cdk-lib.aws_guardduty.CfnThreatIntelSet",
4773
+ ):
4774
+ '''The ``AWS::GuardDuty::ThreatIntelSet`` resource helps you create a list of known malicious IP addresses in your AWS environment.
4775
+
4776
+ Once you activate this list, GuardDuty will use list the entries in this list as an additional source for threat detection and generate findings when there is an activity associated with these known malicious IP addresses. GuardDuty continues to monitor independently of this custom threat intelligence set.
4777
+
4778
+ Only the users of the GuardDuty administrator account can manage this list. These settings automatically apply to the member accounts.
4779
+
4780
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html
4781
+ :cloudformationResource: AWS::GuardDuty::ThreatIntelSet
4782
+ :exampleMetadata: fixture=_generated
4783
+
4784
+ Example::
4785
+
4786
+ # The code below shows an example of how to instantiate this type.
4787
+ # The values are placeholders you should change.
4788
+ from aws_cdk import aws_guardduty as guardduty
4789
+
4790
+ cfn_threat_intel_set = guardduty.CfnThreatIntelSet(self, "MyCfnThreatIntelSet",
4791
+ format="format",
4792
+ location="location",
4793
+
4794
+ # the properties below are optional
4795
+ activate=False,
4796
+ detector_id="detectorId",
4797
+ expected_bucket_owner="expectedBucketOwner",
4798
+ name="name",
4799
+ tags=[CfnTag(
4800
+ key="key",
4801
+ value="value"
4802
+ )]
4803
+ )
4804
+ '''
4805
+
4806
+ def __init__(
4807
+ self,
4808
+ scope: _constructs_77d1e7e8.Construct,
4809
+ id: builtins.str,
4810
+ *,
4811
+ format: builtins.str,
4812
+ location: builtins.str,
4813
+ activate: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4814
+ detector_id: typing.Optional[builtins.str] = None,
4815
+ expected_bucket_owner: typing.Optional[builtins.str] = None,
4816
+ name: typing.Optional[builtins.str] = None,
4817
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
4818
+ ) -> None:
4819
+ '''Create a new ``AWS::GuardDuty::ThreatIntelSet``.
4820
+
4821
+ :param scope: Scope in which this resource is defined.
4822
+ :param id: Construct identifier for this resource (unique in its scope).
4823
+ :param format: The format of the file that contains the ``ThreatIntelSet`` . For information about supported formats, see `List formats <https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_upload-lists.html#prepare_list>`_ in the *Amazon GuardDuty User Guide* .
4824
+ :param location: The URI of the file that contains the ThreatIntelSet.
4825
+ :param activate: A boolean value that determines if GuardDuty can start using this list for custom threat detection. For GuardDuty to be able to generate findings based on an activity associated with these entries, this list must be active.
4826
+ :param detector_id: The unique ID of the detector of the GuardDuty account for which you want to create a ``threatIntelSet`` . To find the ``detectorId`` in the current Region, see the Settings page in the GuardDuty console, or run the `ListDetectors <https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html>`_ API.
4827
+ :param expected_bucket_owner: The AWS account ID that owns the Amazon S3 bucket specified in the *Location* field. When you provide this account ID, GuardDuty will validate that the S3 bucket belongs to this account. If you don't specify an account ID owner, GuardDuty doesn't perform any validation.
4828
+ :param name: The user-friendly name to identify the ThreatIntelSet. The name of your list must be unique within an AWS account and Region. Valid characters are alphanumeric, whitespace, dash (-), and underscores (_).
4829
+ :param tags: The tags to be added to a new threat entity set resource. Each tag consists of a key and an optional value, both of which you define. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
4830
+ '''
4831
+ if __debug__:
4832
+ type_hints = typing.get_type_hints(_typecheckingstub__e60035c0bc955afb794ee89f0439deae280bfec665014cbbd161f08566de73a7)
4833
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
4834
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
4835
+ props = CfnThreatIntelSetProps(
4836
+ format=format,
4837
+ location=location,
4838
+ activate=activate,
4839
+ detector_id=detector_id,
4840
+ expected_bucket_owner=expected_bucket_owner,
4841
+ name=name,
4842
+ tags=tags,
4843
+ )
4844
+
4845
+ jsii.create(self.__class__, self, [scope, id, props])
4846
+
4847
+ @jsii.member(jsii_name="inspect")
4848
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
4849
+ '''Examines the CloudFormation resource and discloses attributes.
4850
+
4851
+ :param inspector: tree inspector to collect and process attributes.
4852
+ '''
4853
+ if __debug__:
4854
+ type_hints = typing.get_type_hints(_typecheckingstub__5d9a7dab9bf19d452d61d5fb4b5e80f876633f39a0cf5051e3a47e94c815073d)
4855
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
4856
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
4857
+
4858
+ @jsii.member(jsii_name="renderProperties")
4859
+ def _render_properties(
4860
+ self,
4861
+ props: typing.Mapping[builtins.str, typing.Any],
4862
+ ) -> typing.Mapping[builtins.str, typing.Any]:
4863
+ '''
4864
+ :param props: -
4865
+ '''
4866
+ if __debug__:
4867
+ type_hints = typing.get_type_hints(_typecheckingstub__fa2f2572c41477f9f21703ec5b985dde17df361473f4b639cf51e738006da367)
4868
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
4869
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
4870
+
4871
+ @jsii.python.classproperty
4872
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
4873
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
4874
+ '''The CloudFormation resource type name for this resource class.'''
4875
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
4876
+
4877
+ @builtins.property
4878
+ @jsii.member(jsii_name="attrId")
4879
+ def attr_id(self) -> builtins.str:
4880
+ '''The unique ID of the ``threatIntelSet`` .
4881
+
4882
+ :cloudformationAttribute: Id
4883
+ '''
4884
+ return typing.cast(builtins.str, jsii.get(self, "attrId"))
4885
+
4886
+ @builtins.property
4887
+ @jsii.member(jsii_name="cfnProperties")
4888
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4889
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4890
+
4891
+ @builtins.property
4892
+ @jsii.member(jsii_name="tags")
4893
+ def tags(self) -> _TagManager_0a598cb3:
4894
+ '''Tag Manager which manages the tags for this resource.'''
4895
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
4896
+
4897
+ @builtins.property
4898
+ @jsii.member(jsii_name="threatIntelSetRef")
4899
+ def threat_intel_set_ref(self) -> _ThreatIntelSetReference_fb526e93:
4900
+ '''A reference to a ThreatIntelSet resource.'''
4901
+ return typing.cast(_ThreatIntelSetReference_fb526e93, jsii.get(self, "threatIntelSetRef"))
4902
+
4903
+ @builtins.property
4904
+ @jsii.member(jsii_name="format")
4905
+ def format(self) -> builtins.str:
4906
+ '''The format of the file that contains the ``ThreatIntelSet`` .'''
4907
+ return typing.cast(builtins.str, jsii.get(self, "format"))
4908
+
4909
+ @format.setter
4910
+ def format(self, value: builtins.str) -> None:
4911
+ if __debug__:
4912
+ type_hints = typing.get_type_hints(_typecheckingstub__df3e4ea6d2ecdcdcfdf57f71eb38574c54d5e2340fc6b41e3c5752d81380474b)
4913
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4914
+ jsii.set(self, "format", value) # pyright: ignore[reportArgumentType]
4915
+
4916
+ @builtins.property
4917
+ @jsii.member(jsii_name="location")
4918
+ def location(self) -> builtins.str:
4919
+ '''The URI of the file that contains the ThreatIntelSet.'''
4920
+ return typing.cast(builtins.str, jsii.get(self, "location"))
4921
+
4922
+ @location.setter
4923
+ def location(self, value: builtins.str) -> None:
4924
+ if __debug__:
4925
+ type_hints = typing.get_type_hints(_typecheckingstub__01b8f1e578ee008d23f829009bf45a0717efeb23dd3f85345a6c6203e181177a)
4926
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4927
+ jsii.set(self, "location", value) # pyright: ignore[reportArgumentType]
4928
+
4929
+ @builtins.property
4930
+ @jsii.member(jsii_name="activate")
4931
+ def activate(
4932
+ self,
4933
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
4934
+ '''A boolean value that determines if GuardDuty can start using this list for custom threat detection.'''
4935
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "activate"))
4936
+
4937
+ @activate.setter
4938
+ def activate(
4939
+ self,
4940
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
4941
+ ) -> None:
4942
+ if __debug__:
4943
+ type_hints = typing.get_type_hints(_typecheckingstub__3660f9080839cb6141a3aaf57ad04008ebbf5e29b4ee2cf7c3bcbdb94c082285)
4944
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4945
+ jsii.set(self, "activate", value) # pyright: ignore[reportArgumentType]
4946
+
4947
+ @builtins.property
4948
+ @jsii.member(jsii_name="detectorId")
4949
+ def detector_id(self) -> typing.Optional[builtins.str]:
4950
+ '''The unique ID of the detector of the GuardDuty account for which you want to create a ``threatIntelSet`` .'''
4951
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "detectorId"))
4952
+
4953
+ @detector_id.setter
4954
+ def detector_id(self, value: typing.Optional[builtins.str]) -> None:
4955
+ if __debug__:
4956
+ type_hints = typing.get_type_hints(_typecheckingstub__6198953302f0959c3d25abb6f0063fb638c6abf44a125235eafb4937065091bb)
4957
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4958
+ jsii.set(self, "detectorId", value) # pyright: ignore[reportArgumentType]
4959
+
4960
+ @builtins.property
4961
+ @jsii.member(jsii_name="expectedBucketOwner")
4962
+ def expected_bucket_owner(self) -> typing.Optional[builtins.str]:
4963
+ '''The AWS account ID that owns the Amazon S3 bucket specified in the *Location* field.'''
4964
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "expectedBucketOwner"))
4965
+
4966
+ @expected_bucket_owner.setter
4967
+ def expected_bucket_owner(self, value: typing.Optional[builtins.str]) -> None:
4968
+ if __debug__:
4969
+ type_hints = typing.get_type_hints(_typecheckingstub__45c0733c6c75c09ff089a9606f91e845cf362445012b247e68e83208c0a5aaee)
4970
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4971
+ jsii.set(self, "expectedBucketOwner", value) # pyright: ignore[reportArgumentType]
4972
+
4973
+ @builtins.property
4974
+ @jsii.member(jsii_name="name")
4975
+ def name(self) -> typing.Optional[builtins.str]:
4976
+ '''The user-friendly name to identify the ThreatIntelSet.'''
4977
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "name"))
4978
+
4979
+ @name.setter
4980
+ def name(self, value: typing.Optional[builtins.str]) -> None:
4981
+ if __debug__:
4982
+ type_hints = typing.get_type_hints(_typecheckingstub__78860e52ab0e0d6681a85585054b7ed92f84696ec2b6a43bb90c609188bf36e6)
4983
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4984
+ jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
4985
+
4986
+ @builtins.property
4987
+ @jsii.member(jsii_name="tagsRaw")
4988
+ def tags_raw(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
4989
+ '''The tags to be added to a new threat entity set resource.'''
4990
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tagsRaw"))
4991
+
4992
+ @tags_raw.setter
4993
+ def tags_raw(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
4994
+ if __debug__:
4995
+ type_hints = typing.get_type_hints(_typecheckingstub__213606bb8c2a17afd6b75e6224d08fd34ab33f0ef606dcd3df99402aa81754e0)
4996
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4997
+ jsii.set(self, "tagsRaw", value) # pyright: ignore[reportArgumentType]
4998
+
4999
+
5000
+ @jsii.data_type(
5001
+ jsii_type="aws-cdk-lib.aws_guardduty.CfnThreatIntelSetProps",
5002
+ jsii_struct_bases=[],
5003
+ name_mapping={
5004
+ "format": "format",
5005
+ "location": "location",
5006
+ "activate": "activate",
5007
+ "detector_id": "detectorId",
5008
+ "expected_bucket_owner": "expectedBucketOwner",
5009
+ "name": "name",
5010
+ "tags": "tags",
5011
+ },
5012
+ )
5013
+ class CfnThreatIntelSetProps:
5014
+ def __init__(
5015
+ self,
5016
+ *,
5017
+ format: builtins.str,
5018
+ location: builtins.str,
5019
+ activate: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5020
+ detector_id: typing.Optional[builtins.str] = None,
5021
+ expected_bucket_owner: typing.Optional[builtins.str] = None,
5022
+ name: typing.Optional[builtins.str] = None,
5023
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
5024
+ ) -> None:
5025
+ '''Properties for defining a ``CfnThreatIntelSet``.
5026
+
5027
+ :param format: The format of the file that contains the ``ThreatIntelSet`` . For information about supported formats, see `List formats <https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_upload-lists.html#prepare_list>`_ in the *Amazon GuardDuty User Guide* .
5028
+ :param location: The URI of the file that contains the ThreatIntelSet.
5029
+ :param activate: A boolean value that determines if GuardDuty can start using this list for custom threat detection. For GuardDuty to be able to generate findings based on an activity associated with these entries, this list must be active.
5030
+ :param detector_id: The unique ID of the detector of the GuardDuty account for which you want to create a ``threatIntelSet`` . To find the ``detectorId`` in the current Region, see the Settings page in the GuardDuty console, or run the `ListDetectors <https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html>`_ API.
5031
+ :param expected_bucket_owner: The AWS account ID that owns the Amazon S3 bucket specified in the *Location* field. When you provide this account ID, GuardDuty will validate that the S3 bucket belongs to this account. If you don't specify an account ID owner, GuardDuty doesn't perform any validation.
5032
+ :param name: The user-friendly name to identify the ThreatIntelSet. The name of your list must be unique within an AWS account and Region. Valid characters are alphanumeric, whitespace, dash (-), and underscores (_).
5033
+ :param tags: The tags to be added to a new threat entity set resource. Each tag consists of a key and an optional value, both of which you define. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
5034
+
5035
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html
5036
+ :exampleMetadata: fixture=_generated
5037
+
5038
+ Example::
5039
+
5040
+ # The code below shows an example of how to instantiate this type.
5041
+ # The values are placeholders you should change.
5042
+ from aws_cdk import aws_guardduty as guardduty
5043
+
5044
+ cfn_threat_intel_set_props = guardduty.CfnThreatIntelSetProps(
5045
+ format="format",
5046
+ location="location",
5047
+
5048
+ # the properties below are optional
5049
+ activate=False,
5050
+ detector_id="detectorId",
5051
+ expected_bucket_owner="expectedBucketOwner",
5052
+ name="name",
5053
+ tags=[CfnTag(
5054
+ key="key",
5055
+ value="value"
5056
+ )]
5057
+ )
5058
+ '''
5059
+ if __debug__:
5060
+ type_hints = typing.get_type_hints(_typecheckingstub__0a5d0bedab8c4fad4ab288ce5a467dbe6a4d07ef2947521b14162f1e7ac218a1)
5061
+ check_type(argname="argument format", value=format, expected_type=type_hints["format"])
5062
+ check_type(argname="argument location", value=location, expected_type=type_hints["location"])
5063
+ check_type(argname="argument activate", value=activate, expected_type=type_hints["activate"])
5064
+ check_type(argname="argument detector_id", value=detector_id, expected_type=type_hints["detector_id"])
5065
+ check_type(argname="argument expected_bucket_owner", value=expected_bucket_owner, expected_type=type_hints["expected_bucket_owner"])
5066
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
5067
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
5068
+ self._values: typing.Dict[builtins.str, typing.Any] = {
5069
+ "format": format,
5070
+ "location": location,
5071
+ }
5072
+ if activate is not None:
5073
+ self._values["activate"] = activate
5074
+ if detector_id is not None:
5075
+ self._values["detector_id"] = detector_id
5076
+ if expected_bucket_owner is not None:
5077
+ self._values["expected_bucket_owner"] = expected_bucket_owner
5078
+ if name is not None:
5079
+ self._values["name"] = name
5080
+ if tags is not None:
5081
+ self._values["tags"] = tags
5082
+
5083
+ @builtins.property
5084
+ def format(self) -> builtins.str:
5085
+ '''The format of the file that contains the ``ThreatIntelSet`` .
5086
+
5087
+ For information about supported formats, see `List formats <https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_upload-lists.html#prepare_list>`_ in the *Amazon GuardDuty User Guide* .
5088
+
5089
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html#cfn-guardduty-threatintelset-format
5090
+ '''
5091
+ result = self._values.get("format")
5092
+ assert result is not None, "Required property 'format' is missing"
5093
+ return typing.cast(builtins.str, result)
5094
+
5095
+ @builtins.property
5096
+ def location(self) -> builtins.str:
5097
+ '''The URI of the file that contains the ThreatIntelSet.
5098
+
5099
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html#cfn-guardduty-threatintelset-location
5100
+ '''
5101
+ result = self._values.get("location")
5102
+ assert result is not None, "Required property 'location' is missing"
5103
+ return typing.cast(builtins.str, result)
5104
+
5105
+ @builtins.property
5106
+ def activate(
5107
+ self,
5108
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
5109
+ '''A boolean value that determines if GuardDuty can start using this list for custom threat detection.
5110
+
5111
+ For GuardDuty to be able to generate findings based on an activity associated with these entries, this list must be active.
5112
+
5113
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html#cfn-guardduty-threatintelset-activate
5114
+ '''
5115
+ result = self._values.get("activate")
5116
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
5117
+
5118
+ @builtins.property
5119
+ def detector_id(self) -> typing.Optional[builtins.str]:
5120
+ '''The unique ID of the detector of the GuardDuty account for which you want to create a ``threatIntelSet`` .
5121
+
5122
+ To find the ``detectorId`` in the current Region, see the
5123
+ Settings page in the GuardDuty console, or run the `ListDetectors <https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html>`_ API.
5124
+
5125
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html#cfn-guardduty-threatintelset-detectorid
5126
+ '''
5127
+ result = self._values.get("detector_id")
5128
+ return typing.cast(typing.Optional[builtins.str], result)
5129
+
5130
+ @builtins.property
5131
+ def expected_bucket_owner(self) -> typing.Optional[builtins.str]:
5132
+ '''The AWS account ID that owns the Amazon S3 bucket specified in the *Location* field.
5133
+
5134
+ When you provide this account ID, GuardDuty will validate that the S3 bucket belongs to this account. If you don't specify an account ID owner, GuardDuty doesn't perform any validation.
5135
+
5136
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html#cfn-guardduty-threatintelset-expectedbucketowner
5137
+ '''
5138
+ result = self._values.get("expected_bucket_owner")
5139
+ return typing.cast(typing.Optional[builtins.str], result)
5140
+
5141
+ @builtins.property
5142
+ def name(self) -> typing.Optional[builtins.str]:
5143
+ '''The user-friendly name to identify the ThreatIntelSet.
5144
+
5145
+ The name of your list must be unique within an AWS account and Region. Valid characters are alphanumeric, whitespace, dash (-), and underscores (_).
5146
+
5147
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html#cfn-guardduty-threatintelset-name
5148
+ '''
5149
+ result = self._values.get("name")
5150
+ return typing.cast(typing.Optional[builtins.str], result)
5151
+
5152
+ @builtins.property
5153
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
5154
+ '''The tags to be added to a new threat entity set resource.
5155
+
5156
+ Each tag consists of a key and an optional value, both of which you define.
5157
+
5158
+ For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
5159
+
5160
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html#cfn-guardduty-threatintelset-tags
5161
+ '''
5162
+ result = self._values.get("tags")
5163
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
5164
+
5165
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5166
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5167
+
5168
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5169
+ return not (rhs == self)
5170
+
5171
+ def __repr__(self) -> str:
5172
+ return "CfnThreatIntelSetProps(%s)" % ", ".join(
5173
+ k + "=" + repr(v) for k, v in self._values.items()
5174
+ )
5175
+
5176
+
5177
+ @jsii.implements(_IInspectable_c2943556, _ITrustedEntitySetRef_bc546ba3, _ITaggableV2_4e6798f8)
5178
+ class CfnTrustedEntitySet(
5179
+ _CfnResource_9df397a6,
5180
+ metaclass=jsii.JSIIMeta,
5181
+ jsii_type="aws-cdk-lib.aws_guardduty.CfnTrustedEntitySet",
5182
+ ):
5183
+ '''Creates a new trusted entity set.
5184
+
5185
+ In the trusted entity set, you can provide IP addresses and domains that you believe are secure for communication in your AWS environment. GuardDuty will not generate findings for the entries that are specified in a trusted entity set. At any given time, you can have only one trusted entity set.
5186
+
5187
+ Only users of the administrator account can manage the entity sets, which automatically apply to member accounts.
5188
+
5189
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-trustedentityset.html
5190
+ :cloudformationResource: AWS::GuardDuty::TrustedEntitySet
5191
+ :exampleMetadata: fixture=_generated
5192
+
5193
+ Example::
5194
+
5195
+ # The code below shows an example of how to instantiate this type.
5196
+ # The values are placeholders you should change.
5197
+ from aws_cdk import aws_guardduty as guardduty
5198
+
5199
+ cfn_trusted_entity_set = guardduty.CfnTrustedEntitySet(self, "MyCfnTrustedEntitySet",
5200
+ format="format",
5201
+ location="location",
5202
+
5203
+ # the properties below are optional
5204
+ activate=False,
5205
+ detector_id="detectorId",
5206
+ expected_bucket_owner="expectedBucketOwner",
5207
+ name="name",
5208
+ tags=[guardduty.CfnTrustedEntitySet.TagItemProperty(
5209
+ key="key",
5210
+ value="value"
5211
+ )]
5212
+ )
5213
+ '''
5214
+
5215
+ def __init__(
5216
+ self,
5217
+ scope: _constructs_77d1e7e8.Construct,
5218
+ id: builtins.str,
5219
+ *,
5220
+ format: builtins.str,
5221
+ location: builtins.str,
5222
+ activate: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5223
+ detector_id: typing.Optional[builtins.str] = None,
5224
+ expected_bucket_owner: typing.Optional[builtins.str] = None,
5225
+ name: typing.Optional[builtins.str] = None,
5226
+ tags: typing.Optional[typing.Sequence[typing.Union["CfnTrustedEntitySet.TagItemProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5227
+ ) -> None:
5228
+ '''Create a new ``AWS::GuardDuty::TrustedEntitySet``.
5229
+
5230
+ :param scope: Scope in which this resource is defined.
5231
+ :param id: Construct identifier for this resource (unique in its scope).
5232
+ :param format: The format of the file that contains the trusted entity set. For information about supported formats, see `List formats <https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_upload-lists.html#prepare_list>`_ in the *Amazon GuardDuty User Guide* .
5233
+ :param location: The URI of the file that contains the trusted entity set.
5234
+ :param activate: A boolean value that determines if GuardDuty can start using this list for custom threat detection. For GuardDuty to prevent generating findings based on an activity associated with these entries, this list must be active.
5235
+ :param detector_id: The unique regional detector ID of the GuardDuty account for which you want to create a trusted entity set. To find the ``detectorId`` in the current Region, see the Settings page in the GuardDuty console, or run the `ListDetectors <https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html>`_ API.
5236
+ :param expected_bucket_owner: The AWS account ID that owns the Amazon S3 bucket specified in the *Location* field. Whether or not you provide the account ID for this optional field, GuardDuty validates that the account ID associated with the ``DetectorId`` value owns the S3 bucket in the ``Location`` field. If GuardDuty finds that this S3 bucket doesn't belong to the specified account ID, you will get an error at the time of activating this list.
5237
+ :param name: A user-friendly name to identify the trusted entity set. Valid characters include lowercase letters, uppercase letters, numbers, dash(-), and underscore (_).
5238
+ :param tags: The tags to be added to a new trusted entity set resource. Each tag consists of a key and an optional value, both of which you define. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
5239
+ '''
5240
+ if __debug__:
5241
+ type_hints = typing.get_type_hints(_typecheckingstub__f97ca040c13911b4ef646900134e880ef92baa555cc7ae3a3f589a5b783d6bdd)
5242
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
5243
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
5244
+ props = CfnTrustedEntitySetProps(
5245
+ format=format,
5246
+ location=location,
5247
+ activate=activate,
5248
+ detector_id=detector_id,
5249
+ expected_bucket_owner=expected_bucket_owner,
5250
+ name=name,
5251
+ tags=tags,
5252
+ )
5253
+
5254
+ jsii.create(self.__class__, self, [scope, id, props])
5255
+
5256
+ @jsii.member(jsii_name="inspect")
5257
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
5258
+ '''Examines the CloudFormation resource and discloses attributes.
5259
+
5260
+ :param inspector: tree inspector to collect and process attributes.
5261
+ '''
5262
+ if __debug__:
5263
+ type_hints = typing.get_type_hints(_typecheckingstub__f85867f300862bdc19c810d7170de8926f6bfa348b3b9b7637ca7d82c91ca639)
5264
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
5265
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
5266
+
5267
+ @jsii.member(jsii_name="renderProperties")
5268
+ def _render_properties(
5269
+ self,
5270
+ props: typing.Mapping[builtins.str, typing.Any],
5271
+ ) -> typing.Mapping[builtins.str, typing.Any]:
5272
+ '''
5273
+ :param props: -
5274
+ '''
5275
+ if __debug__:
5276
+ type_hints = typing.get_type_hints(_typecheckingstub__0655ff4592955f2b692a51501ca73340533b66fea6a2af184a48abc64610afdc)
5277
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
5278
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
5279
+
5280
+ @jsii.python.classproperty
5281
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
5282
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
5283
+ '''The CloudFormation resource type name for this resource class.'''
5284
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
5285
+
5286
+ @builtins.property
5287
+ @jsii.member(jsii_name="attrCreatedAt")
5288
+ def attr_created_at(self) -> builtins.str:
5289
+ '''The timestamp when the trusted entity set was created.
5290
+
5291
+ :cloudformationAttribute: CreatedAt
5292
+ '''
5293
+ return typing.cast(builtins.str, jsii.get(self, "attrCreatedAt"))
5294
+
5295
+ @builtins.property
5296
+ @jsii.member(jsii_name="attrErrorDetails")
5297
+ def attr_error_details(self) -> builtins.str:
5298
+ '''Specifies the error details when the status of the trusted entity set shows as *Error* .
5299
+
5300
+ :cloudformationAttribute: ErrorDetails
5301
+ '''
5302
+ return typing.cast(builtins.str, jsii.get(self, "attrErrorDetails"))
5303
+
5304
+ @builtins.property
5305
+ @jsii.member(jsii_name="attrId")
5306
+ def attr_id(self) -> builtins.str:
5307
+ '''
5308
+ :cloudformationAttribute: Id
5309
+ '''
5310
+ return typing.cast(builtins.str, jsii.get(self, "attrId"))
5311
+
5312
+ @builtins.property
5313
+ @jsii.member(jsii_name="attrStatus")
5314
+ def attr_status(self) -> builtins.str:
5315
+ '''The status of your ``TrustedEntitySet`` .
5316
+
5317
+ For information about valid status values, see `Understanding list statuses <https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_upload-lists.html#guardduty-entity-list-statuses>`_ in the *Amazon GuardDuty User Guide* .
5318
+
5319
+ :cloudformationAttribute: Status
5320
+ '''
5321
+ return typing.cast(builtins.str, jsii.get(self, "attrStatus"))
5322
+
5323
+ @builtins.property
5324
+ @jsii.member(jsii_name="attrUpdatedAt")
5325
+ def attr_updated_at(self) -> builtins.str:
5326
+ '''The timestamp when the trusted entity set was updated.
5327
+
5328
+ :cloudformationAttribute: UpdatedAt
5329
+ '''
5330
+ return typing.cast(builtins.str, jsii.get(self, "attrUpdatedAt"))
5331
+
5332
+ @builtins.property
5333
+ @jsii.member(jsii_name="cdkTagManager")
5334
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
5335
+ '''Tag Manager which manages the tags for this resource.'''
5336
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
5337
+
5338
+ @builtins.property
5339
+ @jsii.member(jsii_name="cfnProperties")
5340
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
5341
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
5342
+
5343
+ @builtins.property
5344
+ @jsii.member(jsii_name="trustedEntitySetRef")
5345
+ def trusted_entity_set_ref(self) -> _TrustedEntitySetReference_ed75751f:
5346
+ '''A reference to a TrustedEntitySet resource.'''
5347
+ return typing.cast(_TrustedEntitySetReference_ed75751f, jsii.get(self, "trustedEntitySetRef"))
5348
+
5349
+ @builtins.property
5350
+ @jsii.member(jsii_name="format")
5351
+ def format(self) -> builtins.str:
5352
+ '''The format of the file that contains the trusted entity set.'''
5353
+ return typing.cast(builtins.str, jsii.get(self, "format"))
5354
+
5355
+ @format.setter
5356
+ def format(self, value: builtins.str) -> None:
5357
+ if __debug__:
5358
+ type_hints = typing.get_type_hints(_typecheckingstub__3f59ae26c1cd9cfdc43b89ee8cb5d6b984a93181052f1593fd7aec0dc07a1f2a)
5359
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5360
+ jsii.set(self, "format", value) # pyright: ignore[reportArgumentType]
5361
+
5362
+ @builtins.property
5363
+ @jsii.member(jsii_name="location")
5364
+ def location(self) -> builtins.str:
5365
+ '''The URI of the file that contains the trusted entity set.'''
5366
+ return typing.cast(builtins.str, jsii.get(self, "location"))
5367
+
5368
+ @location.setter
5369
+ def location(self, value: builtins.str) -> None:
5370
+ if __debug__:
5371
+ type_hints = typing.get_type_hints(_typecheckingstub__bcd25b55717469a06d21cea3ebb5a2ebf71c8c12f4cbe767468b1229bc75b1d6)
5372
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5373
+ jsii.set(self, "location", value) # pyright: ignore[reportArgumentType]
5374
+
5375
+ @builtins.property
5376
+ @jsii.member(jsii_name="activate")
5377
+ def activate(
5378
+ self,
5379
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
5380
+ '''A boolean value that determines if GuardDuty can start using this list for custom threat detection.'''
5381
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "activate"))
5382
+
5383
+ @activate.setter
5384
+ def activate(
5385
+ self,
5386
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
5387
+ ) -> None:
5388
+ if __debug__:
5389
+ type_hints = typing.get_type_hints(_typecheckingstub__fcb17f7765a352c56401cef5289d093d9eeec88b494b555090ed231a335472a8)
5390
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5391
+ jsii.set(self, "activate", value) # pyright: ignore[reportArgumentType]
5392
+
5393
+ @builtins.property
5394
+ @jsii.member(jsii_name="detectorId")
5395
+ def detector_id(self) -> typing.Optional[builtins.str]:
5396
+ '''The unique regional detector ID of the GuardDuty account for which you want to create a trusted entity set.'''
5397
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "detectorId"))
5398
+
5399
+ @detector_id.setter
5400
+ def detector_id(self, value: typing.Optional[builtins.str]) -> None:
5401
+ if __debug__:
5402
+ type_hints = typing.get_type_hints(_typecheckingstub__636e61a3a1c928a11a4066ee35f6bd92c4e7d47c477e0cd77a1425f7de881ecf)
5403
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5404
+ jsii.set(self, "detectorId", value) # pyright: ignore[reportArgumentType]
5405
+
5406
+ @builtins.property
5407
+ @jsii.member(jsii_name="expectedBucketOwner")
5408
+ def expected_bucket_owner(self) -> typing.Optional[builtins.str]:
5409
+ '''The AWS account ID that owns the Amazon S3 bucket specified in the *Location* field.'''
5410
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "expectedBucketOwner"))
5411
+
5412
+ @expected_bucket_owner.setter
5413
+ def expected_bucket_owner(self, value: typing.Optional[builtins.str]) -> None:
5414
+ if __debug__:
5415
+ type_hints = typing.get_type_hints(_typecheckingstub__2a30865cdc288b85a7993b1a2560d8b3fc83c414826a40802fd4657ae5addfe4)
5416
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5417
+ jsii.set(self, "expectedBucketOwner", value) # pyright: ignore[reportArgumentType]
5418
+
5419
+ @builtins.property
5420
+ @jsii.member(jsii_name="name")
5421
+ def name(self) -> typing.Optional[builtins.str]:
5422
+ '''A user-friendly name to identify the trusted entity set.'''
5423
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "name"))
5424
+
5425
+ @name.setter
5426
+ def name(self, value: typing.Optional[builtins.str]) -> None:
5427
+ if __debug__:
5428
+ type_hints = typing.get_type_hints(_typecheckingstub__52b7aaed8e52f7e5b8652ad3132eee56ee0c858468ce1c9df82ddffa47a56714)
5429
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5430
+ jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
5431
+
5432
+ @builtins.property
5433
+ @jsii.member(jsii_name="tags")
5434
+ def tags(
5435
+ self,
5436
+ ) -> typing.Optional[typing.List["CfnTrustedEntitySet.TagItemProperty"]]:
5437
+ '''The tags to be added to a new trusted entity set resource.'''
5438
+ return typing.cast(typing.Optional[typing.List["CfnTrustedEntitySet.TagItemProperty"]], jsii.get(self, "tags"))
5439
+
5440
+ @tags.setter
5441
+ def tags(
5442
+ self,
5443
+ value: typing.Optional[typing.List["CfnTrustedEntitySet.TagItemProperty"]],
5444
+ ) -> None:
5445
+ if __debug__:
5446
+ type_hints = typing.get_type_hints(_typecheckingstub__99d5ac870e6a4e9a44e3854050f1d9a604df1353c4102d42a55b690097b0396c)
5447
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5448
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
5449
+
5450
+ @jsii.data_type(
5451
+ jsii_type="aws-cdk-lib.aws_guardduty.CfnTrustedEntitySet.TagItemProperty",
5452
+ jsii_struct_bases=[],
5453
+ name_mapping={"key": "key", "value": "value"},
5454
+ )
5455
+ class TagItemProperty:
5456
+ def __init__(self, *, key: builtins.str, value: builtins.str) -> None:
5457
+ '''Describes a tag.
5458
+
5459
+ For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
5460
+
5461
+ :param key: The tag key.
5462
+ :param value: The tag value. This is optional.
5463
+
5464
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-trustedentityset-tagitem.html
5465
+ :exampleMetadata: fixture=_generated
5466
+
5467
+ Example::
5468
+
5469
+ # The code below shows an example of how to instantiate this type.
5470
+ # The values are placeholders you should change.
5471
+ from aws_cdk import aws_guardduty as guardduty
5472
+
5473
+ tag_item_property = guardduty.CfnTrustedEntitySet.TagItemProperty(
5474
+ key="key",
5475
+ value="value"
5476
+ )
5477
+ '''
5478
+ if __debug__:
5479
+ type_hints = typing.get_type_hints(_typecheckingstub__a1c81f11cd29394c009789b30463ba1931458f7dde6533e82b4d108b5890ccb6)
5480
+ check_type(argname="argument key", value=key, expected_type=type_hints["key"])
5481
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5482
+ self._values: typing.Dict[builtins.str, typing.Any] = {
5483
+ "key": key,
5484
+ "value": value,
5485
+ }
5486
+
5487
+ @builtins.property
5488
+ def key(self) -> builtins.str:
5489
+ '''The tag key.
5490
+
5491
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-trustedentityset-tagitem.html#cfn-guardduty-trustedentityset-tagitem-key
5492
+ '''
5493
+ result = self._values.get("key")
5494
+ assert result is not None, "Required property 'key' is missing"
5495
+ return typing.cast(builtins.str, result)
5496
+
5497
+ @builtins.property
5498
+ def value(self) -> builtins.str:
5499
+ '''The tag value.
5500
+
5501
+ This is optional.
5502
+
5503
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-trustedentityset-tagitem.html#cfn-guardduty-trustedentityset-tagitem-value
5504
+ '''
5505
+ result = self._values.get("value")
5506
+ assert result is not None, "Required property 'value' is missing"
5507
+ return typing.cast(builtins.str, result)
5508
+
5509
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5510
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5511
+
5512
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5513
+ return not (rhs == self)
5514
+
5515
+ def __repr__(self) -> str:
5516
+ return "TagItemProperty(%s)" % ", ".join(
5517
+ k + "=" + repr(v) for k, v in self._values.items()
5518
+ )
5519
+
5520
+
5521
+ @jsii.data_type(
5522
+ jsii_type="aws-cdk-lib.aws_guardduty.CfnTrustedEntitySetProps",
5523
+ jsii_struct_bases=[],
5524
+ name_mapping={
5525
+ "format": "format",
5526
+ "location": "location",
5527
+ "activate": "activate",
5528
+ "detector_id": "detectorId",
5529
+ "expected_bucket_owner": "expectedBucketOwner",
5530
+ "name": "name",
5531
+ "tags": "tags",
5532
+ },
5533
+ )
5534
+ class CfnTrustedEntitySetProps:
5535
+ def __init__(
5536
+ self,
5537
+ *,
5538
+ format: builtins.str,
5539
+ location: builtins.str,
5540
+ activate: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5541
+ detector_id: typing.Optional[builtins.str] = None,
5542
+ expected_bucket_owner: typing.Optional[builtins.str] = None,
5543
+ name: typing.Optional[builtins.str] = None,
5544
+ tags: typing.Optional[typing.Sequence[typing.Union[CfnTrustedEntitySet.TagItemProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5545
+ ) -> None:
5546
+ '''Properties for defining a ``CfnTrustedEntitySet``.
5547
+
5548
+ :param format: The format of the file that contains the trusted entity set. For information about supported formats, see `List formats <https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_upload-lists.html#prepare_list>`_ in the *Amazon GuardDuty User Guide* .
5549
+ :param location: The URI of the file that contains the trusted entity set.
5550
+ :param activate: A boolean value that determines if GuardDuty can start using this list for custom threat detection. For GuardDuty to prevent generating findings based on an activity associated with these entries, this list must be active.
5551
+ :param detector_id: The unique regional detector ID of the GuardDuty account for which you want to create a trusted entity set. To find the ``detectorId`` in the current Region, see the Settings page in the GuardDuty console, or run the `ListDetectors <https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html>`_ API.
5552
+ :param expected_bucket_owner: The AWS account ID that owns the Amazon S3 bucket specified in the *Location* field. Whether or not you provide the account ID for this optional field, GuardDuty validates that the account ID associated with the ``DetectorId`` value owns the S3 bucket in the ``Location`` field. If GuardDuty finds that this S3 bucket doesn't belong to the specified account ID, you will get an error at the time of activating this list.
5553
+ :param name: A user-friendly name to identify the trusted entity set. Valid characters include lowercase letters, uppercase letters, numbers, dash(-), and underscore (_).
5554
+ :param tags: The tags to be added to a new trusted entity set resource. Each tag consists of a key and an optional value, both of which you define. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
5555
+
5556
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-trustedentityset.html
5557
+ :exampleMetadata: fixture=_generated
5558
+
5559
+ Example::
5560
+
5561
+ # The code below shows an example of how to instantiate this type.
5562
+ # The values are placeholders you should change.
5563
+ from aws_cdk import aws_guardduty as guardduty
5564
+
5565
+ cfn_trusted_entity_set_props = guardduty.CfnTrustedEntitySetProps(
5566
+ format="format",
5567
+ location="location",
5568
+
5569
+ # the properties below are optional
5570
+ activate=False,
5571
+ detector_id="detectorId",
5572
+ expected_bucket_owner="expectedBucketOwner",
5573
+ name="name",
5574
+ tags=[guardduty.CfnTrustedEntitySet.TagItemProperty(
5575
+ key="key",
5576
+ value="value"
5577
+ )]
5578
+ )
5579
+ '''
5580
+ if __debug__:
5581
+ type_hints = typing.get_type_hints(_typecheckingstub__00765e3940374511fc72a70d3a0ae2969dd9c1bda5e42af5ac72c84b1ecc9735)
5582
+ check_type(argname="argument format", value=format, expected_type=type_hints["format"])
5583
+ check_type(argname="argument location", value=location, expected_type=type_hints["location"])
5584
+ check_type(argname="argument activate", value=activate, expected_type=type_hints["activate"])
5585
+ check_type(argname="argument detector_id", value=detector_id, expected_type=type_hints["detector_id"])
5586
+ check_type(argname="argument expected_bucket_owner", value=expected_bucket_owner, expected_type=type_hints["expected_bucket_owner"])
5587
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
5588
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
5589
+ self._values: typing.Dict[builtins.str, typing.Any] = {
5590
+ "format": format,
5591
+ "location": location,
5592
+ }
5593
+ if activate is not None:
5594
+ self._values["activate"] = activate
5595
+ if detector_id is not None:
5596
+ self._values["detector_id"] = detector_id
5597
+ if expected_bucket_owner is not None:
5598
+ self._values["expected_bucket_owner"] = expected_bucket_owner
5599
+ if name is not None:
5600
+ self._values["name"] = name
5601
+ if tags is not None:
5602
+ self._values["tags"] = tags
5603
+
5604
+ @builtins.property
5605
+ def format(self) -> builtins.str:
5606
+ '''The format of the file that contains the trusted entity set.
5607
+
5608
+ For information about supported formats, see `List formats <https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_upload-lists.html#prepare_list>`_ in the *Amazon GuardDuty User Guide* .
5609
+
5610
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-trustedentityset.html#cfn-guardduty-trustedentityset-format
5611
+ '''
5612
+ result = self._values.get("format")
5613
+ assert result is not None, "Required property 'format' is missing"
5614
+ return typing.cast(builtins.str, result)
5615
+
5616
+ @builtins.property
5617
+ def location(self) -> builtins.str:
5618
+ '''The URI of the file that contains the trusted entity set.
5619
+
5620
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-trustedentityset.html#cfn-guardduty-trustedentityset-location
5621
+ '''
5622
+ result = self._values.get("location")
5623
+ assert result is not None, "Required property 'location' is missing"
5624
+ return typing.cast(builtins.str, result)
5625
+
5626
+ @builtins.property
5627
+ def activate(
5628
+ self,
5629
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
5630
+ '''A boolean value that determines if GuardDuty can start using this list for custom threat detection.
5631
+
5632
+ For GuardDuty to prevent generating findings based on an activity associated with these entries, this list must be active.
5633
+
5634
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-trustedentityset.html#cfn-guardduty-trustedentityset-activate
5635
+ '''
5636
+ result = self._values.get("activate")
5637
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
5638
+
5639
+ @builtins.property
5640
+ def detector_id(self) -> typing.Optional[builtins.str]:
5641
+ '''The unique regional detector ID of the GuardDuty account for which you want to create a trusted entity set.
5642
+
5643
+ To find the ``detectorId`` in the current Region, see the Settings page in the GuardDuty console, or run the `ListDetectors <https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListDetectors.html>`_ API.
5644
+
5645
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-trustedentityset.html#cfn-guardduty-trustedentityset-detectorid
5646
+ '''
5647
+ result = self._values.get("detector_id")
5648
+ return typing.cast(typing.Optional[builtins.str], result)
5649
+
5650
+ @builtins.property
5651
+ def expected_bucket_owner(self) -> typing.Optional[builtins.str]:
5652
+ '''The AWS account ID that owns the Amazon S3 bucket specified in the *Location* field.
5653
+
5654
+ Whether or not you provide the account ID for this optional field, GuardDuty validates that the account ID associated with the ``DetectorId`` value owns the S3 bucket in the ``Location`` field. If GuardDuty finds that this S3 bucket doesn't belong to the specified account ID, you will get an error at the time of activating this list.
5655
+
5656
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-trustedentityset.html#cfn-guardduty-trustedentityset-expectedbucketowner
5657
+ '''
5658
+ result = self._values.get("expected_bucket_owner")
5659
+ return typing.cast(typing.Optional[builtins.str], result)
5660
+
5661
+ @builtins.property
5662
+ def name(self) -> typing.Optional[builtins.str]:
5663
+ '''A user-friendly name to identify the trusted entity set.
5664
+
5665
+ Valid characters include lowercase letters, uppercase letters, numbers, dash(-), and underscore (_).
5666
+
5667
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-trustedentityset.html#cfn-guardduty-trustedentityset-name
5668
+ '''
5669
+ result = self._values.get("name")
5670
+ return typing.cast(typing.Optional[builtins.str], result)
5671
+
5672
+ @builtins.property
5673
+ def tags(self) -> typing.Optional[typing.List[CfnTrustedEntitySet.TagItemProperty]]:
5674
+ '''The tags to be added to a new trusted entity set resource.
5675
+
5676
+ Each tag consists of a key and an optional value, both of which you define.
5677
+
5678
+ For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
5679
+
5680
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-trustedentityset.html#cfn-guardduty-trustedentityset-tags
5681
+ '''
5682
+ result = self._values.get("tags")
5683
+ return typing.cast(typing.Optional[typing.List[CfnTrustedEntitySet.TagItemProperty]], result)
5684
+
5685
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5686
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5687
+
5688
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5689
+ return not (rhs == self)
5690
+
5691
+ def __repr__(self) -> str:
5692
+ return "CfnTrustedEntitySetProps(%s)" % ", ".join(
5693
+ k + "=" + repr(v) for k, v in self._values.items()
5694
+ )
5695
+
5696
+
5697
+ __all__ = [
5698
+ "CfnDetector",
5699
+ "CfnDetectorProps",
5700
+ "CfnFilter",
5701
+ "CfnFilterProps",
5702
+ "CfnIPSet",
5703
+ "CfnIPSetProps",
5704
+ "CfnMalwareProtectionPlan",
5705
+ "CfnMalwareProtectionPlanProps",
5706
+ "CfnMaster",
5707
+ "CfnMasterProps",
5708
+ "CfnMember",
5709
+ "CfnMemberProps",
5710
+ "CfnPublishingDestination",
5711
+ "CfnPublishingDestinationProps",
5712
+ "CfnThreatEntitySet",
5713
+ "CfnThreatEntitySetProps",
5714
+ "CfnThreatIntelSet",
5715
+ "CfnThreatIntelSetProps",
5716
+ "CfnTrustedEntitySet",
5717
+ "CfnTrustedEntitySetProps",
5718
+ ]
5719
+
4450
5720
  publication.publish()
4451
5721
 
4452
5722
  def _typecheckingstub__d4374e73b5cd2e2814bd72eb21f29547df6146e023d23ee6d5c8c8cdb4439473(
@@ -4462,6 +5732,14 @@ def _typecheckingstub__d4374e73b5cd2e2814bd72eb21f29547df6146e023d23ee6d5c8c8cdb
4462
5732
  """Type checking stubs"""
4463
5733
  pass
4464
5734
 
5735
+ def _typecheckingstub__3c713ff5c3d63d8b0298c515dac65b7f9b853cb55d0ab5db4ed3060bd60413f3(
5736
+ scope: _constructs_77d1e7e8.Construct,
5737
+ id: builtins.str,
5738
+ detector_id: builtins.str,
5739
+ ) -> None:
5740
+ """Type checking stubs"""
5741
+ pass
5742
+
4465
5743
  def _typecheckingstub__4cd13133d47f23bb91dcc2e425b360777bcd306422761af023eb8654fdc89892(
4466
5744
  inspector: _TreeInspector_488e0dd5,
4467
5745
  ) -> None:
@@ -4700,6 +5978,7 @@ def _typecheckingstub__b0c6fd2cb08b5267e6265af6fae1a30df065b4b25dc1d6d684eec9f9b
4700
5978
  location: builtins.str,
4701
5979
  activate: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4702
5980
  detector_id: typing.Optional[builtins.str] = None,
5981
+ expected_bucket_owner: typing.Optional[builtins.str] = None,
4703
5982
  name: typing.Optional[builtins.str] = None,
4704
5983
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
4705
5984
  ) -> None:
@@ -4742,6 +6021,12 @@ def _typecheckingstub__1aa4bf6ad59c1223085a10fc5ece87e88253a83036d5b0e3947792ffc
4742
6021
  """Type checking stubs"""
4743
6022
  pass
4744
6023
 
6024
+ def _typecheckingstub__9191409994fec537ce4d4e8e40256113b2937c7a1bb90b2f14b71998143f9810(
6025
+ value: typing.Optional[builtins.str],
6026
+ ) -> None:
6027
+ """Type checking stubs"""
6028
+ pass
6029
+
4745
6030
  def _typecheckingstub__0128f966eac1a136f141aedcb397b96308a170e31f1d45176a39160ebf5a7a8f(
4746
6031
  value: typing.Optional[builtins.str],
4747
6032
  ) -> None:
@@ -4760,6 +6045,7 @@ def _typecheckingstub__f47aa340c89b95bf1878c9cb7463920b568c23940ad283e6f2c2bb481
4760
6045
  location: builtins.str,
4761
6046
  activate: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4762
6047
  detector_id: typing.Optional[builtins.str] = None,
6048
+ expected_bucket_owner: typing.Optional[builtins.str] = None,
4763
6049
  name: typing.Optional[builtins.str] = None,
4764
6050
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
4765
6051
  ) -> None:
@@ -4778,6 +6064,22 @@ def _typecheckingstub__00ef930fce1d868abb00d70b721805e86a6ec1fb82c9df9f9974877a5
4778
6064
  """Type checking stubs"""
4779
6065
  pass
4780
6066
 
6067
+ def _typecheckingstub__9beb0e4b705cb1315021d1597ad3a8ef8f98d51f345baa42f6587d45977f630f(
6068
+ scope: _constructs_77d1e7e8.Construct,
6069
+ id: builtins.str,
6070
+ arn: builtins.str,
6071
+ ) -> None:
6072
+ """Type checking stubs"""
6073
+ pass
6074
+
6075
+ def _typecheckingstub__2dc9250482abe101d6509cf926e75331c1ab605e103c4610913931bfc0ff5343(
6076
+ scope: _constructs_77d1e7e8.Construct,
6077
+ id: builtins.str,
6078
+ malware_protection_plan_id: builtins.str,
6079
+ ) -> None:
6080
+ """Type checking stubs"""
6081
+ pass
6082
+
4781
6083
  def _typecheckingstub__f305bc4bdb4472c75f91bda6264efa88f5fca08c3003eadba070f5026ad64459(
4782
6084
  inspector: _TreeInspector_488e0dd5,
4783
6085
  ) -> None:
@@ -5067,6 +6369,96 @@ def _typecheckingstub__5035cd8908ac8fcff142733ecf98576b3480f30c7c0fd250caa41a83b
5067
6369
  """Type checking stubs"""
5068
6370
  pass
5069
6371
 
6372
+ def _typecheckingstub__a633dbf3a335a1c89a81e2b20e0804a2398855b80b7f90aefcab3fcffd594ae2(
6373
+ scope: _constructs_77d1e7e8.Construct,
6374
+ id: builtins.str,
6375
+ *,
6376
+ format: builtins.str,
6377
+ location: builtins.str,
6378
+ activate: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
6379
+ detector_id: typing.Optional[builtins.str] = None,
6380
+ expected_bucket_owner: typing.Optional[builtins.str] = None,
6381
+ name: typing.Optional[builtins.str] = None,
6382
+ tags: typing.Optional[typing.Sequence[typing.Union[CfnThreatEntitySet.TagItemProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
6383
+ ) -> None:
6384
+ """Type checking stubs"""
6385
+ pass
6386
+
6387
+ def _typecheckingstub__1c32d5cebe463fb394e1de7987cf95ac14ed2d64bfb94244b7f53a5ae01e86fc(
6388
+ inspector: _TreeInspector_488e0dd5,
6389
+ ) -> None:
6390
+ """Type checking stubs"""
6391
+ pass
6392
+
6393
+ def _typecheckingstub__4b473ab42cb6b4e41fbd30cc43368c741a796600957b905b8bd33b94ed1d9b19(
6394
+ props: typing.Mapping[builtins.str, typing.Any],
6395
+ ) -> None:
6396
+ """Type checking stubs"""
6397
+ pass
6398
+
6399
+ def _typecheckingstub__9bd1bb00f84d311b715627a92fb637272bd50eba86c2d16fa67691c6cc13b40b(
6400
+ value: builtins.str,
6401
+ ) -> None:
6402
+ """Type checking stubs"""
6403
+ pass
6404
+
6405
+ def _typecheckingstub__2309bb8657b4758bd1d620033861fc01383373882f360a452fe19c1513ef44e3(
6406
+ value: builtins.str,
6407
+ ) -> None:
6408
+ """Type checking stubs"""
6409
+ pass
6410
+
6411
+ def _typecheckingstub__bdf2f505562fc426590d0aff2e1eca3a53df58abfd1e69b8495ac49ff3b42763(
6412
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
6413
+ ) -> None:
6414
+ """Type checking stubs"""
6415
+ pass
6416
+
6417
+ def _typecheckingstub__a97f7e1867e5a54a3b03a0d24bd5ec7ca8d6200145e83b0f34c562f5e83448ba(
6418
+ value: typing.Optional[builtins.str],
6419
+ ) -> None:
6420
+ """Type checking stubs"""
6421
+ pass
6422
+
6423
+ def _typecheckingstub__a7bd200e9cd51319cdc4298d4401a8a961a6af90f3ea47a9200a8820086e4278(
6424
+ value: typing.Optional[builtins.str],
6425
+ ) -> None:
6426
+ """Type checking stubs"""
6427
+ pass
6428
+
6429
+ def _typecheckingstub__03df3be27a55c9923526c9497963c6527d389f1bb8ffed035526cc303afb8bd2(
6430
+ value: typing.Optional[builtins.str],
6431
+ ) -> None:
6432
+ """Type checking stubs"""
6433
+ pass
6434
+
6435
+ def _typecheckingstub__fbaece4f1c2fc125ec3923bb0a3b4537f6091ab7f66da3db41faf4839aeb3931(
6436
+ value: typing.Optional[typing.List[CfnThreatEntitySet.TagItemProperty]],
6437
+ ) -> None:
6438
+ """Type checking stubs"""
6439
+ pass
6440
+
6441
+ def _typecheckingstub__9bcb8d0f67c3b20709378a933f90454d6394d6f4608b78865e524eaaae71a082(
6442
+ *,
6443
+ key: builtins.str,
6444
+ value: builtins.str,
6445
+ ) -> None:
6446
+ """Type checking stubs"""
6447
+ pass
6448
+
6449
+ def _typecheckingstub__adc8d4ad73863c00637d46455ebd458e48d6cb964a55dada4ed53522b2f348d3(
6450
+ *,
6451
+ format: builtins.str,
6452
+ location: builtins.str,
6453
+ activate: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
6454
+ detector_id: typing.Optional[builtins.str] = None,
6455
+ expected_bucket_owner: typing.Optional[builtins.str] = None,
6456
+ name: typing.Optional[builtins.str] = None,
6457
+ tags: typing.Optional[typing.Sequence[typing.Union[CfnThreatEntitySet.TagItemProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
6458
+ ) -> None:
6459
+ """Type checking stubs"""
6460
+ pass
6461
+
5070
6462
  def _typecheckingstub__e60035c0bc955afb794ee89f0439deae280bfec665014cbbd161f08566de73a7(
5071
6463
  scope: _constructs_77d1e7e8.Construct,
5072
6464
  id: builtins.str,
@@ -5075,6 +6467,7 @@ def _typecheckingstub__e60035c0bc955afb794ee89f0439deae280bfec665014cbbd161f0856
5075
6467
  location: builtins.str,
5076
6468
  activate: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5077
6469
  detector_id: typing.Optional[builtins.str] = None,
6470
+ expected_bucket_owner: typing.Optional[builtins.str] = None,
5078
6471
  name: typing.Optional[builtins.str] = None,
5079
6472
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
5080
6473
  ) -> None:
@@ -5117,6 +6510,12 @@ def _typecheckingstub__6198953302f0959c3d25abb6f0063fb638c6abf44a125235eafb49370
5117
6510
  """Type checking stubs"""
5118
6511
  pass
5119
6512
 
6513
+ def _typecheckingstub__45c0733c6c75c09ff089a9606f91e845cf362445012b247e68e83208c0a5aaee(
6514
+ value: typing.Optional[builtins.str],
6515
+ ) -> None:
6516
+ """Type checking stubs"""
6517
+ pass
6518
+
5120
6519
  def _typecheckingstub__78860e52ab0e0d6681a85585054b7ed92f84696ec2b6a43bb90c609188bf36e6(
5121
6520
  value: typing.Optional[builtins.str],
5122
6521
  ) -> None:
@@ -5135,8 +6534,99 @@ def _typecheckingstub__0a5d0bedab8c4fad4ab288ce5a467dbe6a4d07ef2947521b14162f1e7
5135
6534
  location: builtins.str,
5136
6535
  activate: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5137
6536
  detector_id: typing.Optional[builtins.str] = None,
6537
+ expected_bucket_owner: typing.Optional[builtins.str] = None,
5138
6538
  name: typing.Optional[builtins.str] = None,
5139
6539
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
5140
6540
  ) -> None:
5141
6541
  """Type checking stubs"""
5142
6542
  pass
6543
+
6544
+ def _typecheckingstub__f97ca040c13911b4ef646900134e880ef92baa555cc7ae3a3f589a5b783d6bdd(
6545
+ scope: _constructs_77d1e7e8.Construct,
6546
+ id: builtins.str,
6547
+ *,
6548
+ format: builtins.str,
6549
+ location: builtins.str,
6550
+ activate: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
6551
+ detector_id: typing.Optional[builtins.str] = None,
6552
+ expected_bucket_owner: typing.Optional[builtins.str] = None,
6553
+ name: typing.Optional[builtins.str] = None,
6554
+ tags: typing.Optional[typing.Sequence[typing.Union[CfnTrustedEntitySet.TagItemProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
6555
+ ) -> None:
6556
+ """Type checking stubs"""
6557
+ pass
6558
+
6559
+ def _typecheckingstub__f85867f300862bdc19c810d7170de8926f6bfa348b3b9b7637ca7d82c91ca639(
6560
+ inspector: _TreeInspector_488e0dd5,
6561
+ ) -> None:
6562
+ """Type checking stubs"""
6563
+ pass
6564
+
6565
+ def _typecheckingstub__0655ff4592955f2b692a51501ca73340533b66fea6a2af184a48abc64610afdc(
6566
+ props: typing.Mapping[builtins.str, typing.Any],
6567
+ ) -> None:
6568
+ """Type checking stubs"""
6569
+ pass
6570
+
6571
+ def _typecheckingstub__3f59ae26c1cd9cfdc43b89ee8cb5d6b984a93181052f1593fd7aec0dc07a1f2a(
6572
+ value: builtins.str,
6573
+ ) -> None:
6574
+ """Type checking stubs"""
6575
+ pass
6576
+
6577
+ def _typecheckingstub__bcd25b55717469a06d21cea3ebb5a2ebf71c8c12f4cbe767468b1229bc75b1d6(
6578
+ value: builtins.str,
6579
+ ) -> None:
6580
+ """Type checking stubs"""
6581
+ pass
6582
+
6583
+ def _typecheckingstub__fcb17f7765a352c56401cef5289d093d9eeec88b494b555090ed231a335472a8(
6584
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
6585
+ ) -> None:
6586
+ """Type checking stubs"""
6587
+ pass
6588
+
6589
+ def _typecheckingstub__636e61a3a1c928a11a4066ee35f6bd92c4e7d47c477e0cd77a1425f7de881ecf(
6590
+ value: typing.Optional[builtins.str],
6591
+ ) -> None:
6592
+ """Type checking stubs"""
6593
+ pass
6594
+
6595
+ def _typecheckingstub__2a30865cdc288b85a7993b1a2560d8b3fc83c414826a40802fd4657ae5addfe4(
6596
+ value: typing.Optional[builtins.str],
6597
+ ) -> None:
6598
+ """Type checking stubs"""
6599
+ pass
6600
+
6601
+ def _typecheckingstub__52b7aaed8e52f7e5b8652ad3132eee56ee0c858468ce1c9df82ddffa47a56714(
6602
+ value: typing.Optional[builtins.str],
6603
+ ) -> None:
6604
+ """Type checking stubs"""
6605
+ pass
6606
+
6607
+ def _typecheckingstub__99d5ac870e6a4e9a44e3854050f1d9a604df1353c4102d42a55b690097b0396c(
6608
+ value: typing.Optional[typing.List[CfnTrustedEntitySet.TagItemProperty]],
6609
+ ) -> None:
6610
+ """Type checking stubs"""
6611
+ pass
6612
+
6613
+ def _typecheckingstub__a1c81f11cd29394c009789b30463ba1931458f7dde6533e82b4d108b5890ccb6(
6614
+ *,
6615
+ key: builtins.str,
6616
+ value: builtins.str,
6617
+ ) -> None:
6618
+ """Type checking stubs"""
6619
+ pass
6620
+
6621
+ def _typecheckingstub__00765e3940374511fc72a70d3a0ae2969dd9c1bda5e42af5ac72c84b1ecc9735(
6622
+ *,
6623
+ format: builtins.str,
6624
+ location: builtins.str,
6625
+ activate: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
6626
+ detector_id: typing.Optional[builtins.str] = None,
6627
+ expected_bucket_owner: typing.Optional[builtins.str] = None,
6628
+ name: typing.Optional[builtins.str] = None,
6629
+ tags: typing.Optional[typing.Sequence[typing.Union[CfnTrustedEntitySet.TagItemProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
6630
+ ) -> None:
6631
+ """Type checking stubs"""
6632
+ pass