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,1104 @@ from .. import (
68
68
  TagManager as _TagManager_0a598cb3,
69
69
  TreeInspector as _TreeInspector_488e0dd5,
70
70
  )
71
+ from ..interfaces.aws_aps import (
72
+ AnomalyDetectorReference as _AnomalyDetectorReference_1ffc0c63,
73
+ IAnomalyDetectorRef as _IAnomalyDetectorRef_fef2b996,
74
+ IResourcePolicyRef as _IResourcePolicyRef_1aa7c1a2,
75
+ IRuleGroupsNamespaceRef as _IRuleGroupsNamespaceRef_7b589be9,
76
+ IScraperRef as _IScraperRef_2b17ef67,
77
+ IWorkspaceRef as _IWorkspaceRef_d8b2b588,
78
+ ResourcePolicyReference as _ResourcePolicyReference_162e786c,
79
+ RuleGroupsNamespaceReference as _RuleGroupsNamespaceReference_9d4673a3,
80
+ ScraperReference as _ScraperReference_c6b43df1,
81
+ WorkspaceReference as _WorkspaceReference_4f6a6126,
82
+ )
83
+
84
+
85
+ @jsii.implements(_IInspectable_c2943556, _IAnomalyDetectorRef_fef2b996, _ITaggableV2_4e6798f8)
86
+ class CfnAnomalyDetector(
87
+ _CfnResource_9df397a6,
88
+ metaclass=jsii.JSIIMeta,
89
+ jsii_type="aws-cdk-lib.aws_aps.CfnAnomalyDetector",
90
+ ):
91
+ '''Anomaly detection uses the Random Cut Forest algorithm for time-series analysis.
92
+
93
+ The anomaly detector analyzes Amazon Managed Service for Prometheus metrics to identify unusual patterns and behaviors.
94
+
95
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-anomalydetector.html
96
+ :cloudformationResource: AWS::APS::AnomalyDetector
97
+ :exampleMetadata: fixture=_generated
98
+
99
+ Example::
100
+
101
+ # The code below shows an example of how to instantiate this type.
102
+ # The values are placeholders you should change.
103
+ from aws_cdk import aws_aps as aps
104
+
105
+ cfn_anomaly_detector = aps.CfnAnomalyDetector(self, "MyCfnAnomalyDetector",
106
+ alias="alias",
107
+ configuration=aps.CfnAnomalyDetector.AnomalyDetectorConfigurationProperty(
108
+ random_cut_forest=aps.CfnAnomalyDetector.RandomCutForestConfigurationProperty(
109
+ query="query",
110
+
111
+ # the properties below are optional
112
+ ignore_near_expected_from_above=aps.CfnAnomalyDetector.IgnoreNearExpectedProperty(
113
+ amount=123,
114
+ ratio=123
115
+ ),
116
+ ignore_near_expected_from_below=aps.CfnAnomalyDetector.IgnoreNearExpectedProperty(
117
+ amount=123,
118
+ ratio=123
119
+ ),
120
+ sample_size=123,
121
+ shingle_size=123
122
+ )
123
+ ),
124
+ workspace="workspace",
125
+
126
+ # the properties below are optional
127
+ evaluation_interval_in_seconds=123,
128
+ labels=[aps.CfnAnomalyDetector.LabelProperty(
129
+ key="key",
130
+ value="value"
131
+ )],
132
+ missing_data_action=aps.CfnAnomalyDetector.MissingDataActionProperty(
133
+ mark_as_anomaly=False,
134
+ skip=False
135
+ ),
136
+ tags=[CfnTag(
137
+ key="key",
138
+ value="value"
139
+ )]
140
+ )
141
+ '''
142
+
143
+ def __init__(
144
+ self,
145
+ scope: _constructs_77d1e7e8.Construct,
146
+ id: builtins.str,
147
+ *,
148
+ alias: builtins.str,
149
+ configuration: typing.Union[_IResolvable_da3f097b, typing.Union["CfnAnomalyDetector.AnomalyDetectorConfigurationProperty", typing.Dict[builtins.str, typing.Any]]],
150
+ workspace: builtins.str,
151
+ evaluation_interval_in_seconds: typing.Optional[jsii.Number] = None,
152
+ labels: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAnomalyDetector.LabelProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
153
+ missing_data_action: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAnomalyDetector.MissingDataActionProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
154
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
155
+ ) -> None:
156
+ '''Create a new ``AWS::APS::AnomalyDetector``.
157
+
158
+ :param scope: Scope in which this resource is defined.
159
+ :param id: Construct identifier for this resource (unique in its scope).
160
+ :param alias: The user-friendly name of the anomaly detector.
161
+ :param configuration: The algorithm configuration of the anomaly detector.
162
+ :param workspace: An Amazon Managed Service for Prometheus workspace is a logical and isolated Prometheus server dedicated to ingesting, storing, and querying your Prometheus-compatible metrics.
163
+ :param evaluation_interval_in_seconds: The frequency, in seconds, at which the anomaly detector evaluates metrics. Default: - 60
164
+ :param labels: The Amazon Managed Service for Prometheus metric labels associated with the anomaly detector.
165
+ :param missing_data_action: The action taken when data is missing during evaluation.
166
+ :param tags: The tags applied to the anomaly detector.
167
+ '''
168
+ if __debug__:
169
+ type_hints = typing.get_type_hints(_typecheckingstub__58b3184629f18780da9f7c9eb2f8acdbdbb5190c9fc3ae41fdbbe34341ba0f26)
170
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
171
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
172
+ props = CfnAnomalyDetectorProps(
173
+ alias=alias,
174
+ configuration=configuration,
175
+ workspace=workspace,
176
+ evaluation_interval_in_seconds=evaluation_interval_in_seconds,
177
+ labels=labels,
178
+ missing_data_action=missing_data_action,
179
+ tags=tags,
180
+ )
181
+
182
+ jsii.create(self.__class__, self, [scope, id, props])
183
+
184
+ @jsii.member(jsii_name="inspect")
185
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
186
+ '''Examines the CloudFormation resource and discloses attributes.
187
+
188
+ :param inspector: tree inspector to collect and process attributes.
189
+ '''
190
+ if __debug__:
191
+ type_hints = typing.get_type_hints(_typecheckingstub__36a9fa3c67c466703717001e2774dacca3fa612b6ec02f8b6361ad6736da0ec7)
192
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
193
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
194
+
195
+ @jsii.member(jsii_name="renderProperties")
196
+ def _render_properties(
197
+ self,
198
+ props: typing.Mapping[builtins.str, typing.Any],
199
+ ) -> typing.Mapping[builtins.str, typing.Any]:
200
+ '''
201
+ :param props: -
202
+ '''
203
+ if __debug__:
204
+ type_hints = typing.get_type_hints(_typecheckingstub__1edc3473fdf33536207faf87047c2bef23ac4e4aecad53d1e0338308f0e5ab91)
205
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
206
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
207
+
208
+ @jsii.python.classproperty
209
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
210
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
211
+ '''The CloudFormation resource type name for this resource class.'''
212
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
213
+
214
+ @builtins.property
215
+ @jsii.member(jsii_name="anomalyDetectorRef")
216
+ def anomaly_detector_ref(self) -> _AnomalyDetectorReference_1ffc0c63:
217
+ '''A reference to a AnomalyDetector resource.'''
218
+ return typing.cast(_AnomalyDetectorReference_1ffc0c63, jsii.get(self, "anomalyDetectorRef"))
219
+
220
+ @builtins.property
221
+ @jsii.member(jsii_name="attrArn")
222
+ def attr_arn(self) -> builtins.str:
223
+ '''The Amazon Resource Name (ARN) of the anomaly detector.
224
+
225
+ :cloudformationAttribute: Arn
226
+ '''
227
+ return typing.cast(builtins.str, jsii.get(self, "attrArn"))
228
+
229
+ @builtins.property
230
+ @jsii.member(jsii_name="cdkTagManager")
231
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
232
+ '''Tag Manager which manages the tags for this resource.'''
233
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
234
+
235
+ @builtins.property
236
+ @jsii.member(jsii_name="cfnProperties")
237
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
238
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
239
+
240
+ @builtins.property
241
+ @jsii.member(jsii_name="alias")
242
+ def alias(self) -> builtins.str:
243
+ '''The user-friendly name of the anomaly detector.'''
244
+ return typing.cast(builtins.str, jsii.get(self, "alias"))
245
+
246
+ @alias.setter
247
+ def alias(self, value: builtins.str) -> None:
248
+ if __debug__:
249
+ type_hints = typing.get_type_hints(_typecheckingstub__fe3aa1b72ccc7677675b2ae76ae8e5e1dfd2146dae8eba7520a981184cdf780d)
250
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
251
+ jsii.set(self, "alias", value) # pyright: ignore[reportArgumentType]
252
+
253
+ @builtins.property
254
+ @jsii.member(jsii_name="configuration")
255
+ def configuration(
256
+ self,
257
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnAnomalyDetector.AnomalyDetectorConfigurationProperty"]:
258
+ '''The algorithm configuration of the anomaly detector.'''
259
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnAnomalyDetector.AnomalyDetectorConfigurationProperty"], jsii.get(self, "configuration"))
260
+
261
+ @configuration.setter
262
+ def configuration(
263
+ self,
264
+ value: typing.Union[_IResolvable_da3f097b, "CfnAnomalyDetector.AnomalyDetectorConfigurationProperty"],
265
+ ) -> None:
266
+ if __debug__:
267
+ type_hints = typing.get_type_hints(_typecheckingstub__1394fe6b497d7add7f3c437f746b83234bfd1714418b007d2ca77fcaf2e486fa)
268
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
269
+ jsii.set(self, "configuration", value) # pyright: ignore[reportArgumentType]
270
+
271
+ @builtins.property
272
+ @jsii.member(jsii_name="workspace")
273
+ def workspace(self) -> builtins.str:
274
+ '''An Amazon Managed Service for Prometheus workspace is a logical and isolated Prometheus server dedicated to ingesting, storing, and querying your Prometheus-compatible metrics.'''
275
+ return typing.cast(builtins.str, jsii.get(self, "workspace"))
276
+
277
+ @workspace.setter
278
+ def workspace(self, value: builtins.str) -> None:
279
+ if __debug__:
280
+ type_hints = typing.get_type_hints(_typecheckingstub__51d01d3c64410491a2005087b379e01fe1749ffd4be8e8dae194b7cc8e5e19b8)
281
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
282
+ jsii.set(self, "workspace", value) # pyright: ignore[reportArgumentType]
283
+
284
+ @builtins.property
285
+ @jsii.member(jsii_name="evaluationIntervalInSeconds")
286
+ def evaluation_interval_in_seconds(self) -> typing.Optional[jsii.Number]:
287
+ '''The frequency, in seconds, at which the anomaly detector evaluates metrics.'''
288
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "evaluationIntervalInSeconds"))
289
+
290
+ @evaluation_interval_in_seconds.setter
291
+ def evaluation_interval_in_seconds(
292
+ self,
293
+ value: typing.Optional[jsii.Number],
294
+ ) -> None:
295
+ if __debug__:
296
+ type_hints = typing.get_type_hints(_typecheckingstub__ce3cb5189478c72429dee4d6fa1ed9635e537559491f15b775c279a89020cb75)
297
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
298
+ jsii.set(self, "evaluationIntervalInSeconds", value) # pyright: ignore[reportArgumentType]
299
+
300
+ @builtins.property
301
+ @jsii.member(jsii_name="labels")
302
+ def labels(
303
+ self,
304
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAnomalyDetector.LabelProperty"]]]]:
305
+ '''The Amazon Managed Service for Prometheus metric labels associated with the anomaly detector.'''
306
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAnomalyDetector.LabelProperty"]]]], jsii.get(self, "labels"))
307
+
308
+ @labels.setter
309
+ def labels(
310
+ self,
311
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAnomalyDetector.LabelProperty"]]]],
312
+ ) -> None:
313
+ if __debug__:
314
+ type_hints = typing.get_type_hints(_typecheckingstub__0d15555eb30ee6b4decc1dba71c708714ce1a7f00e658c2ce9c617f35dbea119)
315
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
316
+ jsii.set(self, "labels", value) # pyright: ignore[reportArgumentType]
317
+
318
+ @builtins.property
319
+ @jsii.member(jsii_name="missingDataAction")
320
+ def missing_data_action(
321
+ self,
322
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAnomalyDetector.MissingDataActionProperty"]]:
323
+ '''The action taken when data is missing during evaluation.'''
324
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAnomalyDetector.MissingDataActionProperty"]], jsii.get(self, "missingDataAction"))
325
+
326
+ @missing_data_action.setter
327
+ def missing_data_action(
328
+ self,
329
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAnomalyDetector.MissingDataActionProperty"]],
330
+ ) -> None:
331
+ if __debug__:
332
+ type_hints = typing.get_type_hints(_typecheckingstub__e639ced06e0101ba2e1108f2a5748e988f60e8c6ecadbb32ca0f2dc6162a53e8)
333
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
334
+ jsii.set(self, "missingDataAction", value) # pyright: ignore[reportArgumentType]
335
+
336
+ @builtins.property
337
+ @jsii.member(jsii_name="tags")
338
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
339
+ '''The tags applied to the anomaly detector.'''
340
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
341
+
342
+ @tags.setter
343
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
344
+ if __debug__:
345
+ type_hints = typing.get_type_hints(_typecheckingstub__dc8b42c0f027d8c1c104a6037d9c3752efbfb2ae169c30d63f35dee5bad63b3f)
346
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
347
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
348
+
349
+ @jsii.data_type(
350
+ jsii_type="aws-cdk-lib.aws_aps.CfnAnomalyDetector.AnomalyDetectorConfigurationProperty",
351
+ jsii_struct_bases=[],
352
+ name_mapping={"random_cut_forest": "randomCutForest"},
353
+ )
354
+ class AnomalyDetectorConfigurationProperty:
355
+ def __init__(
356
+ self,
357
+ *,
358
+ random_cut_forest: typing.Union[_IResolvable_da3f097b, typing.Union["CfnAnomalyDetector.RandomCutForestConfigurationProperty", typing.Dict[builtins.str, typing.Any]]],
359
+ ) -> None:
360
+ '''The configuration for the anomaly detection algorithm.
361
+
362
+ :param random_cut_forest: The Random Cut Forest algorithm configuration for anomaly detection.
363
+
364
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-anomalydetectorconfiguration.html
365
+ :exampleMetadata: fixture=_generated
366
+
367
+ Example::
368
+
369
+ # The code below shows an example of how to instantiate this type.
370
+ # The values are placeholders you should change.
371
+ from aws_cdk import aws_aps as aps
372
+
373
+ anomaly_detector_configuration_property = aps.CfnAnomalyDetector.AnomalyDetectorConfigurationProperty(
374
+ random_cut_forest=aps.CfnAnomalyDetector.RandomCutForestConfigurationProperty(
375
+ query="query",
376
+
377
+ # the properties below are optional
378
+ ignore_near_expected_from_above=aps.CfnAnomalyDetector.IgnoreNearExpectedProperty(
379
+ amount=123,
380
+ ratio=123
381
+ ),
382
+ ignore_near_expected_from_below=aps.CfnAnomalyDetector.IgnoreNearExpectedProperty(
383
+ amount=123,
384
+ ratio=123
385
+ ),
386
+ sample_size=123,
387
+ shingle_size=123
388
+ )
389
+ )
390
+ '''
391
+ if __debug__:
392
+ type_hints = typing.get_type_hints(_typecheckingstub__aca672630a5e19c23bb68b82c63c873a7687610464d166cef0da5d6cde142082)
393
+ check_type(argname="argument random_cut_forest", value=random_cut_forest, expected_type=type_hints["random_cut_forest"])
394
+ self._values: typing.Dict[builtins.str, typing.Any] = {
395
+ "random_cut_forest": random_cut_forest,
396
+ }
397
+
398
+ @builtins.property
399
+ def random_cut_forest(
400
+ self,
401
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnAnomalyDetector.RandomCutForestConfigurationProperty"]:
402
+ '''The Random Cut Forest algorithm configuration for anomaly detection.
403
+
404
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-anomalydetectorconfiguration.html#cfn-aps-anomalydetector-anomalydetectorconfiguration-randomcutforest
405
+ '''
406
+ result = self._values.get("random_cut_forest")
407
+ assert result is not None, "Required property 'random_cut_forest' is missing"
408
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnAnomalyDetector.RandomCutForestConfigurationProperty"], result)
409
+
410
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
411
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
412
+
413
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
414
+ return not (rhs == self)
415
+
416
+ def __repr__(self) -> str:
417
+ return "AnomalyDetectorConfigurationProperty(%s)" % ", ".join(
418
+ k + "=" + repr(v) for k, v in self._values.items()
419
+ )
420
+
421
+ @jsii.data_type(
422
+ jsii_type="aws-cdk-lib.aws_aps.CfnAnomalyDetector.IgnoreNearExpectedProperty",
423
+ jsii_struct_bases=[],
424
+ name_mapping={"amount": "amount", "ratio": "ratio"},
425
+ )
426
+ class IgnoreNearExpectedProperty:
427
+ def __init__(
428
+ self,
429
+ *,
430
+ amount: typing.Optional[jsii.Number] = None,
431
+ ratio: typing.Optional[jsii.Number] = None,
432
+ ) -> None:
433
+ '''Configuration for threshold settings that determine when values near expected values should be ignored during anomaly detection.
434
+
435
+ :param amount: The absolute amount by which values can differ from expected values before being considered anomalous.
436
+ :param ratio: The ratio by which values can differ from expected values before being considered anomalous.
437
+
438
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-ignorenearexpected.html
439
+ :exampleMetadata: fixture=_generated
440
+
441
+ Example::
442
+
443
+ # The code below shows an example of how to instantiate this type.
444
+ # The values are placeholders you should change.
445
+ from aws_cdk import aws_aps as aps
446
+
447
+ ignore_near_expected_property = aps.CfnAnomalyDetector.IgnoreNearExpectedProperty(
448
+ amount=123,
449
+ ratio=123
450
+ )
451
+ '''
452
+ if __debug__:
453
+ type_hints = typing.get_type_hints(_typecheckingstub__e3e1cf276ea5a24efc7ebe9d526fad4e86dd66a3f55ea5a0dcb3a617b8d62dff)
454
+ check_type(argname="argument amount", value=amount, expected_type=type_hints["amount"])
455
+ check_type(argname="argument ratio", value=ratio, expected_type=type_hints["ratio"])
456
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
457
+ if amount is not None:
458
+ self._values["amount"] = amount
459
+ if ratio is not None:
460
+ self._values["ratio"] = ratio
461
+
462
+ @builtins.property
463
+ def amount(self) -> typing.Optional[jsii.Number]:
464
+ '''The absolute amount by which values can differ from expected values before being considered anomalous.
465
+
466
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-ignorenearexpected.html#cfn-aps-anomalydetector-ignorenearexpected-amount
467
+ '''
468
+ result = self._values.get("amount")
469
+ return typing.cast(typing.Optional[jsii.Number], result)
470
+
471
+ @builtins.property
472
+ def ratio(self) -> typing.Optional[jsii.Number]:
473
+ '''The ratio by which values can differ from expected values before being considered anomalous.
474
+
475
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-ignorenearexpected.html#cfn-aps-anomalydetector-ignorenearexpected-ratio
476
+ '''
477
+ result = self._values.get("ratio")
478
+ return typing.cast(typing.Optional[jsii.Number], result)
479
+
480
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
481
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
482
+
483
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
484
+ return not (rhs == self)
485
+
486
+ def __repr__(self) -> str:
487
+ return "IgnoreNearExpectedProperty(%s)" % ", ".join(
488
+ k + "=" + repr(v) for k, v in self._values.items()
489
+ )
490
+
491
+ @jsii.data_type(
492
+ jsii_type="aws-cdk-lib.aws_aps.CfnAnomalyDetector.LabelProperty",
493
+ jsii_struct_bases=[],
494
+ name_mapping={"key": "key", "value": "value"},
495
+ )
496
+ class LabelProperty:
497
+ def __init__(self, *, key: builtins.str, value: builtins.str) -> None:
498
+ '''The Amazon Managed Service for Prometheus metric labels associated with the anomaly detector.
499
+
500
+ :param key: The key of the label.
501
+ :param value: The value for this label.
502
+
503
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-label.html
504
+ :exampleMetadata: fixture=_generated
505
+
506
+ Example::
507
+
508
+ # The code below shows an example of how to instantiate this type.
509
+ # The values are placeholders you should change.
510
+ from aws_cdk import aws_aps as aps
511
+
512
+ label_property = aps.CfnAnomalyDetector.LabelProperty(
513
+ key="key",
514
+ value="value"
515
+ )
516
+ '''
517
+ if __debug__:
518
+ type_hints = typing.get_type_hints(_typecheckingstub__3f784d604d60c49dd5fb567dcfedcd9d16e2ce47ba899589a373c9322818035a)
519
+ check_type(argname="argument key", value=key, expected_type=type_hints["key"])
520
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
521
+ self._values: typing.Dict[builtins.str, typing.Any] = {
522
+ "key": key,
523
+ "value": value,
524
+ }
525
+
526
+ @builtins.property
527
+ def key(self) -> builtins.str:
528
+ '''The key of the label.
529
+
530
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-label.html#cfn-aps-anomalydetector-label-key
531
+ '''
532
+ result = self._values.get("key")
533
+ assert result is not None, "Required property 'key' is missing"
534
+ return typing.cast(builtins.str, result)
535
+
536
+ @builtins.property
537
+ def value(self) -> builtins.str:
538
+ '''The value for this label.
539
+
540
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-label.html#cfn-aps-anomalydetector-label-value
541
+ '''
542
+ result = self._values.get("value")
543
+ assert result is not None, "Required property 'value' is missing"
544
+ return typing.cast(builtins.str, result)
545
+
546
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
547
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
548
+
549
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
550
+ return not (rhs == self)
551
+
552
+ def __repr__(self) -> str:
553
+ return "LabelProperty(%s)" % ", ".join(
554
+ k + "=" + repr(v) for k, v in self._values.items()
555
+ )
556
+
557
+ @jsii.data_type(
558
+ jsii_type="aws-cdk-lib.aws_aps.CfnAnomalyDetector.MissingDataActionProperty",
559
+ jsii_struct_bases=[],
560
+ name_mapping={"mark_as_anomaly": "markAsAnomaly", "skip": "skip"},
561
+ )
562
+ class MissingDataActionProperty:
563
+ def __init__(
564
+ self,
565
+ *,
566
+ mark_as_anomaly: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
567
+ skip: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
568
+ ) -> None:
569
+ '''Specifies the action to take when data is missing during anomaly detection evaluation.
570
+
571
+ :param mark_as_anomaly: Marks missing data points as anomalies.
572
+ :param skip: Skips evaluation when data is missing.
573
+
574
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-missingdataaction.html
575
+ :exampleMetadata: fixture=_generated
576
+
577
+ Example::
578
+
579
+ # The code below shows an example of how to instantiate this type.
580
+ # The values are placeholders you should change.
581
+ from aws_cdk import aws_aps as aps
582
+
583
+ missing_data_action_property = aps.CfnAnomalyDetector.MissingDataActionProperty(
584
+ mark_as_anomaly=False,
585
+ skip=False
586
+ )
587
+ '''
588
+ if __debug__:
589
+ type_hints = typing.get_type_hints(_typecheckingstub__e5b8457b72ba87aa14000e26b68e021fa4b19e4e88f3a022910dcd18542039d0)
590
+ check_type(argname="argument mark_as_anomaly", value=mark_as_anomaly, expected_type=type_hints["mark_as_anomaly"])
591
+ check_type(argname="argument skip", value=skip, expected_type=type_hints["skip"])
592
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
593
+ if mark_as_anomaly is not None:
594
+ self._values["mark_as_anomaly"] = mark_as_anomaly
595
+ if skip is not None:
596
+ self._values["skip"] = skip
597
+
598
+ @builtins.property
599
+ def mark_as_anomaly(
600
+ self,
601
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
602
+ '''Marks missing data points as anomalies.
603
+
604
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-missingdataaction.html#cfn-aps-anomalydetector-missingdataaction-markasanomaly
605
+ '''
606
+ result = self._values.get("mark_as_anomaly")
607
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
608
+
609
+ @builtins.property
610
+ def skip(
611
+ self,
612
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
613
+ '''Skips evaluation when data is missing.
614
+
615
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-missingdataaction.html#cfn-aps-anomalydetector-missingdataaction-skip
616
+ '''
617
+ result = self._values.get("skip")
618
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
619
+
620
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
621
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
622
+
623
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
624
+ return not (rhs == self)
625
+
626
+ def __repr__(self) -> str:
627
+ return "MissingDataActionProperty(%s)" % ", ".join(
628
+ k + "=" + repr(v) for k, v in self._values.items()
629
+ )
630
+
631
+ @jsii.data_type(
632
+ jsii_type="aws-cdk-lib.aws_aps.CfnAnomalyDetector.RandomCutForestConfigurationProperty",
633
+ jsii_struct_bases=[],
634
+ name_mapping={
635
+ "query": "query",
636
+ "ignore_near_expected_from_above": "ignoreNearExpectedFromAbove",
637
+ "ignore_near_expected_from_below": "ignoreNearExpectedFromBelow",
638
+ "sample_size": "sampleSize",
639
+ "shingle_size": "shingleSize",
640
+ },
641
+ )
642
+ class RandomCutForestConfigurationProperty:
643
+ def __init__(
644
+ self,
645
+ *,
646
+ query: builtins.str,
647
+ ignore_near_expected_from_above: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAnomalyDetector.IgnoreNearExpectedProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
648
+ ignore_near_expected_from_below: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAnomalyDetector.IgnoreNearExpectedProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
649
+ sample_size: typing.Optional[jsii.Number] = None,
650
+ shingle_size: typing.Optional[jsii.Number] = None,
651
+ ) -> None:
652
+ '''Configuration for the Random Cut Forest algorithm used for anomaly detection in time-series data.
653
+
654
+ :param query: The Prometheus query used to retrieve the time-series data for anomaly detection. .. epigraph:: Random Cut Forest queries must be wrapped by a supported PromQL aggregation operator. For more information, see `Aggregation operators <https://docs.aws.amazon.com/https://prometheus.io/docs/prometheus/latest/querying/operators/#aggregation-operators>`_ on the *Prometheus docs* website. *Supported PromQL aggregation operators* : ``avg`` , ``count`` , ``group`` , ``max`` , ``min`` , ``quantile`` , ``stddev`` , ``stdvar`` , and ``sum`` .
655
+ :param ignore_near_expected_from_above: Configuration for ignoring values that are near expected values from above during anomaly detection.
656
+ :param ignore_near_expected_from_below: Configuration for ignoring values that are near expected values from below during anomaly detection.
657
+ :param sample_size: The number of data points sampled from the input stream for the Random Cut Forest algorithm. The default number is 256 consecutive data points. Default: - 256
658
+ :param shingle_size: The number of consecutive data points used to create a shingle for the Random Cut Forest algorithm. The default number is 8 consecutive data points. Default: - 8
659
+
660
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-randomcutforestconfiguration.html
661
+ :exampleMetadata: fixture=_generated
662
+
663
+ Example::
664
+
665
+ # The code below shows an example of how to instantiate this type.
666
+ # The values are placeholders you should change.
667
+ from aws_cdk import aws_aps as aps
668
+
669
+ random_cut_forest_configuration_property = aps.CfnAnomalyDetector.RandomCutForestConfigurationProperty(
670
+ query="query",
671
+
672
+ # the properties below are optional
673
+ ignore_near_expected_from_above=aps.CfnAnomalyDetector.IgnoreNearExpectedProperty(
674
+ amount=123,
675
+ ratio=123
676
+ ),
677
+ ignore_near_expected_from_below=aps.CfnAnomalyDetector.IgnoreNearExpectedProperty(
678
+ amount=123,
679
+ ratio=123
680
+ ),
681
+ sample_size=123,
682
+ shingle_size=123
683
+ )
684
+ '''
685
+ if __debug__:
686
+ type_hints = typing.get_type_hints(_typecheckingstub__83993f42a131a948093792cb8cd7b4f710c6b4dffce6b17f386497f1cbe514ea)
687
+ check_type(argname="argument query", value=query, expected_type=type_hints["query"])
688
+ check_type(argname="argument ignore_near_expected_from_above", value=ignore_near_expected_from_above, expected_type=type_hints["ignore_near_expected_from_above"])
689
+ check_type(argname="argument ignore_near_expected_from_below", value=ignore_near_expected_from_below, expected_type=type_hints["ignore_near_expected_from_below"])
690
+ check_type(argname="argument sample_size", value=sample_size, expected_type=type_hints["sample_size"])
691
+ check_type(argname="argument shingle_size", value=shingle_size, expected_type=type_hints["shingle_size"])
692
+ self._values: typing.Dict[builtins.str, typing.Any] = {
693
+ "query": query,
694
+ }
695
+ if ignore_near_expected_from_above is not None:
696
+ self._values["ignore_near_expected_from_above"] = ignore_near_expected_from_above
697
+ if ignore_near_expected_from_below is not None:
698
+ self._values["ignore_near_expected_from_below"] = ignore_near_expected_from_below
699
+ if sample_size is not None:
700
+ self._values["sample_size"] = sample_size
701
+ if shingle_size is not None:
702
+ self._values["shingle_size"] = shingle_size
703
+
704
+ @builtins.property
705
+ def query(self) -> builtins.str:
706
+ '''The Prometheus query used to retrieve the time-series data for anomaly detection.
707
+
708
+ .. epigraph::
709
+
710
+ Random Cut Forest queries must be wrapped by a supported PromQL aggregation operator. For more information, see `Aggregation operators <https://docs.aws.amazon.com/https://prometheus.io/docs/prometheus/latest/querying/operators/#aggregation-operators>`_ on the *Prometheus docs* website.
711
+
712
+ *Supported PromQL aggregation operators* : ``avg`` , ``count`` , ``group`` , ``max`` , ``min`` , ``quantile`` , ``stddev`` , ``stdvar`` , and ``sum`` .
713
+
714
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-randomcutforestconfiguration.html#cfn-aps-anomalydetector-randomcutforestconfiguration-query
715
+ '''
716
+ result = self._values.get("query")
717
+ assert result is not None, "Required property 'query' is missing"
718
+ return typing.cast(builtins.str, result)
719
+
720
+ @builtins.property
721
+ def ignore_near_expected_from_above(
722
+ self,
723
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAnomalyDetector.IgnoreNearExpectedProperty"]]:
724
+ '''Configuration for ignoring values that are near expected values from above during anomaly detection.
725
+
726
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-randomcutforestconfiguration.html#cfn-aps-anomalydetector-randomcutforestconfiguration-ignorenearexpectedfromabove
727
+ '''
728
+ result = self._values.get("ignore_near_expected_from_above")
729
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAnomalyDetector.IgnoreNearExpectedProperty"]], result)
730
+
731
+ @builtins.property
732
+ def ignore_near_expected_from_below(
733
+ self,
734
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAnomalyDetector.IgnoreNearExpectedProperty"]]:
735
+ '''Configuration for ignoring values that are near expected values from below during anomaly detection.
736
+
737
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-randomcutforestconfiguration.html#cfn-aps-anomalydetector-randomcutforestconfiguration-ignorenearexpectedfrombelow
738
+ '''
739
+ result = self._values.get("ignore_near_expected_from_below")
740
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAnomalyDetector.IgnoreNearExpectedProperty"]], result)
741
+
742
+ @builtins.property
743
+ def sample_size(self) -> typing.Optional[jsii.Number]:
744
+ '''The number of data points sampled from the input stream for the Random Cut Forest algorithm.
745
+
746
+ The default number is 256 consecutive data points.
747
+
748
+ :default: - 256
749
+
750
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-randomcutforestconfiguration.html#cfn-aps-anomalydetector-randomcutforestconfiguration-samplesize
751
+ '''
752
+ result = self._values.get("sample_size")
753
+ return typing.cast(typing.Optional[jsii.Number], result)
754
+
755
+ @builtins.property
756
+ def shingle_size(self) -> typing.Optional[jsii.Number]:
757
+ '''The number of consecutive data points used to create a shingle for the Random Cut Forest algorithm.
758
+
759
+ The default number is 8 consecutive data points.
760
+
761
+ :default: - 8
762
+
763
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-randomcutforestconfiguration.html#cfn-aps-anomalydetector-randomcutforestconfiguration-shinglesize
764
+ '''
765
+ result = self._values.get("shingle_size")
766
+ return typing.cast(typing.Optional[jsii.Number], result)
767
+
768
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
769
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
770
+
771
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
772
+ return not (rhs == self)
773
+
774
+ def __repr__(self) -> str:
775
+ return "RandomCutForestConfigurationProperty(%s)" % ", ".join(
776
+ k + "=" + repr(v) for k, v in self._values.items()
777
+ )
778
+
779
+
780
+ @jsii.data_type(
781
+ jsii_type="aws-cdk-lib.aws_aps.CfnAnomalyDetectorProps",
782
+ jsii_struct_bases=[],
783
+ name_mapping={
784
+ "alias": "alias",
785
+ "configuration": "configuration",
786
+ "workspace": "workspace",
787
+ "evaluation_interval_in_seconds": "evaluationIntervalInSeconds",
788
+ "labels": "labels",
789
+ "missing_data_action": "missingDataAction",
790
+ "tags": "tags",
791
+ },
792
+ )
793
+ class CfnAnomalyDetectorProps:
794
+ def __init__(
795
+ self,
796
+ *,
797
+ alias: builtins.str,
798
+ configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnAnomalyDetector.AnomalyDetectorConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
799
+ workspace: builtins.str,
800
+ evaluation_interval_in_seconds: typing.Optional[jsii.Number] = None,
801
+ labels: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAnomalyDetector.LabelProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
802
+ missing_data_action: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAnomalyDetector.MissingDataActionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
803
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
804
+ ) -> None:
805
+ '''Properties for defining a ``CfnAnomalyDetector``.
806
+
807
+ :param alias: The user-friendly name of the anomaly detector.
808
+ :param configuration: The algorithm configuration of the anomaly detector.
809
+ :param workspace: An Amazon Managed Service for Prometheus workspace is a logical and isolated Prometheus server dedicated to ingesting, storing, and querying your Prometheus-compatible metrics.
810
+ :param evaluation_interval_in_seconds: The frequency, in seconds, at which the anomaly detector evaluates metrics. Default: - 60
811
+ :param labels: The Amazon Managed Service for Prometheus metric labels associated with the anomaly detector.
812
+ :param missing_data_action: The action taken when data is missing during evaluation.
813
+ :param tags: The tags applied to the anomaly detector.
814
+
815
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-anomalydetector.html
816
+ :exampleMetadata: fixture=_generated
817
+
818
+ Example::
819
+
820
+ # The code below shows an example of how to instantiate this type.
821
+ # The values are placeholders you should change.
822
+ from aws_cdk import aws_aps as aps
823
+
824
+ cfn_anomaly_detector_props = aps.CfnAnomalyDetectorProps(
825
+ alias="alias",
826
+ configuration=aps.CfnAnomalyDetector.AnomalyDetectorConfigurationProperty(
827
+ random_cut_forest=aps.CfnAnomalyDetector.RandomCutForestConfigurationProperty(
828
+ query="query",
829
+
830
+ # the properties below are optional
831
+ ignore_near_expected_from_above=aps.CfnAnomalyDetector.IgnoreNearExpectedProperty(
832
+ amount=123,
833
+ ratio=123
834
+ ),
835
+ ignore_near_expected_from_below=aps.CfnAnomalyDetector.IgnoreNearExpectedProperty(
836
+ amount=123,
837
+ ratio=123
838
+ ),
839
+ sample_size=123,
840
+ shingle_size=123
841
+ )
842
+ ),
843
+ workspace="workspace",
844
+
845
+ # the properties below are optional
846
+ evaluation_interval_in_seconds=123,
847
+ labels=[aps.CfnAnomalyDetector.LabelProperty(
848
+ key="key",
849
+ value="value"
850
+ )],
851
+ missing_data_action=aps.CfnAnomalyDetector.MissingDataActionProperty(
852
+ mark_as_anomaly=False,
853
+ skip=False
854
+ ),
855
+ tags=[CfnTag(
856
+ key="key",
857
+ value="value"
858
+ )]
859
+ )
860
+ '''
861
+ if __debug__:
862
+ type_hints = typing.get_type_hints(_typecheckingstub__be017a909bcb870b1880c9bb2c099abc51df504e0f9199ca315deb7fa50b9d6b)
863
+ check_type(argname="argument alias", value=alias, expected_type=type_hints["alias"])
864
+ check_type(argname="argument configuration", value=configuration, expected_type=type_hints["configuration"])
865
+ check_type(argname="argument workspace", value=workspace, expected_type=type_hints["workspace"])
866
+ check_type(argname="argument evaluation_interval_in_seconds", value=evaluation_interval_in_seconds, expected_type=type_hints["evaluation_interval_in_seconds"])
867
+ check_type(argname="argument labels", value=labels, expected_type=type_hints["labels"])
868
+ check_type(argname="argument missing_data_action", value=missing_data_action, expected_type=type_hints["missing_data_action"])
869
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
870
+ self._values: typing.Dict[builtins.str, typing.Any] = {
871
+ "alias": alias,
872
+ "configuration": configuration,
873
+ "workspace": workspace,
874
+ }
875
+ if evaluation_interval_in_seconds is not None:
876
+ self._values["evaluation_interval_in_seconds"] = evaluation_interval_in_seconds
877
+ if labels is not None:
878
+ self._values["labels"] = labels
879
+ if missing_data_action is not None:
880
+ self._values["missing_data_action"] = missing_data_action
881
+ if tags is not None:
882
+ self._values["tags"] = tags
883
+
884
+ @builtins.property
885
+ def alias(self) -> builtins.str:
886
+ '''The user-friendly name of the anomaly detector.
887
+
888
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-anomalydetector.html#cfn-aps-anomalydetector-alias
889
+ '''
890
+ result = self._values.get("alias")
891
+ assert result is not None, "Required property 'alias' is missing"
892
+ return typing.cast(builtins.str, result)
893
+
894
+ @builtins.property
895
+ def configuration(
896
+ self,
897
+ ) -> typing.Union[_IResolvable_da3f097b, CfnAnomalyDetector.AnomalyDetectorConfigurationProperty]:
898
+ '''The algorithm configuration of the anomaly detector.
899
+
900
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-anomalydetector.html#cfn-aps-anomalydetector-configuration
901
+ '''
902
+ result = self._values.get("configuration")
903
+ assert result is not None, "Required property 'configuration' is missing"
904
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnAnomalyDetector.AnomalyDetectorConfigurationProperty], result)
905
+
906
+ @builtins.property
907
+ def workspace(self) -> builtins.str:
908
+ '''An Amazon Managed Service for Prometheus workspace is a logical and isolated Prometheus server dedicated to ingesting, storing, and querying your Prometheus-compatible metrics.
909
+
910
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-anomalydetector.html#cfn-aps-anomalydetector-workspace
911
+ '''
912
+ result = self._values.get("workspace")
913
+ assert result is not None, "Required property 'workspace' is missing"
914
+ return typing.cast(builtins.str, result)
915
+
916
+ @builtins.property
917
+ def evaluation_interval_in_seconds(self) -> typing.Optional[jsii.Number]:
918
+ '''The frequency, in seconds, at which the anomaly detector evaluates metrics.
919
+
920
+ :default: - 60
921
+
922
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-anomalydetector.html#cfn-aps-anomalydetector-evaluationintervalinseconds
923
+ '''
924
+ result = self._values.get("evaluation_interval_in_seconds")
925
+ return typing.cast(typing.Optional[jsii.Number], result)
926
+
927
+ @builtins.property
928
+ def labels(
929
+ self,
930
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnAnomalyDetector.LabelProperty]]]]:
931
+ '''The Amazon Managed Service for Prometheus metric labels associated with the anomaly detector.
932
+
933
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-anomalydetector.html#cfn-aps-anomalydetector-labels
934
+ '''
935
+ result = self._values.get("labels")
936
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnAnomalyDetector.LabelProperty]]]], result)
937
+
938
+ @builtins.property
939
+ def missing_data_action(
940
+ self,
941
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAnomalyDetector.MissingDataActionProperty]]:
942
+ '''The action taken when data is missing during evaluation.
943
+
944
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-anomalydetector.html#cfn-aps-anomalydetector-missingdataaction
945
+ '''
946
+ result = self._values.get("missing_data_action")
947
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAnomalyDetector.MissingDataActionProperty]], result)
948
+
949
+ @builtins.property
950
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
951
+ '''The tags applied to the anomaly detector.
952
+
953
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-anomalydetector.html#cfn-aps-anomalydetector-tags
954
+ '''
955
+ result = self._values.get("tags")
956
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
957
+
958
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
959
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
960
+
961
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
962
+ return not (rhs == self)
963
+
964
+ def __repr__(self) -> str:
965
+ return "CfnAnomalyDetectorProps(%s)" % ", ".join(
966
+ k + "=" + repr(v) for k, v in self._values.items()
967
+ )
968
+
969
+
970
+ @jsii.implements(_IInspectable_c2943556, _IResourcePolicyRef_1aa7c1a2)
971
+ class CfnResourcePolicy(
972
+ _CfnResource_9df397a6,
973
+ metaclass=jsii.JSIIMeta,
974
+ jsii_type="aws-cdk-lib.aws_aps.CfnResourcePolicy",
975
+ ):
976
+ '''Use resource-based policies to grant permissions to other AWS accounts or services to access your workspace.
977
+
978
+ Only Prometheus-compatible APIs can be used for workspace sharing. You can add non-Prometheus-compatible APIs to the policy, but they will be ignored. For more information, see `Prometheus-compatible APIs <https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-APIReference-Prometheus-Compatible-Apis.html>`_ in the *Amazon Managed Service for Prometheus User Guide* .
979
+
980
+ If your workspace uses customer-managed AWS KMS keys for encryption, you must grant the principals in your resource-based policy access to those AWS KMS keys. You can do this by creating AWS KMS grants. For more information, see `CreateGrant <https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html>`_ in the *AWS KMS API Reference* and `Encryption at rest <https://docs.aws.amazon.com/prometheus/latest/userguide/encryption-at-rest-Amazon-Service-Prometheus.html>`_ in the *Amazon Managed Service for Prometheus User Guide* .
981
+
982
+ For more information about working with IAM , see `Using Amazon Managed Service for Prometheus with IAM <https://docs.aws.amazon.com/prometheus/latest/userguide/security_iam_service-with-iam.html>`_ in the *Amazon Managed Service for Prometheus User Guide* .
983
+
984
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-resourcepolicy.html
985
+ :cloudformationResource: AWS::APS::ResourcePolicy
986
+ :exampleMetadata: fixture=_generated
987
+
988
+ Example::
989
+
990
+ # The code below shows an example of how to instantiate this type.
991
+ # The values are placeholders you should change.
992
+ from aws_cdk import aws_aps as aps
993
+
994
+ cfn_resource_policy = aps.CfnResourcePolicy(self, "MyCfnResourcePolicy",
995
+ policy_document="policyDocument",
996
+ workspace_arn="workspaceArn"
997
+ )
998
+ '''
999
+
1000
+ def __init__(
1001
+ self,
1002
+ scope: _constructs_77d1e7e8.Construct,
1003
+ id: builtins.str,
1004
+ *,
1005
+ policy_document: builtins.str,
1006
+ workspace_arn: builtins.str,
1007
+ ) -> None:
1008
+ '''Create a new ``AWS::APS::ResourcePolicy``.
1009
+
1010
+ :param scope: Scope in which this resource is defined.
1011
+ :param id: Construct identifier for this resource (unique in its scope).
1012
+ :param policy_document: The JSON to use as the Resource-based Policy.
1013
+ :param workspace_arn: An ARN identifying a Workspace.
1014
+ '''
1015
+ if __debug__:
1016
+ type_hints = typing.get_type_hints(_typecheckingstub__54f89d9ee1d6d400f40f83801fe40dee056ce969e9e0501ca1390285aab7cb82)
1017
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1018
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1019
+ props = CfnResourcePolicyProps(
1020
+ policy_document=policy_document, workspace_arn=workspace_arn
1021
+ )
1022
+
1023
+ jsii.create(self.__class__, self, [scope, id, props])
1024
+
1025
+ @jsii.member(jsii_name="inspect")
1026
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
1027
+ '''Examines the CloudFormation resource and discloses attributes.
1028
+
1029
+ :param inspector: tree inspector to collect and process attributes.
1030
+ '''
1031
+ if __debug__:
1032
+ type_hints = typing.get_type_hints(_typecheckingstub__7fd684bb5425ae9b9586530c2118e55043226673b8740171d3f7c2b1fbd03b3d)
1033
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
1034
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
1035
+
1036
+ @jsii.member(jsii_name="renderProperties")
1037
+ def _render_properties(
1038
+ self,
1039
+ props: typing.Mapping[builtins.str, typing.Any],
1040
+ ) -> typing.Mapping[builtins.str, typing.Any]:
1041
+ '''
1042
+ :param props: -
1043
+ '''
1044
+ if __debug__:
1045
+ type_hints = typing.get_type_hints(_typecheckingstub__96c6a584b0420e6cc37e76ad4b000bc6d8f4137f577bf7075b4ec87bab8717d9)
1046
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
1047
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
1048
+
1049
+ @jsii.python.classproperty
1050
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
1051
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
1052
+ '''The CloudFormation resource type name for this resource class.'''
1053
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
1054
+
1055
+ @builtins.property
1056
+ @jsii.member(jsii_name="cfnProperties")
1057
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
1058
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1059
+
1060
+ @builtins.property
1061
+ @jsii.member(jsii_name="resourcePolicyRef")
1062
+ def resource_policy_ref(self) -> _ResourcePolicyReference_162e786c:
1063
+ '''A reference to a ResourcePolicy resource.'''
1064
+ return typing.cast(_ResourcePolicyReference_162e786c, jsii.get(self, "resourcePolicyRef"))
1065
+
1066
+ @builtins.property
1067
+ @jsii.member(jsii_name="policyDocument")
1068
+ def policy_document(self) -> builtins.str:
1069
+ '''The JSON to use as the Resource-based Policy.'''
1070
+ return typing.cast(builtins.str, jsii.get(self, "policyDocument"))
1071
+
1072
+ @policy_document.setter
1073
+ def policy_document(self, value: builtins.str) -> None:
1074
+ if __debug__:
1075
+ type_hints = typing.get_type_hints(_typecheckingstub__d726921aa53fc43f461134d2df5d60edb5d56b4fa67ef6e4e82d305af7b7eba5)
1076
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1077
+ jsii.set(self, "policyDocument", value) # pyright: ignore[reportArgumentType]
1078
+
1079
+ @builtins.property
1080
+ @jsii.member(jsii_name="workspaceArn")
1081
+ def workspace_arn(self) -> builtins.str:
1082
+ '''An ARN identifying a Workspace.'''
1083
+ return typing.cast(builtins.str, jsii.get(self, "workspaceArn"))
1084
+
1085
+ @workspace_arn.setter
1086
+ def workspace_arn(self, value: builtins.str) -> None:
1087
+ if __debug__:
1088
+ type_hints = typing.get_type_hints(_typecheckingstub__2f020f5d54f91c35f0b4332b16391ef6561cfc07a46cc5fc1e48d4acdb82a4b8)
1089
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1090
+ jsii.set(self, "workspaceArn", value) # pyright: ignore[reportArgumentType]
1091
+
1092
+
1093
+ @jsii.data_type(
1094
+ jsii_type="aws-cdk-lib.aws_aps.CfnResourcePolicyProps",
1095
+ jsii_struct_bases=[],
1096
+ name_mapping={
1097
+ "policy_document": "policyDocument",
1098
+ "workspace_arn": "workspaceArn",
1099
+ },
1100
+ )
1101
+ class CfnResourcePolicyProps:
1102
+ def __init__(
1103
+ self,
1104
+ *,
1105
+ policy_document: builtins.str,
1106
+ workspace_arn: builtins.str,
1107
+ ) -> None:
1108
+ '''Properties for defining a ``CfnResourcePolicy``.
1109
+
1110
+ :param policy_document: The JSON to use as the Resource-based Policy.
1111
+ :param workspace_arn: An ARN identifying a Workspace.
1112
+
1113
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-resourcepolicy.html
1114
+ :exampleMetadata: fixture=_generated
1115
+
1116
+ Example::
1117
+
1118
+ # The code below shows an example of how to instantiate this type.
1119
+ # The values are placeholders you should change.
1120
+ from aws_cdk import aws_aps as aps
1121
+
1122
+ cfn_resource_policy_props = aps.CfnResourcePolicyProps(
1123
+ policy_document="policyDocument",
1124
+ workspace_arn="workspaceArn"
1125
+ )
1126
+ '''
1127
+ if __debug__:
1128
+ type_hints = typing.get_type_hints(_typecheckingstub__bb05747fc90b1776c66fd40ec5d261399f93ac6b367fc973d5df8b912bd30997)
1129
+ check_type(argname="argument policy_document", value=policy_document, expected_type=type_hints["policy_document"])
1130
+ check_type(argname="argument workspace_arn", value=workspace_arn, expected_type=type_hints["workspace_arn"])
1131
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1132
+ "policy_document": policy_document,
1133
+ "workspace_arn": workspace_arn,
1134
+ }
1135
+
1136
+ @builtins.property
1137
+ def policy_document(self) -> builtins.str:
1138
+ '''The JSON to use as the Resource-based Policy.
1139
+
1140
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-resourcepolicy.html#cfn-aps-resourcepolicy-policydocument
1141
+ '''
1142
+ result = self._values.get("policy_document")
1143
+ assert result is not None, "Required property 'policy_document' is missing"
1144
+ return typing.cast(builtins.str, result)
1145
+
1146
+ @builtins.property
1147
+ def workspace_arn(self) -> builtins.str:
1148
+ '''An ARN identifying a Workspace.
1149
+
1150
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-resourcepolicy.html#cfn-aps-resourcepolicy-workspacearn
1151
+ '''
1152
+ result = self._values.get("workspace_arn")
1153
+ assert result is not None, "Required property 'workspace_arn' is missing"
1154
+ return typing.cast(builtins.str, result)
1155
+
1156
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1157
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1158
+
1159
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1160
+ return not (rhs == self)
1161
+
1162
+ def __repr__(self) -> str:
1163
+ return "CfnResourcePolicyProps(%s)" % ", ".join(
1164
+ k + "=" + repr(v) for k, v in self._values.items()
1165
+ )
71
1166
 
72
1167
 
73
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
1168
+ @jsii.implements(_IInspectable_c2943556, _IRuleGroupsNamespaceRef_7b589be9, _ITaggable_36806126)
74
1169
  class CfnRuleGroupsNamespace(
75
1170
  _CfnResource_9df397a6,
76
1171
  metaclass=jsii.JSIIMeta,
@@ -113,7 +1208,8 @@ class CfnRuleGroupsNamespace(
113
1208
  workspace: builtins.str,
114
1209
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
115
1210
  ) -> None:
116
- '''
1211
+ '''Create a new ``AWS::APS::RuleGroupsNamespace``.
1212
+
117
1213
  :param scope: Scope in which this resource is defined.
118
1214
  :param id: Construct identifier for this resource (unique in its scope).
119
1215
  :param data: The rules file used in the namespace. For more details about the rules file, see `Creating a rules file <https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-ruler-rulesfile.html>`_ in the *Amazon Managed Service for Prometheus User Guide* .
@@ -177,6 +1273,12 @@ class CfnRuleGroupsNamespace(
177
1273
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
178
1274
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
179
1275
 
1276
+ @builtins.property
1277
+ @jsii.member(jsii_name="ruleGroupsNamespaceRef")
1278
+ def rule_groups_namespace_ref(self) -> _RuleGroupsNamespaceReference_9d4673a3:
1279
+ '''A reference to a RuleGroupsNamespace resource.'''
1280
+ return typing.cast(_RuleGroupsNamespaceReference_9d4673a3, jsii.get(self, "ruleGroupsNamespaceRef"))
1281
+
180
1282
  @builtins.property
181
1283
  @jsii.member(jsii_name="tags")
182
1284
  def tags(self) -> _TagManager_0a598cb3:
@@ -350,7 +1452,7 @@ class CfnRuleGroupsNamespaceProps:
350
1452
  )
351
1453
 
352
1454
 
353
- @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
1455
+ @jsii.implements(_IInspectable_c2943556, _IScraperRef_2b17ef67, _ITaggableV2_4e6798f8)
354
1456
  class CfnScraper(
355
1457
  _CfnResource_9df397a6,
356
1458
  metaclass=jsii.JSIIMeta,
@@ -402,6 +1504,23 @@ class CfnScraper(
402
1504
  source_role_arn="sourceRoleArn",
403
1505
  target_role_arn="targetRoleArn"
404
1506
  ),
1507
+ scraper_logging_configuration=aps.CfnScraper.ScraperLoggingConfigurationProperty(
1508
+ logging_destination=aps.CfnScraper.ScraperLoggingDestinationProperty(
1509
+ cloud_watch_logs=aps.CfnScraper.CloudWatchLogDestinationProperty(
1510
+ log_group_arn="logGroupArn"
1511
+ )
1512
+ ),
1513
+ scraper_components=[aps.CfnScraper.ScraperComponentProperty(
1514
+ type="type",
1515
+
1516
+ # the properties below are optional
1517
+ config=aps.CfnScraper.ComponentConfigProperty(
1518
+ options={
1519
+ "options_key": "options"
1520
+ }
1521
+ )
1522
+ )]
1523
+ ),
405
1524
  tags=[CfnTag(
406
1525
  key="key",
407
1526
  value="value"
@@ -419,16 +1538,19 @@ class CfnScraper(
419
1538
  source: typing.Union[_IResolvable_da3f097b, typing.Union["CfnScraper.SourceProperty", typing.Dict[builtins.str, typing.Any]]],
420
1539
  alias: typing.Optional[builtins.str] = None,
421
1540
  role_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnScraper.RoleConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1541
+ scraper_logging_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnScraper.ScraperLoggingConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
422
1542
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
423
1543
  ) -> None:
424
- '''
1544
+ '''Create a new ``AWS::APS::Scraper``.
1545
+
425
1546
  :param scope: Scope in which this resource is defined.
426
1547
  :param id: Construct identifier for this resource (unique in its scope).
427
1548
  :param destination: The Amazon Managed Service for Prometheus workspace the scraper sends metrics to.
428
1549
  :param scrape_configuration: The configuration in use by the scraper.
429
1550
  :param source: The Amazon EKS cluster from which the scraper collects metrics.
430
1551
  :param alias: An optional user-assigned scraper alias.
431
- :param role_configuration: Role configuration.
1552
+ :param role_configuration: The role configuration in an Amazon Managed Service for Prometheus scraper.
1553
+ :param scraper_logging_configuration: The definition of logging configuration in an Amazon Managed Service for Prometheus workspace.
432
1554
  :param tags: (Optional) The list of tag keys and values associated with the scraper.
433
1555
  '''
434
1556
  if __debug__:
@@ -441,6 +1563,7 @@ class CfnScraper(
441
1563
  source=source,
442
1564
  alias=alias,
443
1565
  role_configuration=role_configuration,
1566
+ scraper_logging_configuration=scraper_logging_configuration,
444
1567
  tags=tags,
445
1568
  )
446
1569
 
@@ -520,6 +1643,12 @@ class CfnScraper(
520
1643
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
521
1644
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
522
1645
 
1646
+ @builtins.property
1647
+ @jsii.member(jsii_name="scraperRef")
1648
+ def scraper_ref(self) -> _ScraperReference_c6b43df1:
1649
+ '''A reference to a Scraper resource.'''
1650
+ return typing.cast(_ScraperReference_c6b43df1, jsii.get(self, "scraperRef"))
1651
+
523
1652
  @builtins.property
524
1653
  @jsii.member(jsii_name="destination")
525
1654
  def destination(
@@ -592,7 +1721,7 @@ class CfnScraper(
592
1721
  def role_configuration(
593
1722
  self,
594
1723
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnScraper.RoleConfigurationProperty"]]:
595
- '''Role configuration.'''
1724
+ '''The role configuration in an Amazon Managed Service for Prometheus scraper.'''
596
1725
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnScraper.RoleConfigurationProperty"]], jsii.get(self, "roleConfiguration"))
597
1726
 
598
1727
  @role_configuration.setter
@@ -605,6 +1734,24 @@ class CfnScraper(
605
1734
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
606
1735
  jsii.set(self, "roleConfiguration", value) # pyright: ignore[reportArgumentType]
607
1736
 
1737
+ @builtins.property
1738
+ @jsii.member(jsii_name="scraperLoggingConfiguration")
1739
+ def scraper_logging_configuration(
1740
+ self,
1741
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnScraper.ScraperLoggingConfigurationProperty"]]:
1742
+ '''The definition of logging configuration in an Amazon Managed Service for Prometheus workspace.'''
1743
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnScraper.ScraperLoggingConfigurationProperty"]], jsii.get(self, "scraperLoggingConfiguration"))
1744
+
1745
+ @scraper_logging_configuration.setter
1746
+ def scraper_logging_configuration(
1747
+ self,
1748
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnScraper.ScraperLoggingConfigurationProperty"]],
1749
+ ) -> None:
1750
+ if __debug__:
1751
+ type_hints = typing.get_type_hints(_typecheckingstub__98c937c38a5c278540b0a6d9654c4dc0d8dbc46a2f3145fd9275f2a8fd9ce000)
1752
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1753
+ jsii.set(self, "scraperLoggingConfiguration", value) # pyright: ignore[reportArgumentType]
1754
+
608
1755
  @builtins.property
609
1756
  @jsii.member(jsii_name="tags")
610
1757
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
@@ -670,6 +1817,120 @@ class CfnScraper(
670
1817
  k + "=" + repr(v) for k, v in self._values.items()
671
1818
  )
672
1819
 
1820
+ @jsii.data_type(
1821
+ jsii_type="aws-cdk-lib.aws_aps.CfnScraper.CloudWatchLogDestinationProperty",
1822
+ jsii_struct_bases=[],
1823
+ name_mapping={"log_group_arn": "logGroupArn"},
1824
+ )
1825
+ class CloudWatchLogDestinationProperty:
1826
+ def __init__(
1827
+ self,
1828
+ *,
1829
+ log_group_arn: typing.Optional[builtins.str] = None,
1830
+ ) -> None:
1831
+ '''Represents a cloudwatch logs destination for scraper logging.
1832
+
1833
+ :param log_group_arn: ARN of the CloudWatch log group.
1834
+
1835
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-cloudwatchlogdestination.html
1836
+ :exampleMetadata: fixture=_generated
1837
+
1838
+ Example::
1839
+
1840
+ # The code below shows an example of how to instantiate this type.
1841
+ # The values are placeholders you should change.
1842
+ from aws_cdk import aws_aps as aps
1843
+
1844
+ cloud_watch_log_destination_property = aps.CfnScraper.CloudWatchLogDestinationProperty(
1845
+ log_group_arn="logGroupArn"
1846
+ )
1847
+ '''
1848
+ if __debug__:
1849
+ type_hints = typing.get_type_hints(_typecheckingstub__d4d1b8a234d9b0461189ac94d16b7043b8e40fc1a62680a811ba8396bc54a5d6)
1850
+ check_type(argname="argument log_group_arn", value=log_group_arn, expected_type=type_hints["log_group_arn"])
1851
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1852
+ if log_group_arn is not None:
1853
+ self._values["log_group_arn"] = log_group_arn
1854
+
1855
+ @builtins.property
1856
+ def log_group_arn(self) -> typing.Optional[builtins.str]:
1857
+ '''ARN of the CloudWatch log group.
1858
+
1859
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-cloudwatchlogdestination.html#cfn-aps-scraper-cloudwatchlogdestination-loggrouparn
1860
+ '''
1861
+ result = self._values.get("log_group_arn")
1862
+ return typing.cast(typing.Optional[builtins.str], result)
1863
+
1864
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1865
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1866
+
1867
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1868
+ return not (rhs == self)
1869
+
1870
+ def __repr__(self) -> str:
1871
+ return "CloudWatchLogDestinationProperty(%s)" % ", ".join(
1872
+ k + "=" + repr(v) for k, v in self._values.items()
1873
+ )
1874
+
1875
+ @jsii.data_type(
1876
+ jsii_type="aws-cdk-lib.aws_aps.CfnScraper.ComponentConfigProperty",
1877
+ jsii_struct_bases=[],
1878
+ name_mapping={"options": "options"},
1879
+ )
1880
+ class ComponentConfigProperty:
1881
+ def __init__(
1882
+ self,
1883
+ *,
1884
+ options: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
1885
+ ) -> None:
1886
+ '''Configuration settings for a scraper component.
1887
+
1888
+ :param options: Configuration options for the scraper component.
1889
+
1890
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-componentconfig.html
1891
+ :exampleMetadata: fixture=_generated
1892
+
1893
+ Example::
1894
+
1895
+ # The code below shows an example of how to instantiate this type.
1896
+ # The values are placeholders you should change.
1897
+ from aws_cdk import aws_aps as aps
1898
+
1899
+ component_config_property = aps.CfnScraper.ComponentConfigProperty(
1900
+ options={
1901
+ "options_key": "options"
1902
+ }
1903
+ )
1904
+ '''
1905
+ if __debug__:
1906
+ type_hints = typing.get_type_hints(_typecheckingstub__c81abd8a9526f73204a9bfa774d69e9b3ec81f7592dafabd756679cc66dcb1e1)
1907
+ check_type(argname="argument options", value=options, expected_type=type_hints["options"])
1908
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1909
+ if options is not None:
1910
+ self._values["options"] = options
1911
+
1912
+ @builtins.property
1913
+ def options(
1914
+ self,
1915
+ ) -> typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]]:
1916
+ '''Configuration options for the scraper component.
1917
+
1918
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-componentconfig.html#cfn-aps-scraper-componentconfig-options
1919
+ '''
1920
+ result = self._values.get("options")
1921
+ return typing.cast(typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]], result)
1922
+
1923
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1924
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1925
+
1926
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1927
+ return not (rhs == self)
1928
+
1929
+ def __repr__(self) -> str:
1930
+ return "ComponentConfigProperty(%s)" % ", ".join(
1931
+ k + "=" + repr(v) for k, v in self._values.items()
1932
+ )
1933
+
673
1934
  @jsii.data_type(
674
1935
  jsii_type="aws-cdk-lib.aws_aps.CfnScraper.DestinationProperty",
675
1936
  jsii_struct_bases=[],
@@ -837,10 +2098,10 @@ class CfnScraper(
837
2098
  source_role_arn: typing.Optional[builtins.str] = None,
838
2099
  target_role_arn: typing.Optional[builtins.str] = None,
839
2100
  ) -> None:
840
- '''Role configuration.
2101
+ '''The role configuration in an Amazon Managed Service for Prometheus scraper.
841
2102
 
842
- :param source_role_arn: IAM Role in source account.
843
- :param target_role_arn: IAM Role in the target account.
2103
+ :param source_role_arn: The ARN of the source role.
2104
+ :param target_role_arn: The ARN of the target role.
844
2105
 
845
2106
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-roleconfiguration.html
846
2107
  :exampleMetadata: fixture=_generated
@@ -868,7 +2129,7 @@ class CfnScraper(
868
2129
 
869
2130
  @builtins.property
870
2131
  def source_role_arn(self) -> typing.Optional[builtins.str]:
871
- '''IAM Role in source account.
2132
+ '''The ARN of the source role.
872
2133
 
873
2134
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-roleconfiguration.html#cfn-aps-scraper-roleconfiguration-sourcerolearn
874
2135
  '''
@@ -877,7 +2138,7 @@ class CfnScraper(
877
2138
 
878
2139
  @builtins.property
879
2140
  def target_role_arn(self) -> typing.Optional[builtins.str]:
880
- '''IAM Role in the target account.
2141
+ '''The ARN of the target role.
881
2142
 
882
2143
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-roleconfiguration.html#cfn-aps-scraper-roleconfiguration-targetrolearn
883
2144
  '''
@@ -934,9 +2195,237 @@ class CfnScraper(
934
2195
 
935
2196
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-scrapeconfiguration.html#cfn-aps-scraper-scrapeconfiguration-configurationblob
936
2197
  '''
937
- result = self._values.get("configuration_blob")
938
- assert result is not None, "Required property 'configuration_blob' is missing"
939
- return typing.cast(builtins.str, result)
2198
+ result = self._values.get("configuration_blob")
2199
+ assert result is not None, "Required property 'configuration_blob' is missing"
2200
+ return typing.cast(builtins.str, result)
2201
+
2202
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2203
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2204
+
2205
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2206
+ return not (rhs == self)
2207
+
2208
+ def __repr__(self) -> str:
2209
+ return "ScrapeConfigurationProperty(%s)" % ", ".join(
2210
+ k + "=" + repr(v) for k, v in self._values.items()
2211
+ )
2212
+
2213
+ @jsii.data_type(
2214
+ jsii_type="aws-cdk-lib.aws_aps.CfnScraper.ScraperComponentProperty",
2215
+ jsii_struct_bases=[],
2216
+ name_mapping={"type": "type", "config": "config"},
2217
+ )
2218
+ class ScraperComponentProperty:
2219
+ def __init__(
2220
+ self,
2221
+ *,
2222
+ type: builtins.str,
2223
+ config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnScraper.ComponentConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2224
+ ) -> None:
2225
+ '''A component of a Amazon Managed Service for Prometheus scraper that can be configured for logging.
2226
+
2227
+ :param type: The type of the scraper component.
2228
+ :param config: The configuration settings for the scraper component.
2229
+
2230
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-scrapercomponent.html
2231
+ :exampleMetadata: fixture=_generated
2232
+
2233
+ Example::
2234
+
2235
+ # The code below shows an example of how to instantiate this type.
2236
+ # The values are placeholders you should change.
2237
+ from aws_cdk import aws_aps as aps
2238
+
2239
+ scraper_component_property = aps.CfnScraper.ScraperComponentProperty(
2240
+ type="type",
2241
+
2242
+ # the properties below are optional
2243
+ config=aps.CfnScraper.ComponentConfigProperty(
2244
+ options={
2245
+ "options_key": "options"
2246
+ }
2247
+ )
2248
+ )
2249
+ '''
2250
+ if __debug__:
2251
+ type_hints = typing.get_type_hints(_typecheckingstub__be259f573540cfe3fb130cbc10c656811dffac0fb6663b27b9f4982549990b6a)
2252
+ check_type(argname="argument type", value=type, expected_type=type_hints["type"])
2253
+ check_type(argname="argument config", value=config, expected_type=type_hints["config"])
2254
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2255
+ "type": type,
2256
+ }
2257
+ if config is not None:
2258
+ self._values["config"] = config
2259
+
2260
+ @builtins.property
2261
+ def type(self) -> builtins.str:
2262
+ '''The type of the scraper component.
2263
+
2264
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-scrapercomponent.html#cfn-aps-scraper-scrapercomponent-type
2265
+ '''
2266
+ result = self._values.get("type")
2267
+ assert result is not None, "Required property 'type' is missing"
2268
+ return typing.cast(builtins.str, result)
2269
+
2270
+ @builtins.property
2271
+ def config(
2272
+ self,
2273
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnScraper.ComponentConfigProperty"]]:
2274
+ '''The configuration settings for the scraper component.
2275
+
2276
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-scrapercomponent.html#cfn-aps-scraper-scrapercomponent-config
2277
+ '''
2278
+ result = self._values.get("config")
2279
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnScraper.ComponentConfigProperty"]], result)
2280
+
2281
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2282
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2283
+
2284
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2285
+ return not (rhs == self)
2286
+
2287
+ def __repr__(self) -> str:
2288
+ return "ScraperComponentProperty(%s)" % ", ".join(
2289
+ k + "=" + repr(v) for k, v in self._values.items()
2290
+ )
2291
+
2292
+ @jsii.data_type(
2293
+ jsii_type="aws-cdk-lib.aws_aps.CfnScraper.ScraperLoggingConfigurationProperty",
2294
+ jsii_struct_bases=[],
2295
+ name_mapping={
2296
+ "logging_destination": "loggingDestination",
2297
+ "scraper_components": "scraperComponents",
2298
+ },
2299
+ )
2300
+ class ScraperLoggingConfigurationProperty:
2301
+ def __init__(
2302
+ self,
2303
+ *,
2304
+ logging_destination: typing.Union[_IResolvable_da3f097b, typing.Union["CfnScraper.ScraperLoggingDestinationProperty", typing.Dict[builtins.str, typing.Any]]],
2305
+ scraper_components: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnScraper.ScraperComponentProperty", typing.Dict[builtins.str, typing.Any]]]]],
2306
+ ) -> None:
2307
+ '''Configuration for scraper logging.
2308
+
2309
+ :param logging_destination: Destination for scraper logging.
2310
+ :param scraper_components:
2311
+
2312
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-scraperloggingconfiguration.html
2313
+ :exampleMetadata: fixture=_generated
2314
+
2315
+ Example::
2316
+
2317
+ # The code below shows an example of how to instantiate this type.
2318
+ # The values are placeholders you should change.
2319
+ from aws_cdk import aws_aps as aps
2320
+
2321
+ scraper_logging_configuration_property = aps.CfnScraper.ScraperLoggingConfigurationProperty(
2322
+ logging_destination=aps.CfnScraper.ScraperLoggingDestinationProperty(
2323
+ cloud_watch_logs=aps.CfnScraper.CloudWatchLogDestinationProperty(
2324
+ log_group_arn="logGroupArn"
2325
+ )
2326
+ ),
2327
+ scraper_components=[aps.CfnScraper.ScraperComponentProperty(
2328
+ type="type",
2329
+
2330
+ # the properties below are optional
2331
+ config=aps.CfnScraper.ComponentConfigProperty(
2332
+ options={
2333
+ "options_key": "options"
2334
+ }
2335
+ )
2336
+ )]
2337
+ )
2338
+ '''
2339
+ if __debug__:
2340
+ type_hints = typing.get_type_hints(_typecheckingstub__ea5221003b2ff43404935c67045669a8a84790d807c849eadd6df28ea9b60feb)
2341
+ check_type(argname="argument logging_destination", value=logging_destination, expected_type=type_hints["logging_destination"])
2342
+ check_type(argname="argument scraper_components", value=scraper_components, expected_type=type_hints["scraper_components"])
2343
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2344
+ "logging_destination": logging_destination,
2345
+ "scraper_components": scraper_components,
2346
+ }
2347
+
2348
+ @builtins.property
2349
+ def logging_destination(
2350
+ self,
2351
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnScraper.ScraperLoggingDestinationProperty"]:
2352
+ '''Destination for scraper logging.
2353
+
2354
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-scraperloggingconfiguration.html#cfn-aps-scraper-scraperloggingconfiguration-loggingdestination
2355
+ '''
2356
+ result = self._values.get("logging_destination")
2357
+ assert result is not None, "Required property 'logging_destination' is missing"
2358
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnScraper.ScraperLoggingDestinationProperty"], result)
2359
+
2360
+ @builtins.property
2361
+ def scraper_components(
2362
+ self,
2363
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnScraper.ScraperComponentProperty"]]]:
2364
+ '''
2365
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-scraperloggingconfiguration.html#cfn-aps-scraper-scraperloggingconfiguration-scrapercomponents
2366
+ '''
2367
+ result = self._values.get("scraper_components")
2368
+ assert result is not None, "Required property 'scraper_components' is missing"
2369
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnScraper.ScraperComponentProperty"]]], result)
2370
+
2371
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2372
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2373
+
2374
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2375
+ return not (rhs == self)
2376
+
2377
+ def __repr__(self) -> str:
2378
+ return "ScraperLoggingConfigurationProperty(%s)" % ", ".join(
2379
+ k + "=" + repr(v) for k, v in self._values.items()
2380
+ )
2381
+
2382
+ @jsii.data_type(
2383
+ jsii_type="aws-cdk-lib.aws_aps.CfnScraper.ScraperLoggingDestinationProperty",
2384
+ jsii_struct_bases=[],
2385
+ name_mapping={"cloud_watch_logs": "cloudWatchLogs"},
2386
+ )
2387
+ class ScraperLoggingDestinationProperty:
2388
+ def __init__(
2389
+ self,
2390
+ *,
2391
+ cloud_watch_logs: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnScraper.CloudWatchLogDestinationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2392
+ ) -> None:
2393
+ '''The destination where scraper logs are sent.
2394
+
2395
+ :param cloud_watch_logs: The CloudWatch Logs configuration for the scraper logging destination.
2396
+
2397
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-scraperloggingdestination.html
2398
+ :exampleMetadata: fixture=_generated
2399
+
2400
+ Example::
2401
+
2402
+ # The code below shows an example of how to instantiate this type.
2403
+ # The values are placeholders you should change.
2404
+ from aws_cdk import aws_aps as aps
2405
+
2406
+ scraper_logging_destination_property = aps.CfnScraper.ScraperLoggingDestinationProperty(
2407
+ cloud_watch_logs=aps.CfnScraper.CloudWatchLogDestinationProperty(
2408
+ log_group_arn="logGroupArn"
2409
+ )
2410
+ )
2411
+ '''
2412
+ if __debug__:
2413
+ type_hints = typing.get_type_hints(_typecheckingstub__63a27055fededd95d1bc1fba74349c5f0f37894ed254d1e1ce3d670ded2f515f)
2414
+ check_type(argname="argument cloud_watch_logs", value=cloud_watch_logs, expected_type=type_hints["cloud_watch_logs"])
2415
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2416
+ if cloud_watch_logs is not None:
2417
+ self._values["cloud_watch_logs"] = cloud_watch_logs
2418
+
2419
+ @builtins.property
2420
+ def cloud_watch_logs(
2421
+ self,
2422
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnScraper.CloudWatchLogDestinationProperty"]]:
2423
+ '''The CloudWatch Logs configuration for the scraper logging destination.
2424
+
2425
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-scraperloggingdestination.html#cfn-aps-scraper-scraperloggingdestination-cloudwatchlogs
2426
+ '''
2427
+ result = self._values.get("cloud_watch_logs")
2428
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnScraper.CloudWatchLogDestinationProperty"]], result)
940
2429
 
941
2430
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
942
2431
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -945,7 +2434,7 @@ class CfnScraper(
945
2434
  return not (rhs == self)
946
2435
 
947
2436
  def __repr__(self) -> str:
948
- return "ScrapeConfigurationProperty(%s)" % ", ".join(
2437
+ return "ScraperLoggingDestinationProperty(%s)" % ", ".join(
949
2438
  k + "=" + repr(v) for k, v in self._values.items()
950
2439
  )
951
2440
 
@@ -1023,6 +2512,7 @@ class CfnScraper(
1023
2512
  "source": "source",
1024
2513
  "alias": "alias",
1025
2514
  "role_configuration": "roleConfiguration",
2515
+ "scraper_logging_configuration": "scraperLoggingConfiguration",
1026
2516
  "tags": "tags",
1027
2517
  },
1028
2518
  )
@@ -1035,6 +2525,7 @@ class CfnScraperProps:
1035
2525
  source: typing.Union[_IResolvable_da3f097b, typing.Union[CfnScraper.SourceProperty, typing.Dict[builtins.str, typing.Any]]],
1036
2526
  alias: typing.Optional[builtins.str] = None,
1037
2527
  role_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnScraper.RoleConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2528
+ scraper_logging_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnScraper.ScraperLoggingConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1038
2529
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1039
2530
  ) -> None:
1040
2531
  '''Properties for defining a ``CfnScraper``.
@@ -1043,7 +2534,8 @@ class CfnScraperProps:
1043
2534
  :param scrape_configuration: The configuration in use by the scraper.
1044
2535
  :param source: The Amazon EKS cluster from which the scraper collects metrics.
1045
2536
  :param alias: An optional user-assigned scraper alias.
1046
- :param role_configuration: Role configuration.
2537
+ :param role_configuration: The role configuration in an Amazon Managed Service for Prometheus scraper.
2538
+ :param scraper_logging_configuration: The definition of logging configuration in an Amazon Managed Service for Prometheus workspace.
1047
2539
  :param tags: (Optional) The list of tag keys and values associated with the scraper.
1048
2540
 
1049
2541
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-scraper.html
@@ -1080,6 +2572,23 @@ class CfnScraperProps:
1080
2572
  source_role_arn="sourceRoleArn",
1081
2573
  target_role_arn="targetRoleArn"
1082
2574
  ),
2575
+ scraper_logging_configuration=aps.CfnScraper.ScraperLoggingConfigurationProperty(
2576
+ logging_destination=aps.CfnScraper.ScraperLoggingDestinationProperty(
2577
+ cloud_watch_logs=aps.CfnScraper.CloudWatchLogDestinationProperty(
2578
+ log_group_arn="logGroupArn"
2579
+ )
2580
+ ),
2581
+ scraper_components=[aps.CfnScraper.ScraperComponentProperty(
2582
+ type="type",
2583
+
2584
+ # the properties below are optional
2585
+ config=aps.CfnScraper.ComponentConfigProperty(
2586
+ options={
2587
+ "options_key": "options"
2588
+ }
2589
+ )
2590
+ )]
2591
+ ),
1083
2592
  tags=[CfnTag(
1084
2593
  key="key",
1085
2594
  value="value"
@@ -1093,6 +2602,7 @@ class CfnScraperProps:
1093
2602
  check_type(argname="argument source", value=source, expected_type=type_hints["source"])
1094
2603
  check_type(argname="argument alias", value=alias, expected_type=type_hints["alias"])
1095
2604
  check_type(argname="argument role_configuration", value=role_configuration, expected_type=type_hints["role_configuration"])
2605
+ check_type(argname="argument scraper_logging_configuration", value=scraper_logging_configuration, expected_type=type_hints["scraper_logging_configuration"])
1096
2606
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
1097
2607
  self._values: typing.Dict[builtins.str, typing.Any] = {
1098
2608
  "destination": destination,
@@ -1103,6 +2613,8 @@ class CfnScraperProps:
1103
2613
  self._values["alias"] = alias
1104
2614
  if role_configuration is not None:
1105
2615
  self._values["role_configuration"] = role_configuration
2616
+ if scraper_logging_configuration is not None:
2617
+ self._values["scraper_logging_configuration"] = scraper_logging_configuration
1106
2618
  if tags is not None:
1107
2619
  self._values["tags"] = tags
1108
2620
 
@@ -1153,13 +2665,24 @@ class CfnScraperProps:
1153
2665
  def role_configuration(
1154
2666
  self,
1155
2667
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnScraper.RoleConfigurationProperty]]:
1156
- '''Role configuration.
2668
+ '''The role configuration in an Amazon Managed Service for Prometheus scraper.
1157
2669
 
1158
2670
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-scraper.html#cfn-aps-scraper-roleconfiguration
1159
2671
  '''
1160
2672
  result = self._values.get("role_configuration")
1161
2673
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnScraper.RoleConfigurationProperty]], result)
1162
2674
 
2675
+ @builtins.property
2676
+ def scraper_logging_configuration(
2677
+ self,
2678
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnScraper.ScraperLoggingConfigurationProperty]]:
2679
+ '''The definition of logging configuration in an Amazon Managed Service for Prometheus workspace.
2680
+
2681
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-scraper.html#cfn-aps-scraper-scraperloggingconfiguration
2682
+ '''
2683
+ result = self._values.get("scraper_logging_configuration")
2684
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnScraper.ScraperLoggingConfigurationProperty]], result)
2685
+
1163
2686
  @builtins.property
1164
2687
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1165
2688
  '''(Optional) The list of tag keys and values associated with the scraper.
@@ -1181,7 +2704,7 @@ class CfnScraperProps:
1181
2704
  )
1182
2705
 
1183
2706
 
1184
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
2707
+ @jsii.implements(_IInspectable_c2943556, _IWorkspaceRef_d8b2b588, _ITaggable_36806126)
1185
2708
  class CfnWorkspace(
1186
2709
  _CfnResource_9df397a6,
1187
2710
  metaclass=jsii.JSIIMeta,
@@ -1206,6 +2729,16 @@ class CfnWorkspace(
1206
2729
  logging_configuration=aps.CfnWorkspace.LoggingConfigurationProperty(
1207
2730
  log_group_arn="logGroupArn"
1208
2731
  ),
2732
+ query_logging_configuration=aps.CfnWorkspace.QueryLoggingConfigurationProperty(
2733
+ destinations=[aps.CfnWorkspace.LoggingDestinationProperty(
2734
+ cloud_watch_logs=aps.CfnWorkspace.CloudWatchLogDestinationProperty(
2735
+ log_group_arn="logGroupArn"
2736
+ ),
2737
+ filters=aps.CfnWorkspace.LoggingFilterProperty(
2738
+ qsp_threshold=123
2739
+ )
2740
+ )]
2741
+ ),
1209
2742
  tags=[CfnTag(
1210
2743
  key="key",
1211
2744
  value="value"
@@ -1234,16 +2767,19 @@ class CfnWorkspace(
1234
2767
  alias: typing.Optional[builtins.str] = None,
1235
2768
  kms_key_arn: typing.Optional[builtins.str] = None,
1236
2769
  logging_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspace.LoggingConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2770
+ query_logging_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspace.QueryLoggingConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1237
2771
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1238
2772
  workspace_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspace.WorkspaceConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1239
2773
  ) -> None:
1240
- '''
2774
+ '''Create a new ``AWS::APS::Workspace``.
2775
+
1241
2776
  :param scope: Scope in which this resource is defined.
1242
2777
  :param id: Construct identifier for this resource (unique in its scope).
1243
2778
  :param alert_manager_definition: The alert manager definition, a YAML configuration for the alert manager in your Amazon Managed Service for Prometheus workspace. For details about the alert manager definition, see `Creating an alert manager configuration files <https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-alertmanager-config.html>`_ in the *Amazon Managed Service for Prometheus User Guide* . The following example shows part of a CloudFormation YAML file with an embedded alert manager definition (following the ``- |-`` ). ``Workspace: Type: AWS::APS::Workspace .... Properties: .... AlertManagerDefinition: Fn::Sub: - |- alertmanager_config: | templates: - 'default_template' route: receiver: example-sns receivers: - name: example-sns sns_configs: - topic_arn: 'arn:aws:sns:${AWS::Region}:${AWS::AccountId}:${TopicName}' -``
1244
2779
  :param alias: The alias that is assigned to this workspace to help identify it. It does not need to be unique.
1245
2780
  :param kms_key_arn: (optional) The ARN for a customer managed AWS KMS key to use for encrypting data within your workspace. For more information about using your own key in your workspace, see `Encryption at rest <https://docs.aws.amazon.com/prometheus/latest/userguide/encryption-at-rest-Amazon-Service-Prometheus.html>`_ in the *Amazon Managed Service for Prometheus User Guide* .
1246
2781
  :param logging_configuration: Contains information about the logging configuration for the workspace.
2782
+ :param query_logging_configuration: The definition of logging configuration in an Amazon Managed Service for Prometheus workspace.
1247
2783
  :param tags: The list of tag keys and values that are associated with the workspace.
1248
2784
  :param workspace_configuration: Use this structure to define label sets and the ingestion limits for time series that match label sets, and to specify the retention period of the workspace.
1249
2785
  '''
@@ -1256,6 +2792,7 @@ class CfnWorkspace(
1256
2792
  alias=alias,
1257
2793
  kms_key_arn=kms_key_arn,
1258
2794
  logging_configuration=logging_configuration,
2795
+ query_logging_configuration=query_logging_configuration,
1259
2796
  tags=tags,
1260
2797
  workspace_configuration=workspace_configuration,
1261
2798
  )
@@ -1336,6 +2873,12 @@ class CfnWorkspace(
1336
2873
  '''Tag Manager which manages the tags for this resource.'''
1337
2874
  return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
1338
2875
 
2876
+ @builtins.property
2877
+ @jsii.member(jsii_name="workspaceRef")
2878
+ def workspace_ref(self) -> _WorkspaceReference_4f6a6126:
2879
+ '''A reference to a Workspace resource.'''
2880
+ return typing.cast(_WorkspaceReference_4f6a6126, jsii.get(self, "workspaceRef"))
2881
+
1339
2882
  @builtins.property
1340
2883
  @jsii.member(jsii_name="alertManagerDefinition")
1341
2884
  def alert_manager_definition(self) -> typing.Optional[builtins.str]:
@@ -1393,6 +2936,24 @@ class CfnWorkspace(
1393
2936
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1394
2937
  jsii.set(self, "loggingConfiguration", value) # pyright: ignore[reportArgumentType]
1395
2938
 
2939
+ @builtins.property
2940
+ @jsii.member(jsii_name="queryLoggingConfiguration")
2941
+ def query_logging_configuration(
2942
+ self,
2943
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspace.QueryLoggingConfigurationProperty"]]:
2944
+ '''The definition of logging configuration in an Amazon Managed Service for Prometheus workspace.'''
2945
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspace.QueryLoggingConfigurationProperty"]], jsii.get(self, "queryLoggingConfiguration"))
2946
+
2947
+ @query_logging_configuration.setter
2948
+ def query_logging_configuration(
2949
+ self,
2950
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspace.QueryLoggingConfigurationProperty"]],
2951
+ ) -> None:
2952
+ if __debug__:
2953
+ type_hints = typing.get_type_hints(_typecheckingstub__6591166b06ced49bc35c6390884a7a1c30cea4102022183768ac43e25c00f9fc)
2954
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2955
+ jsii.set(self, "queryLoggingConfiguration", value) # pyright: ignore[reportArgumentType]
2956
+
1396
2957
  @builtins.property
1397
2958
  @jsii.member(jsii_name="tagsRaw")
1398
2959
  def tags_raw(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
@@ -1424,6 +2985,58 @@ class CfnWorkspace(
1424
2985
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1425
2986
  jsii.set(self, "workspaceConfiguration", value) # pyright: ignore[reportArgumentType]
1426
2987
 
2988
+ @jsii.data_type(
2989
+ jsii_type="aws-cdk-lib.aws_aps.CfnWorkspace.CloudWatchLogDestinationProperty",
2990
+ jsii_struct_bases=[],
2991
+ name_mapping={"log_group_arn": "logGroupArn"},
2992
+ )
2993
+ class CloudWatchLogDestinationProperty:
2994
+ def __init__(self, *, log_group_arn: builtins.str) -> None:
2995
+ '''Configuration details for logging to CloudWatch Logs.
2996
+
2997
+ :param log_group_arn: The ARN of the CloudWatch log group.
2998
+
2999
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-cloudwatchlogdestination.html
3000
+ :exampleMetadata: fixture=_generated
3001
+
3002
+ Example::
3003
+
3004
+ # The code below shows an example of how to instantiate this type.
3005
+ # The values are placeholders you should change.
3006
+ from aws_cdk import aws_aps as aps
3007
+
3008
+ cloud_watch_log_destination_property = aps.CfnWorkspace.CloudWatchLogDestinationProperty(
3009
+ log_group_arn="logGroupArn"
3010
+ )
3011
+ '''
3012
+ if __debug__:
3013
+ type_hints = typing.get_type_hints(_typecheckingstub__925c774442f9150193a5d3bfa3fb05562aec6581139c1378b5f09e1c30fb40ee)
3014
+ check_type(argname="argument log_group_arn", value=log_group_arn, expected_type=type_hints["log_group_arn"])
3015
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3016
+ "log_group_arn": log_group_arn,
3017
+ }
3018
+
3019
+ @builtins.property
3020
+ def log_group_arn(self) -> builtins.str:
3021
+ '''The ARN of the CloudWatch log group.
3022
+
3023
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-cloudwatchlogdestination.html#cfn-aps-workspace-cloudwatchlogdestination-loggrouparn
3024
+ '''
3025
+ result = self._values.get("log_group_arn")
3026
+ assert result is not None, "Required property 'log_group_arn' is missing"
3027
+ return typing.cast(builtins.str, result)
3028
+
3029
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3030
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3031
+
3032
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3033
+ return not (rhs == self)
3034
+
3035
+ def __repr__(self) -> str:
3036
+ return "CloudWatchLogDestinationProperty(%s)" % ", ".join(
3037
+ k + "=" + repr(v) for k, v in self._values.items()
3038
+ )
3039
+
1427
3040
  @jsii.data_type(
1428
3041
  jsii_type="aws-cdk-lib.aws_aps.CfnWorkspace.LabelProperty",
1429
3042
  jsii_struct_bases=[],
@@ -1541,30 +3154,248 @@ class CfnWorkspace(
1541
3154
  return not (rhs == self)
1542
3155
 
1543
3156
  def __repr__(self) -> str:
1544
- return "LimitsPerLabelSetEntryProperty(%s)" % ", ".join(
3157
+ return "LimitsPerLabelSetEntryProperty(%s)" % ", ".join(
3158
+ k + "=" + repr(v) for k, v in self._values.items()
3159
+ )
3160
+
3161
+ @jsii.data_type(
3162
+ jsii_type="aws-cdk-lib.aws_aps.CfnWorkspace.LimitsPerLabelSetProperty",
3163
+ jsii_struct_bases=[],
3164
+ name_mapping={"label_set": "labelSet", "limits": "limits"},
3165
+ )
3166
+ class LimitsPerLabelSetProperty:
3167
+ def __init__(
3168
+ self,
3169
+ *,
3170
+ label_set: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspace.LabelProperty", typing.Dict[builtins.str, typing.Any]]]]],
3171
+ limits: typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspace.LimitsPerLabelSetEntryProperty", typing.Dict[builtins.str, typing.Any]]],
3172
+ ) -> None:
3173
+ '''This defines a label set for the workspace, and defines the ingestion limit for active time series that match that label set.
3174
+
3175
+ Each label name in a label set must be unique.
3176
+
3177
+ :param label_set: This defines one label set that will have an enforced ingestion limit. You can set ingestion limits on time series that match defined label sets, to help prevent a workspace from being overwhelmed with unexpected spikes in time series ingestion. Label values accept all UTF-8 characters with one exception. If the label name is metric name label ``__ *name* __`` , then the *metric* part of the name must conform to the following pattern: ``[a-zA-Z_:][a-zA-Z0-9_:]*``
3178
+ :param limits: This structure contains the information about the limits that apply to time series that match this label set.
3179
+
3180
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-limitsperlabelset.html
3181
+ :exampleMetadata: fixture=_generated
3182
+
3183
+ Example::
3184
+
3185
+ # The code below shows an example of how to instantiate this type.
3186
+ # The values are placeholders you should change.
3187
+ from aws_cdk import aws_aps as aps
3188
+
3189
+ limits_per_label_set_property = aps.CfnWorkspace.LimitsPerLabelSetProperty(
3190
+ label_set=[aps.CfnWorkspace.LabelProperty(
3191
+ name="name",
3192
+ value="value"
3193
+ )],
3194
+ limits=aps.CfnWorkspace.LimitsPerLabelSetEntryProperty(
3195
+ max_series=123
3196
+ )
3197
+ )
3198
+ '''
3199
+ if __debug__:
3200
+ type_hints = typing.get_type_hints(_typecheckingstub__3d8045fc76bdfc4af5de994e0ebe3331fd81257f1ae53d90373a7ad960b0bca7)
3201
+ check_type(argname="argument label_set", value=label_set, expected_type=type_hints["label_set"])
3202
+ check_type(argname="argument limits", value=limits, expected_type=type_hints["limits"])
3203
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3204
+ "label_set": label_set,
3205
+ "limits": limits,
3206
+ }
3207
+
3208
+ @builtins.property
3209
+ def label_set(
3210
+ self,
3211
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnWorkspace.LabelProperty"]]]:
3212
+ '''This defines one label set that will have an enforced ingestion limit.
3213
+
3214
+ You can set ingestion limits on time series that match defined label sets, to help prevent a workspace from being overwhelmed with unexpected spikes in time series ingestion.
3215
+
3216
+ Label values accept all UTF-8 characters with one exception. If the label name is metric name label ``__ *name* __`` , then the *metric* part of the name must conform to the following pattern: ``[a-zA-Z_:][a-zA-Z0-9_:]*``
3217
+
3218
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-limitsperlabelset.html#cfn-aps-workspace-limitsperlabelset-labelset
3219
+ '''
3220
+ result = self._values.get("label_set")
3221
+ assert result is not None, "Required property 'label_set' is missing"
3222
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnWorkspace.LabelProperty"]]], result)
3223
+
3224
+ @builtins.property
3225
+ def limits(
3226
+ self,
3227
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnWorkspace.LimitsPerLabelSetEntryProperty"]:
3228
+ '''This structure contains the information about the limits that apply to time series that match this label set.
3229
+
3230
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-limitsperlabelset.html#cfn-aps-workspace-limitsperlabelset-limits
3231
+ '''
3232
+ result = self._values.get("limits")
3233
+ assert result is not None, "Required property 'limits' is missing"
3234
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnWorkspace.LimitsPerLabelSetEntryProperty"], result)
3235
+
3236
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3237
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3238
+
3239
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3240
+ return not (rhs == self)
3241
+
3242
+ def __repr__(self) -> str:
3243
+ return "LimitsPerLabelSetProperty(%s)" % ", ".join(
3244
+ k + "=" + repr(v) for k, v in self._values.items()
3245
+ )
3246
+
3247
+ @jsii.data_type(
3248
+ jsii_type="aws-cdk-lib.aws_aps.CfnWorkspace.LoggingConfigurationProperty",
3249
+ jsii_struct_bases=[],
3250
+ name_mapping={"log_group_arn": "logGroupArn"},
3251
+ )
3252
+ class LoggingConfigurationProperty:
3253
+ def __init__(
3254
+ self,
3255
+ *,
3256
+ log_group_arn: typing.Optional[builtins.str] = None,
3257
+ ) -> None:
3258
+ '''Contains information about the rules and alerting logging configuration for the workspace.
3259
+
3260
+ .. epigraph::
3261
+
3262
+ These logging configurations are only for rules and alerting logs.
3263
+
3264
+ :param log_group_arn: The ARN of the CloudWatch log group to which the vended log data will be published. This log group must exist prior to calling this operation.
3265
+
3266
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-loggingconfiguration.html
3267
+ :exampleMetadata: fixture=_generated
3268
+
3269
+ Example::
3270
+
3271
+ # The code below shows an example of how to instantiate this type.
3272
+ # The values are placeholders you should change.
3273
+ from aws_cdk import aws_aps as aps
3274
+
3275
+ logging_configuration_property = aps.CfnWorkspace.LoggingConfigurationProperty(
3276
+ log_group_arn="logGroupArn"
3277
+ )
3278
+ '''
3279
+ if __debug__:
3280
+ type_hints = typing.get_type_hints(_typecheckingstub__fa0678eca2188c6c3220d708f7d16298acecab165f03de8b400d1fada6a4b9d9)
3281
+ check_type(argname="argument log_group_arn", value=log_group_arn, expected_type=type_hints["log_group_arn"])
3282
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3283
+ if log_group_arn is not None:
3284
+ self._values["log_group_arn"] = log_group_arn
3285
+
3286
+ @builtins.property
3287
+ def log_group_arn(self) -> typing.Optional[builtins.str]:
3288
+ '''The ARN of the CloudWatch log group to which the vended log data will be published.
3289
+
3290
+ This log group must exist prior to calling this operation.
3291
+
3292
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-loggingconfiguration.html#cfn-aps-workspace-loggingconfiguration-loggrouparn
3293
+ '''
3294
+ result = self._values.get("log_group_arn")
3295
+ return typing.cast(typing.Optional[builtins.str], result)
3296
+
3297
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3298
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3299
+
3300
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3301
+ return not (rhs == self)
3302
+
3303
+ def __repr__(self) -> str:
3304
+ return "LoggingConfigurationProperty(%s)" % ", ".join(
3305
+ k + "=" + repr(v) for k, v in self._values.items()
3306
+ )
3307
+
3308
+ @jsii.data_type(
3309
+ jsii_type="aws-cdk-lib.aws_aps.CfnWorkspace.LoggingDestinationProperty",
3310
+ jsii_struct_bases=[],
3311
+ name_mapping={"cloud_watch_logs": "cloudWatchLogs", "filters": "filters"},
3312
+ )
3313
+ class LoggingDestinationProperty:
3314
+ def __init__(
3315
+ self,
3316
+ *,
3317
+ cloud_watch_logs: typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspace.CloudWatchLogDestinationProperty", typing.Dict[builtins.str, typing.Any]]],
3318
+ filters: typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspace.LoggingFilterProperty", typing.Dict[builtins.str, typing.Any]]],
3319
+ ) -> None:
3320
+ '''The logging destination in an Amazon Managed Service for Prometheus workspace.
3321
+
3322
+ :param cloud_watch_logs: Configuration details for logging to CloudWatch Logs.
3323
+ :param filters: Filtering criteria that determine which queries are logged.
3324
+
3325
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-loggingdestination.html
3326
+ :exampleMetadata: fixture=_generated
3327
+
3328
+ Example::
3329
+
3330
+ # The code below shows an example of how to instantiate this type.
3331
+ # The values are placeholders you should change.
3332
+ from aws_cdk import aws_aps as aps
3333
+
3334
+ logging_destination_property = aps.CfnWorkspace.LoggingDestinationProperty(
3335
+ cloud_watch_logs=aps.CfnWorkspace.CloudWatchLogDestinationProperty(
3336
+ log_group_arn="logGroupArn"
3337
+ ),
3338
+ filters=aps.CfnWorkspace.LoggingFilterProperty(
3339
+ qsp_threshold=123
3340
+ )
3341
+ )
3342
+ '''
3343
+ if __debug__:
3344
+ type_hints = typing.get_type_hints(_typecheckingstub__cce5991812152322bf70db3d7cea0d7bb3cda26bb6b0e82d9bd091ef05995168)
3345
+ check_type(argname="argument cloud_watch_logs", value=cloud_watch_logs, expected_type=type_hints["cloud_watch_logs"])
3346
+ check_type(argname="argument filters", value=filters, expected_type=type_hints["filters"])
3347
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3348
+ "cloud_watch_logs": cloud_watch_logs,
3349
+ "filters": filters,
3350
+ }
3351
+
3352
+ @builtins.property
3353
+ def cloud_watch_logs(
3354
+ self,
3355
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnWorkspace.CloudWatchLogDestinationProperty"]:
3356
+ '''Configuration details for logging to CloudWatch Logs.
3357
+
3358
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-loggingdestination.html#cfn-aps-workspace-loggingdestination-cloudwatchlogs
3359
+ '''
3360
+ result = self._values.get("cloud_watch_logs")
3361
+ assert result is not None, "Required property 'cloud_watch_logs' is missing"
3362
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnWorkspace.CloudWatchLogDestinationProperty"], result)
3363
+
3364
+ @builtins.property
3365
+ def filters(
3366
+ self,
3367
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnWorkspace.LoggingFilterProperty"]:
3368
+ '''Filtering criteria that determine which queries are logged.
3369
+
3370
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-loggingdestination.html#cfn-aps-workspace-loggingdestination-filters
3371
+ '''
3372
+ result = self._values.get("filters")
3373
+ assert result is not None, "Required property 'filters' is missing"
3374
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnWorkspace.LoggingFilterProperty"], result)
3375
+
3376
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3377
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3378
+
3379
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3380
+ return not (rhs == self)
3381
+
3382
+ def __repr__(self) -> str:
3383
+ return "LoggingDestinationProperty(%s)" % ", ".join(
1545
3384
  k + "=" + repr(v) for k, v in self._values.items()
1546
3385
  )
1547
3386
 
1548
3387
  @jsii.data_type(
1549
- jsii_type="aws-cdk-lib.aws_aps.CfnWorkspace.LimitsPerLabelSetProperty",
3388
+ jsii_type="aws-cdk-lib.aws_aps.CfnWorkspace.LoggingFilterProperty",
1550
3389
  jsii_struct_bases=[],
1551
- name_mapping={"label_set": "labelSet", "limits": "limits"},
3390
+ name_mapping={"qsp_threshold": "qspThreshold"},
1552
3391
  )
1553
- class LimitsPerLabelSetProperty:
1554
- def __init__(
1555
- self,
1556
- *,
1557
- label_set: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspace.LabelProperty", typing.Dict[builtins.str, typing.Any]]]]],
1558
- limits: typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspace.LimitsPerLabelSetEntryProperty", typing.Dict[builtins.str, typing.Any]]],
1559
- ) -> None:
1560
- '''This defines a label set for the workspace, and defines the ingestion limit for active time series that match that label set.
1561
-
1562
- Each label name in a label set must be unique.
3392
+ class LoggingFilterProperty:
3393
+ def __init__(self, *, qsp_threshold: jsii.Number) -> None:
3394
+ '''Filtering criteria that determine which queries are logged.
1563
3395
 
1564
- :param label_set: This defines one label set that will have an enforced ingestion limit. You can set ingestion limits on time series that match defined label sets, to help prevent a workspace from being overwhelmed with unexpected spikes in time series ingestion. Label values accept all UTF-8 characters with one exception. If the label name is metric name label ``__ *name* __`` , then the *metric* part of the name must conform to the following pattern: ``[a-zA-Z_:][a-zA-Z0-9_:]*``
1565
- :param limits: This structure contains the information about the limits that apply to time series that match this label set.
3396
+ :param qsp_threshold: The Query Samples Processed (QSP) threshold above which queries will be logged. Queries processing more samples than this threshold will be captured in logs.
1566
3397
 
1567
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-limitsperlabelset.html
3398
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-loggingfilter.html
1568
3399
  :exampleMetadata: fixture=_generated
1569
3400
 
1570
3401
  Example::
@@ -1573,52 +3404,28 @@ class CfnWorkspace(
1573
3404
  # The values are placeholders you should change.
1574
3405
  from aws_cdk import aws_aps as aps
1575
3406
 
1576
- limits_per_label_set_property = aps.CfnWorkspace.LimitsPerLabelSetProperty(
1577
- label_set=[aps.CfnWorkspace.LabelProperty(
1578
- name="name",
1579
- value="value"
1580
- )],
1581
- limits=aps.CfnWorkspace.LimitsPerLabelSetEntryProperty(
1582
- max_series=123
1583
- )
3407
+ logging_filter_property = aps.CfnWorkspace.LoggingFilterProperty(
3408
+ qsp_threshold=123
1584
3409
  )
1585
3410
  '''
1586
3411
  if __debug__:
1587
- type_hints = typing.get_type_hints(_typecheckingstub__3d8045fc76bdfc4af5de994e0ebe3331fd81257f1ae53d90373a7ad960b0bca7)
1588
- check_type(argname="argument label_set", value=label_set, expected_type=type_hints["label_set"])
1589
- check_type(argname="argument limits", value=limits, expected_type=type_hints["limits"])
3412
+ type_hints = typing.get_type_hints(_typecheckingstub__8f1710f9a533b3c78aa9735866c9480208fe7ceb912d68581872b145d4c634fd)
3413
+ check_type(argname="argument qsp_threshold", value=qsp_threshold, expected_type=type_hints["qsp_threshold"])
1590
3414
  self._values: typing.Dict[builtins.str, typing.Any] = {
1591
- "label_set": label_set,
1592
- "limits": limits,
3415
+ "qsp_threshold": qsp_threshold,
1593
3416
  }
1594
3417
 
1595
3418
  @builtins.property
1596
- def label_set(
1597
- self,
1598
- ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnWorkspace.LabelProperty"]]]:
1599
- '''This defines one label set that will have an enforced ingestion limit.
1600
-
1601
- You can set ingestion limits on time series that match defined label sets, to help prevent a workspace from being overwhelmed with unexpected spikes in time series ingestion.
1602
-
1603
- Label values accept all UTF-8 characters with one exception. If the label name is metric name label ``__ *name* __`` , then the *metric* part of the name must conform to the following pattern: ``[a-zA-Z_:][a-zA-Z0-9_:]*``
1604
-
1605
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-limitsperlabelset.html#cfn-aps-workspace-limitsperlabelset-labelset
1606
- '''
1607
- result = self._values.get("label_set")
1608
- assert result is not None, "Required property 'label_set' is missing"
1609
- return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnWorkspace.LabelProperty"]]], result)
3419
+ def qsp_threshold(self) -> jsii.Number:
3420
+ '''The Query Samples Processed (QSP) threshold above which queries will be logged.
1610
3421
 
1611
- @builtins.property
1612
- def limits(
1613
- self,
1614
- ) -> typing.Union[_IResolvable_da3f097b, "CfnWorkspace.LimitsPerLabelSetEntryProperty"]:
1615
- '''This structure contains the information about the limits that apply to time series that match this label set.
3422
+ Queries processing more samples than this threshold will be captured in logs.
1616
3423
 
1617
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-limitsperlabelset.html#cfn-aps-workspace-limitsperlabelset-limits
3424
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-loggingfilter.html#cfn-aps-workspace-loggingfilter-qspthreshold
1618
3425
  '''
1619
- result = self._values.get("limits")
1620
- assert result is not None, "Required property 'limits' is missing"
1621
- return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnWorkspace.LimitsPerLabelSetEntryProperty"], result)
3426
+ result = self._values.get("qsp_threshold")
3427
+ assert result is not None, "Required property 'qsp_threshold' is missing"
3428
+ return typing.cast(jsii.Number, result)
1622
3429
 
1623
3430
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
1624
3431
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -1627,26 +3434,26 @@ class CfnWorkspace(
1627
3434
  return not (rhs == self)
1628
3435
 
1629
3436
  def __repr__(self) -> str:
1630
- return "LimitsPerLabelSetProperty(%s)" % ", ".join(
3437
+ return "LoggingFilterProperty(%s)" % ", ".join(
1631
3438
  k + "=" + repr(v) for k, v in self._values.items()
1632
3439
  )
1633
3440
 
1634
3441
  @jsii.data_type(
1635
- jsii_type="aws-cdk-lib.aws_aps.CfnWorkspace.LoggingConfigurationProperty",
3442
+ jsii_type="aws-cdk-lib.aws_aps.CfnWorkspace.QueryLoggingConfigurationProperty",
1636
3443
  jsii_struct_bases=[],
1637
- name_mapping={"log_group_arn": "logGroupArn"},
3444
+ name_mapping={"destinations": "destinations"},
1638
3445
  )
1639
- class LoggingConfigurationProperty:
3446
+ class QueryLoggingConfigurationProperty:
1640
3447
  def __init__(
1641
3448
  self,
1642
3449
  *,
1643
- log_group_arn: typing.Optional[builtins.str] = None,
3450
+ destinations: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspace.LoggingDestinationProperty", typing.Dict[builtins.str, typing.Any]]]]],
1644
3451
  ) -> None:
1645
- '''Contains information about the logging configuration for the workspace.
3452
+ '''The query logging configuration in an Amazon Managed Service for Prometheus workspace.
1646
3453
 
1647
- :param log_group_arn: The ARN of the CloudWatch log group to which the vended log data will be published. This log group must exist prior to calling this operation.
3454
+ :param destinations: Defines a destination and its associated filtering criteria for query logging.
1648
3455
 
1649
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-loggingconfiguration.html
3456
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-queryloggingconfiguration.html
1650
3457
  :exampleMetadata: fixture=_generated
1651
3458
 
1652
3459
  Example::
@@ -1655,27 +3462,35 @@ class CfnWorkspace(
1655
3462
  # The values are placeholders you should change.
1656
3463
  from aws_cdk import aws_aps as aps
1657
3464
 
1658
- logging_configuration_property = aps.CfnWorkspace.LoggingConfigurationProperty(
1659
- log_group_arn="logGroupArn"
3465
+ query_logging_configuration_property = aps.CfnWorkspace.QueryLoggingConfigurationProperty(
3466
+ destinations=[aps.CfnWorkspace.LoggingDestinationProperty(
3467
+ cloud_watch_logs=aps.CfnWorkspace.CloudWatchLogDestinationProperty(
3468
+ log_group_arn="logGroupArn"
3469
+ ),
3470
+ filters=aps.CfnWorkspace.LoggingFilterProperty(
3471
+ qsp_threshold=123
3472
+ )
3473
+ )]
1660
3474
  )
1661
3475
  '''
1662
3476
  if __debug__:
1663
- type_hints = typing.get_type_hints(_typecheckingstub__fa0678eca2188c6c3220d708f7d16298acecab165f03de8b400d1fada6a4b9d9)
1664
- check_type(argname="argument log_group_arn", value=log_group_arn, expected_type=type_hints["log_group_arn"])
1665
- self._values: typing.Dict[builtins.str, typing.Any] = {}
1666
- if log_group_arn is not None:
1667
- self._values["log_group_arn"] = log_group_arn
3477
+ type_hints = typing.get_type_hints(_typecheckingstub__59e9b7a5bb1ecf6d3e6bf0c4d2f497bea98d1fe68b36d502a98c9b336781a58a)
3478
+ check_type(argname="argument destinations", value=destinations, expected_type=type_hints["destinations"])
3479
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3480
+ "destinations": destinations,
3481
+ }
1668
3482
 
1669
3483
  @builtins.property
1670
- def log_group_arn(self) -> typing.Optional[builtins.str]:
1671
- '''The ARN of the CloudWatch log group to which the vended log data will be published.
1672
-
1673
- This log group must exist prior to calling this operation.
3484
+ def destinations(
3485
+ self,
3486
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnWorkspace.LoggingDestinationProperty"]]]:
3487
+ '''Defines a destination and its associated filtering criteria for query logging.
1674
3488
 
1675
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-loggingconfiguration.html#cfn-aps-workspace-loggingconfiguration-loggrouparn
3489
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-queryloggingconfiguration.html#cfn-aps-workspace-queryloggingconfiguration-destinations
1676
3490
  '''
1677
- result = self._values.get("log_group_arn")
1678
- return typing.cast(typing.Optional[builtins.str], result)
3491
+ result = self._values.get("destinations")
3492
+ assert result is not None, "Required property 'destinations' is missing"
3493
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnWorkspace.LoggingDestinationProperty"]]], result)
1679
3494
 
1680
3495
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
1681
3496
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -1684,7 +3499,7 @@ class CfnWorkspace(
1684
3499
  return not (rhs == self)
1685
3500
 
1686
3501
  def __repr__(self) -> str:
1687
- return "LoggingConfigurationProperty(%s)" % ", ".join(
3502
+ return "QueryLoggingConfigurationProperty(%s)" % ", ".join(
1688
3503
  k + "=" + repr(v) for k, v in self._values.items()
1689
3504
  )
1690
3505
 
@@ -1782,6 +3597,7 @@ class CfnWorkspace(
1782
3597
  "alias": "alias",
1783
3598
  "kms_key_arn": "kmsKeyArn",
1784
3599
  "logging_configuration": "loggingConfiguration",
3600
+ "query_logging_configuration": "queryLoggingConfiguration",
1785
3601
  "tags": "tags",
1786
3602
  "workspace_configuration": "workspaceConfiguration",
1787
3603
  },
@@ -1794,6 +3610,7 @@ class CfnWorkspaceProps:
1794
3610
  alias: typing.Optional[builtins.str] = None,
1795
3611
  kms_key_arn: typing.Optional[builtins.str] = None,
1796
3612
  logging_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspace.LoggingConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3613
+ query_logging_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspace.QueryLoggingConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1797
3614
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1798
3615
  workspace_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspace.WorkspaceConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1799
3616
  ) -> None:
@@ -1803,6 +3620,7 @@ class CfnWorkspaceProps:
1803
3620
  :param alias: The alias that is assigned to this workspace to help identify it. It does not need to be unique.
1804
3621
  :param kms_key_arn: (optional) The ARN for a customer managed AWS KMS key to use for encrypting data within your workspace. For more information about using your own key in your workspace, see `Encryption at rest <https://docs.aws.amazon.com/prometheus/latest/userguide/encryption-at-rest-Amazon-Service-Prometheus.html>`_ in the *Amazon Managed Service for Prometheus User Guide* .
1805
3622
  :param logging_configuration: Contains information about the logging configuration for the workspace.
3623
+ :param query_logging_configuration: The definition of logging configuration in an Amazon Managed Service for Prometheus workspace.
1806
3624
  :param tags: The list of tag keys and values that are associated with the workspace.
1807
3625
  :param workspace_configuration: Use this structure to define label sets and the ingestion limits for time series that match label sets, and to specify the retention period of the workspace.
1808
3626
 
@@ -1822,6 +3640,16 @@ class CfnWorkspaceProps:
1822
3640
  logging_configuration=aps.CfnWorkspace.LoggingConfigurationProperty(
1823
3641
  log_group_arn="logGroupArn"
1824
3642
  ),
3643
+ query_logging_configuration=aps.CfnWorkspace.QueryLoggingConfigurationProperty(
3644
+ destinations=[aps.CfnWorkspace.LoggingDestinationProperty(
3645
+ cloud_watch_logs=aps.CfnWorkspace.CloudWatchLogDestinationProperty(
3646
+ log_group_arn="logGroupArn"
3647
+ ),
3648
+ filters=aps.CfnWorkspace.LoggingFilterProperty(
3649
+ qsp_threshold=123
3650
+ )
3651
+ )]
3652
+ ),
1825
3653
  tags=[CfnTag(
1826
3654
  key="key",
1827
3655
  value="value"
@@ -1846,6 +3674,7 @@ class CfnWorkspaceProps:
1846
3674
  check_type(argname="argument alias", value=alias, expected_type=type_hints["alias"])
1847
3675
  check_type(argname="argument kms_key_arn", value=kms_key_arn, expected_type=type_hints["kms_key_arn"])
1848
3676
  check_type(argname="argument logging_configuration", value=logging_configuration, expected_type=type_hints["logging_configuration"])
3677
+ check_type(argname="argument query_logging_configuration", value=query_logging_configuration, expected_type=type_hints["query_logging_configuration"])
1849
3678
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
1850
3679
  check_type(argname="argument workspace_configuration", value=workspace_configuration, expected_type=type_hints["workspace_configuration"])
1851
3680
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -1857,6 +3686,8 @@ class CfnWorkspaceProps:
1857
3686
  self._values["kms_key_arn"] = kms_key_arn
1858
3687
  if logging_configuration is not None:
1859
3688
  self._values["logging_configuration"] = logging_configuration
3689
+ if query_logging_configuration is not None:
3690
+ self._values["query_logging_configuration"] = query_logging_configuration
1860
3691
  if tags is not None:
1861
3692
  self._values["tags"] = tags
1862
3693
  if workspace_configuration is not None:
@@ -1910,6 +3741,17 @@ class CfnWorkspaceProps:
1910
3741
  result = self._values.get("logging_configuration")
1911
3742
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWorkspace.LoggingConfigurationProperty]], result)
1912
3743
 
3744
+ @builtins.property
3745
+ def query_logging_configuration(
3746
+ self,
3747
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWorkspace.QueryLoggingConfigurationProperty]]:
3748
+ '''The definition of logging configuration in an Amazon Managed Service for Prometheus workspace.
3749
+
3750
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-workspace.html#cfn-aps-workspace-queryloggingconfiguration
3751
+ '''
3752
+ result = self._values.get("query_logging_configuration")
3753
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWorkspace.QueryLoggingConfigurationProperty]], result)
3754
+
1913
3755
  @builtins.property
1914
3756
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1915
3757
  '''The list of tag keys and values that are associated with the workspace.
@@ -1943,6 +3785,10 @@ class CfnWorkspaceProps:
1943
3785
 
1944
3786
 
1945
3787
  __all__ = [
3788
+ "CfnAnomalyDetector",
3789
+ "CfnAnomalyDetectorProps",
3790
+ "CfnResourcePolicy",
3791
+ "CfnResourcePolicyProps",
1946
3792
  "CfnRuleGroupsNamespace",
1947
3793
  "CfnRuleGroupsNamespaceProps",
1948
3794
  "CfnScraper",
@@ -1953,6 +3799,172 @@ __all__ = [
1953
3799
 
1954
3800
  publication.publish()
1955
3801
 
3802
+ def _typecheckingstub__58b3184629f18780da9f7c9eb2f8acdbdbb5190c9fc3ae41fdbbe34341ba0f26(
3803
+ scope: _constructs_77d1e7e8.Construct,
3804
+ id: builtins.str,
3805
+ *,
3806
+ alias: builtins.str,
3807
+ configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnAnomalyDetector.AnomalyDetectorConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
3808
+ workspace: builtins.str,
3809
+ evaluation_interval_in_seconds: typing.Optional[jsii.Number] = None,
3810
+ labels: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAnomalyDetector.LabelProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3811
+ missing_data_action: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAnomalyDetector.MissingDataActionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3812
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3813
+ ) -> None:
3814
+ """Type checking stubs"""
3815
+ pass
3816
+
3817
+ def _typecheckingstub__36a9fa3c67c466703717001e2774dacca3fa612b6ec02f8b6361ad6736da0ec7(
3818
+ inspector: _TreeInspector_488e0dd5,
3819
+ ) -> None:
3820
+ """Type checking stubs"""
3821
+ pass
3822
+
3823
+ def _typecheckingstub__1edc3473fdf33536207faf87047c2bef23ac4e4aecad53d1e0338308f0e5ab91(
3824
+ props: typing.Mapping[builtins.str, typing.Any],
3825
+ ) -> None:
3826
+ """Type checking stubs"""
3827
+ pass
3828
+
3829
+ def _typecheckingstub__fe3aa1b72ccc7677675b2ae76ae8e5e1dfd2146dae8eba7520a981184cdf780d(
3830
+ value: builtins.str,
3831
+ ) -> None:
3832
+ """Type checking stubs"""
3833
+ pass
3834
+
3835
+ def _typecheckingstub__1394fe6b497d7add7f3c437f746b83234bfd1714418b007d2ca77fcaf2e486fa(
3836
+ value: typing.Union[_IResolvable_da3f097b, CfnAnomalyDetector.AnomalyDetectorConfigurationProperty],
3837
+ ) -> None:
3838
+ """Type checking stubs"""
3839
+ pass
3840
+
3841
+ def _typecheckingstub__51d01d3c64410491a2005087b379e01fe1749ffd4be8e8dae194b7cc8e5e19b8(
3842
+ value: builtins.str,
3843
+ ) -> None:
3844
+ """Type checking stubs"""
3845
+ pass
3846
+
3847
+ def _typecheckingstub__ce3cb5189478c72429dee4d6fa1ed9635e537559491f15b775c279a89020cb75(
3848
+ value: typing.Optional[jsii.Number],
3849
+ ) -> None:
3850
+ """Type checking stubs"""
3851
+ pass
3852
+
3853
+ def _typecheckingstub__0d15555eb30ee6b4decc1dba71c708714ce1a7f00e658c2ce9c617f35dbea119(
3854
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnAnomalyDetector.LabelProperty]]]],
3855
+ ) -> None:
3856
+ """Type checking stubs"""
3857
+ pass
3858
+
3859
+ def _typecheckingstub__e639ced06e0101ba2e1108f2a5748e988f60e8c6ecadbb32ca0f2dc6162a53e8(
3860
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAnomalyDetector.MissingDataActionProperty]],
3861
+ ) -> None:
3862
+ """Type checking stubs"""
3863
+ pass
3864
+
3865
+ def _typecheckingstub__dc8b42c0f027d8c1c104a6037d9c3752efbfb2ae169c30d63f35dee5bad63b3f(
3866
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
3867
+ ) -> None:
3868
+ """Type checking stubs"""
3869
+ pass
3870
+
3871
+ def _typecheckingstub__aca672630a5e19c23bb68b82c63c873a7687610464d166cef0da5d6cde142082(
3872
+ *,
3873
+ random_cut_forest: typing.Union[_IResolvable_da3f097b, typing.Union[CfnAnomalyDetector.RandomCutForestConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
3874
+ ) -> None:
3875
+ """Type checking stubs"""
3876
+ pass
3877
+
3878
+ def _typecheckingstub__e3e1cf276ea5a24efc7ebe9d526fad4e86dd66a3f55ea5a0dcb3a617b8d62dff(
3879
+ *,
3880
+ amount: typing.Optional[jsii.Number] = None,
3881
+ ratio: typing.Optional[jsii.Number] = None,
3882
+ ) -> None:
3883
+ """Type checking stubs"""
3884
+ pass
3885
+
3886
+ def _typecheckingstub__3f784d604d60c49dd5fb567dcfedcd9d16e2ce47ba899589a373c9322818035a(
3887
+ *,
3888
+ key: builtins.str,
3889
+ value: builtins.str,
3890
+ ) -> None:
3891
+ """Type checking stubs"""
3892
+ pass
3893
+
3894
+ def _typecheckingstub__e5b8457b72ba87aa14000e26b68e021fa4b19e4e88f3a022910dcd18542039d0(
3895
+ *,
3896
+ mark_as_anomaly: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3897
+ skip: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3898
+ ) -> None:
3899
+ """Type checking stubs"""
3900
+ pass
3901
+
3902
+ def _typecheckingstub__83993f42a131a948093792cb8cd7b4f710c6b4dffce6b17f386497f1cbe514ea(
3903
+ *,
3904
+ query: builtins.str,
3905
+ ignore_near_expected_from_above: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAnomalyDetector.IgnoreNearExpectedProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3906
+ ignore_near_expected_from_below: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAnomalyDetector.IgnoreNearExpectedProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3907
+ sample_size: typing.Optional[jsii.Number] = None,
3908
+ shingle_size: typing.Optional[jsii.Number] = None,
3909
+ ) -> None:
3910
+ """Type checking stubs"""
3911
+ pass
3912
+
3913
+ def _typecheckingstub__be017a909bcb870b1880c9bb2c099abc51df504e0f9199ca315deb7fa50b9d6b(
3914
+ *,
3915
+ alias: builtins.str,
3916
+ configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnAnomalyDetector.AnomalyDetectorConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
3917
+ workspace: builtins.str,
3918
+ evaluation_interval_in_seconds: typing.Optional[jsii.Number] = None,
3919
+ labels: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAnomalyDetector.LabelProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3920
+ missing_data_action: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAnomalyDetector.MissingDataActionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3921
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3922
+ ) -> None:
3923
+ """Type checking stubs"""
3924
+ pass
3925
+
3926
+ def _typecheckingstub__54f89d9ee1d6d400f40f83801fe40dee056ce969e9e0501ca1390285aab7cb82(
3927
+ scope: _constructs_77d1e7e8.Construct,
3928
+ id: builtins.str,
3929
+ *,
3930
+ policy_document: builtins.str,
3931
+ workspace_arn: builtins.str,
3932
+ ) -> None:
3933
+ """Type checking stubs"""
3934
+ pass
3935
+
3936
+ def _typecheckingstub__7fd684bb5425ae9b9586530c2118e55043226673b8740171d3f7c2b1fbd03b3d(
3937
+ inspector: _TreeInspector_488e0dd5,
3938
+ ) -> None:
3939
+ """Type checking stubs"""
3940
+ pass
3941
+
3942
+ def _typecheckingstub__96c6a584b0420e6cc37e76ad4b000bc6d8f4137f577bf7075b4ec87bab8717d9(
3943
+ props: typing.Mapping[builtins.str, typing.Any],
3944
+ ) -> None:
3945
+ """Type checking stubs"""
3946
+ pass
3947
+
3948
+ def _typecheckingstub__d726921aa53fc43f461134d2df5d60edb5d56b4fa67ef6e4e82d305af7b7eba5(
3949
+ value: builtins.str,
3950
+ ) -> None:
3951
+ """Type checking stubs"""
3952
+ pass
3953
+
3954
+ def _typecheckingstub__2f020f5d54f91c35f0b4332b16391ef6561cfc07a46cc5fc1e48d4acdb82a4b8(
3955
+ value: builtins.str,
3956
+ ) -> None:
3957
+ """Type checking stubs"""
3958
+ pass
3959
+
3960
+ def _typecheckingstub__bb05747fc90b1776c66fd40ec5d261399f93ac6b367fc973d5df8b912bd30997(
3961
+ *,
3962
+ policy_document: builtins.str,
3963
+ workspace_arn: builtins.str,
3964
+ ) -> None:
3965
+ """Type checking stubs"""
3966
+ pass
3967
+
1956
3968
  def _typecheckingstub__02d681a4d4a1e9d9052c98f45bf8b21257e825ee8185b30ea4b6f887fc7416b1(
1957
3969
  scope: _constructs_77d1e7e8.Construct,
1958
3970
  id: builtins.str,
@@ -2020,6 +4032,7 @@ def _typecheckingstub__4d4cb1653b22b80f73c5fa4972418519c1d58f8ac033d22184f1b74ee
2020
4032
  source: typing.Union[_IResolvable_da3f097b, typing.Union[CfnScraper.SourceProperty, typing.Dict[builtins.str, typing.Any]]],
2021
4033
  alias: typing.Optional[builtins.str] = None,
2022
4034
  role_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnScraper.RoleConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4035
+ scraper_logging_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnScraper.ScraperLoggingConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2023
4036
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2024
4037
  ) -> None:
2025
4038
  """Type checking stubs"""
@@ -2067,6 +4080,12 @@ def _typecheckingstub__a8492f7c00f66de3309f136730786a3ad81d27f787146130fdb2b6191
2067
4080
  """Type checking stubs"""
2068
4081
  pass
2069
4082
 
4083
+ def _typecheckingstub__98c937c38a5c278540b0a6d9654c4dc0d8dbc46a2f3145fd9275f2a8fd9ce000(
4084
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnScraper.ScraperLoggingConfigurationProperty]],
4085
+ ) -> None:
4086
+ """Type checking stubs"""
4087
+ pass
4088
+
2070
4089
  def _typecheckingstub__265ada3fe1d3014c11a5af4d87c8e4b691d29a917e8643b804a82b7c3223573f(
2071
4090
  value: typing.Optional[typing.List[_CfnTag_f6864754]],
2072
4091
  ) -> None:
@@ -2080,6 +4099,20 @@ def _typecheckingstub__02c8f0a43ed30375a3d1b283c2450f310915b0f0fcff6103d168cb18a
2080
4099
  """Type checking stubs"""
2081
4100
  pass
2082
4101
 
4102
+ def _typecheckingstub__d4d1b8a234d9b0461189ac94d16b7043b8e40fc1a62680a811ba8396bc54a5d6(
4103
+ *,
4104
+ log_group_arn: typing.Optional[builtins.str] = None,
4105
+ ) -> None:
4106
+ """Type checking stubs"""
4107
+ pass
4108
+
4109
+ def _typecheckingstub__c81abd8a9526f73204a9bfa774d69e9b3ec81f7592dafabd756679cc66dcb1e1(
4110
+ *,
4111
+ options: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
4112
+ ) -> None:
4113
+ """Type checking stubs"""
4114
+ pass
4115
+
2083
4116
  def _typecheckingstub__e9dfeb013903b3b566e12e34ac903da7aaad96412ee8622e798d0f4931b78c31(
2084
4117
  *,
2085
4118
  amp_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnScraper.AmpConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
@@ -2111,6 +4144,29 @@ def _typecheckingstub__61507a1463486662c27c8fec99a5cb181f22e5f346b7bb6d10823ad9b
2111
4144
  """Type checking stubs"""
2112
4145
  pass
2113
4146
 
4147
+ def _typecheckingstub__be259f573540cfe3fb130cbc10c656811dffac0fb6663b27b9f4982549990b6a(
4148
+ *,
4149
+ type: builtins.str,
4150
+ config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnScraper.ComponentConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4151
+ ) -> None:
4152
+ """Type checking stubs"""
4153
+ pass
4154
+
4155
+ def _typecheckingstub__ea5221003b2ff43404935c67045669a8a84790d807c849eadd6df28ea9b60feb(
4156
+ *,
4157
+ logging_destination: typing.Union[_IResolvable_da3f097b, typing.Union[CfnScraper.ScraperLoggingDestinationProperty, typing.Dict[builtins.str, typing.Any]]],
4158
+ scraper_components: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnScraper.ScraperComponentProperty, typing.Dict[builtins.str, typing.Any]]]]],
4159
+ ) -> None:
4160
+ """Type checking stubs"""
4161
+ pass
4162
+
4163
+ def _typecheckingstub__63a27055fededd95d1bc1fba74349c5f0f37894ed254d1e1ce3d670ded2f515f(
4164
+ *,
4165
+ cloud_watch_logs: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnScraper.CloudWatchLogDestinationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4166
+ ) -> None:
4167
+ """Type checking stubs"""
4168
+ pass
4169
+
2114
4170
  def _typecheckingstub__655e83ac40d7d6fcc3362aa2c25fcfadc0beb5744ef393de105d7d152821a330(
2115
4171
  *,
2116
4172
  eks_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnScraper.EksConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
@@ -2125,6 +4181,7 @@ def _typecheckingstub__f302dfc2aa92636b313e32f5d91a0ccfd79ebde0259b977f6291d4c83
2125
4181
  source: typing.Union[_IResolvable_da3f097b, typing.Union[CfnScraper.SourceProperty, typing.Dict[builtins.str, typing.Any]]],
2126
4182
  alias: typing.Optional[builtins.str] = None,
2127
4183
  role_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnScraper.RoleConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4184
+ scraper_logging_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnScraper.ScraperLoggingConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2128
4185
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2129
4186
  ) -> None:
2130
4187
  """Type checking stubs"""
@@ -2138,6 +4195,7 @@ def _typecheckingstub__0d7d4de6c2c3c0a6cc1f746f35f29f98344da5c5d59e48a9d1e788ab8
2138
4195
  alias: typing.Optional[builtins.str] = None,
2139
4196
  kms_key_arn: typing.Optional[builtins.str] = None,
2140
4197
  logging_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspace.LoggingConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4198
+ query_logging_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspace.QueryLoggingConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2141
4199
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2142
4200
  workspace_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspace.WorkspaceConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2143
4201
  ) -> None:
@@ -2180,6 +4238,12 @@ def _typecheckingstub__ab06dccfc037b2ba3e02b4a3154224a63edcfe3fc06381ff9162c2c33
2180
4238
  """Type checking stubs"""
2181
4239
  pass
2182
4240
 
4241
+ def _typecheckingstub__6591166b06ced49bc35c6390884a7a1c30cea4102022183768ac43e25c00f9fc(
4242
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWorkspace.QueryLoggingConfigurationProperty]],
4243
+ ) -> None:
4244
+ """Type checking stubs"""
4245
+ pass
4246
+
2183
4247
  def _typecheckingstub__fb4e1977fb1f7aad47144a42af408e41c9d01794f3569a614a9ed54effb1c1e5(
2184
4248
  value: typing.Optional[typing.List[_CfnTag_f6864754]],
2185
4249
  ) -> None:
@@ -2192,6 +4256,13 @@ def _typecheckingstub__7dc44ff5af32b5cdcf5234cdf89709e32cf5a9217d64f6f2b66251910
2192
4256
  """Type checking stubs"""
2193
4257
  pass
2194
4258
 
4259
+ def _typecheckingstub__925c774442f9150193a5d3bfa3fb05562aec6581139c1378b5f09e1c30fb40ee(
4260
+ *,
4261
+ log_group_arn: builtins.str,
4262
+ ) -> None:
4263
+ """Type checking stubs"""
4264
+ pass
4265
+
2195
4266
  def _typecheckingstub__b34eb56a3257d05ed157ec9252590ce797546e9e647035e7f3e639a6629c1cd3(
2196
4267
  *,
2197
4268
  name: builtins.str,
@@ -2222,6 +4293,28 @@ def _typecheckingstub__fa0678eca2188c6c3220d708f7d16298acecab165f03de8b400d1fada
2222
4293
  """Type checking stubs"""
2223
4294
  pass
2224
4295
 
4296
+ def _typecheckingstub__cce5991812152322bf70db3d7cea0d7bb3cda26bb6b0e82d9bd091ef05995168(
4297
+ *,
4298
+ cloud_watch_logs: typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspace.CloudWatchLogDestinationProperty, typing.Dict[builtins.str, typing.Any]]],
4299
+ filters: typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspace.LoggingFilterProperty, typing.Dict[builtins.str, typing.Any]]],
4300
+ ) -> None:
4301
+ """Type checking stubs"""
4302
+ pass
4303
+
4304
+ def _typecheckingstub__8f1710f9a533b3c78aa9735866c9480208fe7ceb912d68581872b145d4c634fd(
4305
+ *,
4306
+ qsp_threshold: jsii.Number,
4307
+ ) -> None:
4308
+ """Type checking stubs"""
4309
+ pass
4310
+
4311
+ def _typecheckingstub__59e9b7a5bb1ecf6d3e6bf0c4d2f497bea98d1fe68b36d502a98c9b336781a58a(
4312
+ *,
4313
+ destinations: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspace.LoggingDestinationProperty, typing.Dict[builtins.str, typing.Any]]]]],
4314
+ ) -> None:
4315
+ """Type checking stubs"""
4316
+ pass
4317
+
2225
4318
  def _typecheckingstub__8d8bd4b9a39be1594ef4681992e92f89f24816c775c0e0c40e340be13e59392a(
2226
4319
  *,
2227
4320
  limits_per_label_sets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspace.LimitsPerLabelSetProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
@@ -2236,6 +4329,7 @@ def _typecheckingstub__98e95bd874171795b8c6f6104e5fee9fa1d8f50cb6e1edc6d2cc01a77
2236
4329
  alias: typing.Optional[builtins.str] = None,
2237
4330
  kms_key_arn: typing.Optional[builtins.str] = None,
2238
4331
  logging_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspace.LoggingConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4332
+ query_logging_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspace.QueryLoggingConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2239
4333
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2240
4334
  workspace_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkspace.WorkspaceConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2241
4335
  ) -> None: