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

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

Potentially problematic release.


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

Files changed (569) hide show
  1. aws_cdk/__init__.py +1349 -373
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.200.2.jsii.tgz → aws-cdk-lib@2.224.0.jsii.tgz} +0 -0
  4. aws_cdk/alexa_ask/__init__.py +12 -2
  5. aws_cdk/aws_accessanalyzer/__init__.py +323 -6
  6. aws_cdk/aws_acmpca/__init__.py +53 -10
  7. aws_cdk/aws_aiops/__init__.py +1019 -0
  8. aws_cdk/aws_amazonmq/__init__.py +357 -313
  9. aws_cdk/aws_amplify/__init__.py +173 -17
  10. aws_cdk/aws_amplifyuibuilder/__init__.py +35 -6
  11. aws_cdk/aws_apigateway/__init__.py +1017 -155
  12. aws_cdk/aws_apigatewayv2/__init__.py +2796 -379
  13. aws_cdk/aws_apigatewayv2_integrations/__init__.py +94 -16
  14. aws_cdk/aws_appconfig/__init__.py +298 -43
  15. aws_cdk/aws_appflow/__init__.py +151 -6
  16. aws_cdk/aws_appintegrations/__init__.py +546 -6
  17. aws_cdk/aws_applicationautoscaling/__init__.py +29 -6
  18. aws_cdk/aws_applicationinsights/__init__.py +13 -2
  19. aws_cdk/aws_applicationsignals/__init__.py +374 -6
  20. aws_cdk/aws_appmesh/__init__.py +94 -26
  21. aws_cdk/aws_apprunner/__init__.py +66 -18
  22. aws_cdk/aws_appstream/__init__.py +309 -55
  23. aws_cdk/aws_appsync/__init__.py +227 -53
  24. aws_cdk/aws_apptest/__init__.py +71 -2
  25. aws_cdk/aws_aps/__init__.py +1875 -132
  26. aws_cdk/aws_arcregionswitch/__init__.py +5095 -0
  27. aws_cdk/aws_arczonalshift/__init__.py +39 -12
  28. aws_cdk/aws_athena/__init__.py +365 -29
  29. aws_cdk/aws_auditmanager/__init__.py +71 -2
  30. aws_cdk/aws_autoscaling/__init__.py +135 -55
  31. aws_cdk/aws_autoscaling_common/__init__.py +3 -0
  32. aws_cdk/aws_autoscalingplans/__init__.py +13 -2
  33. aws_cdk/aws_b2bi/__init__.py +1819 -99
  34. aws_cdk/aws_backup/__init__.py +317 -28
  35. aws_cdk/aws_backupgateway/__init__.py +13 -2
  36. aws_cdk/aws_batch/__init__.py +1405 -178
  37. aws_cdk/aws_bcmdataexports/__init__.py +21 -2
  38. aws_cdk/aws_bedrock/__init__.py +6747 -627
  39. aws_cdk/aws_bedrockagentcore/__init__.py +10425 -0
  40. aws_cdk/aws_billingconductor/__init__.py +197 -11
  41. aws_cdk/aws_budgets/__init__.py +42 -4
  42. aws_cdk/aws_cassandra/__init__.py +247 -6
  43. aws_cdk/aws_ce/__init__.py +35 -6
  44. aws_cdk/aws_certificatemanager/__init__.py +237 -32
  45. aws_cdk/aws_chatbot/__init__.py +70 -6
  46. aws_cdk/aws_cleanrooms/__init__.py +709 -206
  47. aws_cdk/aws_cleanroomsml/__init__.py +13 -2
  48. aws_cdk/aws_cloud9/__init__.py +13 -2
  49. aws_cdk/aws_cloudformation/__init__.py +345 -166
  50. aws_cdk/aws_cloudfront/__init__.py +2101 -680
  51. aws_cdk/aws_cloudfront/experimental/__init__.py +108 -16
  52. aws_cdk/aws_cloudfront_origins/__init__.py +614 -73
  53. aws_cdk/aws_cloudtrail/__init__.py +301 -17
  54. aws_cdk/aws_cloudwatch/__init__.py +1414 -153
  55. aws_cdk/aws_codeartifact/__init__.py +35 -6
  56. aws_cdk/aws_codebuild/__init__.py +1103 -118
  57. aws_cdk/aws_codecommit/__init__.py +23 -9
  58. aws_cdk/aws_codeconnections/__init__.py +13 -2
  59. aws_cdk/aws_codedeploy/__init__.py +67 -6
  60. aws_cdk/aws_codeguruprofiler/__init__.py +74 -2
  61. aws_cdk/aws_codegurureviewer/__init__.py +13 -2
  62. aws_cdk/aws_codepipeline/__init__.py +127 -64
  63. aws_cdk/aws_codepipeline_actions/__init__.py +749 -0
  64. aws_cdk/aws_codestar/__init__.py +13 -2
  65. aws_cdk/aws_codestarconnections/__init__.py +35 -6
  66. aws_cdk/aws_codestarnotifications/__init__.py +16 -2
  67. aws_cdk/aws_cognito/__init__.py +814 -80
  68. aws_cdk/aws_cognito_identitypool/__init__.py +17 -12
  69. aws_cdk/aws_comprehend/__init__.py +24 -4
  70. aws_cdk/aws_config/__init__.py +191 -30
  71. aws_cdk/aws_connect/__init__.py +2736 -191
  72. aws_cdk/aws_connectcampaigns/__init__.py +13 -2
  73. aws_cdk/aws_connectcampaignsv2/__init__.py +268 -6
  74. aws_cdk/aws_controltower/__init__.py +35 -6
  75. aws_cdk/aws_cur/__init__.py +100 -4
  76. aws_cdk/aws_customerprofiles/__init__.py +617 -27
  77. aws_cdk/aws_databrew/__init__.py +68 -12
  78. aws_cdk/aws_datapipeline/__init__.py +42 -2
  79. aws_cdk/aws_datasync/__init__.py +723 -203
  80. aws_cdk/aws_datazone/__init__.py +4425 -608
  81. aws_cdk/aws_dax/__init__.py +83 -6
  82. aws_cdk/aws_deadline/__init__.py +321 -32
  83. aws_cdk/aws_detective/__init__.py +35 -6
  84. aws_cdk/aws_devicefarm/__init__.py +68 -12
  85. aws_cdk/aws_devopsguru/__init__.py +37 -6
  86. aws_cdk/aws_directoryservice/__init__.py +53 -4
  87. aws_cdk/aws_dlm/__init__.py +13 -2
  88. aws_cdk/aws_dms/__init__.py +184 -27
  89. aws_cdk/aws_docdb/__init__.py +323 -46
  90. aws_cdk/aws_docdbelastic/__init__.py +13 -2
  91. aws_cdk/aws_dsql/__init__.py +340 -12
  92. aws_cdk/aws_dynamodb/__init__.py +1463 -166
  93. aws_cdk/aws_ec2/__init__.py +9636 -1120
  94. aws_cdk/aws_ecr/__init__.py +631 -43
  95. aws_cdk/aws_ecr_assets/__init__.py +4 -0
  96. aws_cdk/aws_ecs/__init__.py +6524 -497
  97. aws_cdk/aws_ecs_patterns/__init__.py +2 -0
  98. aws_cdk/aws_efs/__init__.py +264 -24
  99. aws_cdk/aws_eks/__init__.py +1050 -218
  100. aws_cdk/aws_elasticache/__init__.py +373 -20
  101. aws_cdk/aws_elasticbeanstalk/__init__.py +75 -8
  102. aws_cdk/aws_elasticloadbalancing/__init__.py +16 -2
  103. aws_cdk/aws_elasticloadbalancingv2/__init__.py +1670 -106
  104. aws_cdk/aws_elasticsearch/__init__.py +282 -9
  105. aws_cdk/aws_emr/__init__.py +187 -20
  106. aws_cdk/aws_emrcontainers/__init__.py +71 -2
  107. aws_cdk/aws_emrserverless/__init__.py +188 -3
  108. aws_cdk/aws_entityresolution/__init__.py +585 -58
  109. aws_cdk/aws_events/__init__.py +969 -124
  110. aws_cdk/aws_events_targets/__init__.py +310 -54
  111. aws_cdk/aws_eventschemas/__init__.py +46 -8
  112. aws_cdk/aws_evidently/__init__.py +57 -10
  113. aws_cdk/aws_evs/__init__.py +2244 -0
  114. aws_cdk/aws_finspace/__init__.py +71 -2
  115. aws_cdk/aws_fis/__init__.py +26 -4
  116. aws_cdk/aws_fms/__init__.py +35 -6
  117. aws_cdk/aws_forecast/__init__.py +24 -4
  118. aws_cdk/aws_frauddetector/__init__.py +79 -14
  119. aws_cdk/aws_fsx/__init__.py +1236 -142
  120. aws_cdk/aws_gamelift/__init__.py +653 -78
  121. aws_cdk/aws_gameliftstreams/__init__.py +38 -16
  122. aws_cdk/aws_globalaccelerator/__init__.py +55 -14
  123. aws_cdk/aws_glue/__init__.py +1368 -320
  124. aws_cdk/aws_grafana/__init__.py +13 -2
  125. aws_cdk/aws_greengrass/__init__.py +654 -32
  126. aws_cdk/aws_greengrassv2/__init__.py +53 -4
  127. aws_cdk/aws_groundstation/__init__.py +122 -6
  128. aws_cdk/aws_guardduty/__init__.py +1613 -123
  129. aws_cdk/aws_healthimaging/__init__.py +71 -2
  130. aws_cdk/aws_healthlake/__init__.py +42 -2
  131. aws_cdk/aws_iam/__init__.py +480 -140
  132. aws_cdk/aws_identitystore/__init__.py +24 -4
  133. aws_cdk/aws_imagebuilder/__init__.py +1433 -183
  134. aws_cdk/aws_inspector/__init__.py +38 -6
  135. aws_cdk/aws_inspectorv2/__init__.py +2285 -243
  136. aws_cdk/aws_internetmonitor/__init__.py +71 -2
  137. aws_cdk/aws_invoicing/__init__.py +13 -2
  138. aws_cdk/aws_iot/__init__.py +1730 -86
  139. aws_cdk/aws_iotanalytics/__init__.py +162 -8
  140. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +106 -40
  141. aws_cdk/aws_iotevents/__init__.py +122 -6
  142. aws_cdk/aws_iotfleethub/__init__.py +71 -2
  143. aws_cdk/aws_iotfleetwise/__init__.py +195 -14
  144. aws_cdk/aws_iotsitewise/__init__.py +1837 -89
  145. aws_cdk/aws_iotthingsgraph/__init__.py +13 -2
  146. aws_cdk/aws_iottwinmaker/__init__.py +115 -10
  147. aws_cdk/aws_iotwireless/__init__.py +649 -22
  148. aws_cdk/aws_ivs/__init__.py +561 -57
  149. aws_cdk/aws_ivschat/__init__.py +24 -4
  150. aws_cdk/aws_kafkaconnect/__init__.py +35 -6
  151. aws_cdk/aws_kendra/__init__.py +120 -28
  152. aws_cdk/aws_kendraranking/__init__.py +13 -2
  153. aws_cdk/aws_kinesis/__init__.py +622 -22
  154. aws_cdk/aws_kinesisanalytics/__init__.py +467 -94
  155. aws_cdk/aws_kinesisanalyticsv2/__init__.py +201 -11
  156. aws_cdk/aws_kinesisfirehose/__init__.py +3077 -295
  157. aws_cdk/aws_kinesisvideo/__init__.py +24 -4
  158. aws_cdk/aws_kms/__init__.py +188 -41
  159. aws_cdk/aws_lakeformation/__init__.py +80 -15
  160. aws_cdk/aws_lambda/__init__.py +2101 -252
  161. aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
  162. aws_cdk/aws_lambda_nodejs/__init__.py +63 -24
  163. aws_cdk/aws_launchwizard/__init__.py +13 -2
  164. aws_cdk/aws_lex/__init__.py +871 -8
  165. aws_cdk/aws_licensemanager/__init__.py +24 -4
  166. aws_cdk/aws_lightsail/__init__.py +2159 -975
  167. aws_cdk/aws_location/__init__.py +618 -14
  168. aws_cdk/aws_logs/__init__.py +5904 -956
  169. aws_cdk/aws_lookoutequipment/__init__.py +13 -2
  170. aws_cdk/aws_lookoutmetrics/__init__.py +38 -6
  171. aws_cdk/aws_lookoutvision/__init__.py +71 -2
  172. aws_cdk/aws_m2/__init__.py +94 -19
  173. aws_cdk/aws_macie/__init__.py +49 -11
  174. aws_cdk/aws_managedblockchain/__init__.py +180 -6
  175. aws_cdk/aws_mediaconnect/__init__.py +101 -18
  176. aws_cdk/aws_mediaconvert/__init__.py +35 -6
  177. aws_cdk/aws_medialive/__init__.py +1239 -35
  178. aws_cdk/aws_mediapackage/__init__.py +59 -12
  179. aws_cdk/aws_mediapackagev2/__init__.py +1607 -225
  180. aws_cdk/aws_mediastore/__init__.py +13 -2
  181. aws_cdk/aws_mediatailor/__init__.py +583 -12
  182. aws_cdk/aws_memorydb/__init__.py +271 -12
  183. aws_cdk/aws_mpa/__init__.py +1495 -0
  184. aws_cdk/aws_msk/__init__.py +104 -18
  185. aws_cdk/aws_mwaa/__init__.py +121 -9
  186. aws_cdk/aws_neptune/__init__.py +290 -78
  187. aws_cdk/aws_neptunegraph/__init__.py +24 -4
  188. aws_cdk/aws_networkfirewall/__init__.py +1289 -273
  189. aws_cdk/aws_networkmanager/__init__.py +349 -33
  190. aws_cdk/aws_nimblestudio/__init__.py +75 -8
  191. aws_cdk/aws_notifications/__init__.py +317 -12
  192. aws_cdk/aws_notificationscontacts/__init__.py +13 -2
  193. aws_cdk/aws_oam/__init__.py +24 -4
  194. aws_cdk/aws_observabilityadmin/__init__.py +2561 -0
  195. aws_cdk/aws_odb/__init__.py +5872 -0
  196. aws_cdk/aws_omics/__init__.py +2495 -529
  197. aws_cdk/aws_opensearchserverless/__init__.py +312 -37
  198. aws_cdk/aws_opensearchservice/__init__.py +495 -19
  199. aws_cdk/aws_opsworks/__init__.py +235 -139
  200. aws_cdk/aws_opsworkscm/__init__.py +16 -52
  201. aws_cdk/aws_organizations/__init__.py +70 -10
  202. aws_cdk/aws_osis/__init__.py +167 -2
  203. aws_cdk/aws_panorama/__init__.py +151 -6
  204. aws_cdk/aws_paymentcryptography/__init__.py +24 -4
  205. aws_cdk/aws_pcaconnectorad/__init__.py +59 -10
  206. aws_cdk/aws_pcaconnectorscep/__init__.py +24 -4
  207. aws_cdk/aws_pcs/__init__.py +387 -68
  208. aws_cdk/aws_personalize/__init__.py +46 -8
  209. aws_cdk/aws_pinpoint/__init__.py +329 -38
  210. aws_cdk/aws_pinpointemail/__init__.py +48 -8
  211. aws_cdk/aws_pipes/__init__.py +12 -2
  212. aws_cdk/aws_proton/__init__.py +37 -6
  213. aws_cdk/aws_qbusiness/__init__.py +635 -34
  214. aws_cdk/aws_qldb/__init__.py +24 -4
  215. aws_cdk/aws_quicksight/__init__.py +7900 -1160
  216. aws_cdk/aws_ram/__init__.py +24 -4
  217. aws_cdk/aws_rbin/__init__.py +12 -2
  218. aws_cdk/aws_rds/__init__.py +3345 -512
  219. aws_cdk/aws_redshift/__init__.py +143 -20
  220. aws_cdk/aws_redshiftserverless/__init__.py +692 -4
  221. aws_cdk/aws_refactorspaces/__init__.py +64 -14
  222. aws_cdk/aws_rekognition/__init__.py +93 -6
  223. aws_cdk/aws_resiliencehub/__init__.py +24 -4
  224. aws_cdk/aws_resourceexplorer2/__init__.py +35 -6
  225. aws_cdk/aws_resourcegroups/__init__.py +82 -4
  226. aws_cdk/aws_robomaker/__init__.py +72 -12
  227. aws_cdk/aws_rolesanywhere/__init__.py +180 -6
  228. aws_cdk/aws_route53/__init__.py +3273 -1442
  229. aws_cdk/aws_route53_targets/__init__.py +3 -0
  230. aws_cdk/aws_route53profiles/__init__.py +37 -6
  231. aws_cdk/aws_route53recoverycontrol/__init__.py +46 -8
  232. aws_cdk/aws_route53recoveryreadiness/__init__.py +104 -8
  233. aws_cdk/aws_route53resolver/__init__.py +226 -36
  234. aws_cdk/aws_rtbfabric/__init__.py +3498 -0
  235. aws_cdk/aws_rum/__init__.py +13 -2
  236. aws_cdk/aws_s3/__init__.py +1291 -158
  237. aws_cdk/aws_s3_assets/__init__.py +11 -11
  238. aws_cdk/aws_s3_deployment/__init__.py +147 -11
  239. aws_cdk/aws_s3_notifications/__init__.py +7 -7
  240. aws_cdk/aws_s3express/__init__.py +266 -8
  241. aws_cdk/aws_s3objectlambda/__init__.py +68 -16
  242. aws_cdk/aws_s3outposts/__init__.py +46 -8
  243. aws_cdk/aws_s3tables/__init__.py +2000 -323
  244. aws_cdk/aws_s3vectors/__init__.py +1378 -0
  245. aws_cdk/aws_sagemaker/__init__.py +6617 -363
  246. aws_cdk/aws_sam/__init__.py +79 -14
  247. aws_cdk/aws_scheduler/__init__.py +237 -4
  248. aws_cdk/aws_sdb/__init__.py +12 -2
  249. aws_cdk/aws_secretsmanager/__init__.py +170 -14
  250. aws_cdk/aws_securityhub/__init__.py +3121 -176
  251. aws_cdk/aws_securitylake/__init__.py +46 -8
  252. aws_cdk/aws_servicecatalog/__init__.py +405 -246
  253. aws_cdk/aws_servicecatalogappregistry/__init__.py +164 -8
  254. aws_cdk/aws_servicediscovery/__init__.py +140 -47
  255. aws_cdk/aws_ses/__init__.py +1231 -140
  256. aws_cdk/aws_shield/__init__.py +46 -8
  257. aws_cdk/aws_signer/__init__.py +27 -4
  258. aws_cdk/aws_simspaceweaver/__init__.py +42 -2
  259. aws_cdk/aws_smsvoice/__init__.py +4716 -0
  260. aws_cdk/aws_sns/__init__.py +245 -29
  261. aws_cdk/aws_sns_subscriptions/__init__.py +3 -1
  262. aws_cdk/aws_sqs/__init__.py +211 -14
  263. aws_cdk/aws_ssm/__init__.py +401 -58
  264. aws_cdk/aws_ssmcontacts/__init__.py +46 -8
  265. aws_cdk/aws_ssmguiconnect/__init__.py +13 -2
  266. aws_cdk/aws_ssmincidents/__init__.py +24 -4
  267. aws_cdk/aws_ssmquicksetup/__init__.py +383 -6
  268. aws_cdk/aws_sso/__init__.py +70 -12
  269. aws_cdk/aws_stepfunctions/__init__.py +615 -70
  270. aws_cdk/aws_stepfunctions_tasks/__init__.py +781 -144
  271. aws_cdk/aws_supportapp/__init__.py +39 -6
  272. aws_cdk/aws_synthetics/__init__.py +861 -75
  273. aws_cdk/aws_systemsmanagersap/__init__.py +13 -2
  274. aws_cdk/aws_timestream/__init__.py +104 -8
  275. aws_cdk/aws_transfer/__init__.py +784 -87
  276. aws_cdk/aws_verifiedpermissions/__init__.py +145 -17
  277. aws_cdk/aws_voiceid/__init__.py +41 -2
  278. aws_cdk/aws_vpclattice/__init__.py +376 -30
  279. aws_cdk/aws_waf/__init__.py +79 -14
  280. aws_cdk/aws_wafregional/__init__.py +123 -22
  281. aws_cdk/aws_wafv2/__init__.py +1179 -60
  282. aws_cdk/aws_wisdom/__init__.py +1401 -90
  283. aws_cdk/aws_workspaces/__init__.py +93 -6
  284. aws_cdk/aws_workspacesinstances/__init__.py +3940 -0
  285. aws_cdk/aws_workspacesthinclient/__init__.py +79 -10
  286. aws_cdk/aws_workspacesweb/__init__.py +1057 -141
  287. aws_cdk/aws_xray/__init__.py +48 -8
  288. aws_cdk/cloud_assembly_schema/__init__.py +231 -6
  289. aws_cdk/custom_resources/__init__.py +40 -12
  290. aws_cdk/cx_api/__init__.py +85 -14
  291. aws_cdk/interfaces/__init__.py +739 -0
  292. aws_cdk/interfaces/alexa_ask/__init__.py +146 -0
  293. aws_cdk/interfaces/aws_accessanalyzer/__init__.py +146 -0
  294. aws_cdk/interfaces/aws_acmpca/__init__.py +501 -0
  295. aws_cdk/interfaces/aws_aiops/__init__.py +146 -0
  296. aws_cdk/interfaces/aws_amazonmq/__init__.py +386 -0
  297. aws_cdk/interfaces/aws_amplify/__init__.py +352 -0
  298. aws_cdk/interfaces/aws_amplifyuibuilder/__init__.py +454 -0
  299. aws_cdk/interfaces/aws_apigateway/__init__.py +2486 -0
  300. aws_cdk/interfaces/aws_apigatewayv2/__init__.py +1651 -0
  301. aws_cdk/interfaces/aws_appconfig/__init__.py +1020 -0
  302. aws_cdk/interfaces/aws_appflow/__init__.py +404 -0
  303. aws_cdk/interfaces/aws_appintegrations/__init__.py +396 -0
  304. aws_cdk/interfaces/aws_applicationautoscaling/__init__.py +307 -0
  305. aws_cdk/interfaces/aws_applicationinsights/__init__.py +148 -0
  306. aws_cdk/interfaces/aws_applicationsignals/__init__.py +358 -0
  307. aws_cdk/interfaces/aws_appmesh/__init__.py +888 -0
  308. aws_cdk/interfaces/aws_apprunner/__init__.py +564 -0
  309. aws_cdk/interfaces/aws_appstream/__init__.py +1482 -0
  310. aws_cdk/interfaces/aws_appsync/__init__.py +1326 -0
  311. aws_cdk/interfaces/aws_apptest/__init__.py +163 -0
  312. aws_cdk/interfaces/aws_aps/__init__.py +558 -0
  313. aws_cdk/interfaces/aws_arcregionswitch/__init__.py +146 -0
  314. aws_cdk/interfaces/aws_arczonalshift/__init__.py +273 -0
  315. aws_cdk/interfaces/aws_athena/__init__.py +575 -0
  316. aws_cdk/interfaces/aws_auditmanager/__init__.py +163 -0
  317. aws_cdk/interfaces/aws_autoscaling/__init__.py +705 -0
  318. aws_cdk/interfaces/aws_autoscalingplans/__init__.py +148 -0
  319. aws_cdk/interfaces/aws_b2bi/__init__.py +524 -0
  320. aws_cdk/interfaces/aws_backup/__init__.py +955 -0
  321. aws_cdk/interfaces/aws_backupgateway/__init__.py +146 -0
  322. aws_cdk/interfaces/aws_batch/__init__.py +681 -0
  323. aws_cdk/interfaces/aws_bcmdataexports/__init__.py +146 -0
  324. aws_cdk/interfaces/aws_bedrock/__init__.py +1942 -0
  325. aws_cdk/interfaces/aws_bedrockagentcore/__init__.py +934 -0
  326. aws_cdk/interfaces/aws_billing/__init__.py +146 -0
  327. aws_cdk/interfaces/aws_billingconductor/__init__.py +463 -0
  328. aws_cdk/interfaces/aws_budgets/__init__.py +261 -0
  329. aws_cdk/interfaces/aws_cassandra/__init__.py +381 -0
  330. aws_cdk/interfaces/aws_ce/__init__.py +352 -0
  331. aws_cdk/interfaces/aws_certificatemanager/__init__.py +251 -0
  332. aws_cdk/interfaces/aws_chatbot/__init__.py +366 -0
  333. aws_cdk/interfaces/aws_cleanrooms/__init__.py +1103 -0
  334. aws_cdk/interfaces/aws_cleanroomsml/__init__.py +148 -0
  335. aws_cdk/interfaces/aws_cloud9/__init__.py +166 -0
  336. aws_cdk/interfaces/aws_cloudformation/__init__.py +1919 -0
  337. aws_cdk/interfaces/aws_cloudfront/__init__.py +1998 -0
  338. aws_cdk/interfaces/aws_cloudtrail/__init__.py +570 -0
  339. aws_cdk/interfaces/aws_cloudwatch/__init__.py +733 -0
  340. aws_cdk/interfaces/aws_codeartifact/__init__.py +352 -0
  341. aws_cdk/interfaces/aws_codebuild/__init__.py +487 -0
  342. aws_cdk/interfaces/aws_codecommit/__init__.py +163 -0
  343. aws_cdk/interfaces/aws_codeconnections/__init__.py +146 -0
  344. aws_cdk/interfaces/aws_codedeploy/__init__.py +352 -0
  345. aws_cdk/interfaces/aws_codeguruprofiler/__init__.py +168 -0
  346. aws_cdk/interfaces/aws_codegurureviewer/__init__.py +148 -0
  347. aws_cdk/interfaces/aws_codepipeline/__init__.py +388 -0
  348. aws_cdk/interfaces/aws_codestar/__init__.py +146 -0
  349. aws_cdk/interfaces/aws_codestarconnections/__init__.py +370 -0
  350. aws_cdk/interfaces/aws_codestarnotifications/__init__.py +148 -0
  351. aws_cdk/interfaces/aws_cognito/__init__.py +1929 -0
  352. aws_cdk/interfaces/aws_comprehend/__init__.py +251 -0
  353. aws_cdk/interfaces/aws_config/__init__.py +1165 -0
  354. aws_cdk/interfaces/aws_connect/__init__.py +2949 -0
  355. aws_cdk/interfaces/aws_connectcampaigns/__init__.py +146 -0
  356. aws_cdk/interfaces/aws_connectcampaignsv2/__init__.py +146 -0
  357. aws_cdk/interfaces/aws_controltower/__init__.py +394 -0
  358. aws_cdk/interfaces/aws_cur/__init__.py +146 -0
  359. aws_cdk/interfaces/aws_customerprofiles/__init__.py +915 -0
  360. aws_cdk/interfaces/aws_databrew/__init__.py +661 -0
  361. aws_cdk/interfaces/aws_datapipeline/__init__.py +146 -0
  362. aws_cdk/interfaces/aws_datasync/__init__.py +1384 -0
  363. aws_cdk/interfaces/aws_datazone/__init__.py +2238 -0
  364. aws_cdk/interfaces/aws_dax/__init__.py +364 -0
  365. aws_cdk/interfaces/aws_deadline/__init__.py +1303 -0
  366. aws_cdk/interfaces/aws_detective/__init__.py +364 -0
  367. aws_cdk/interfaces/aws_devicefarm/__init__.py +663 -0
  368. aws_cdk/interfaces/aws_devopsguru/__init__.py +362 -0
  369. aws_cdk/interfaces/aws_directoryservice/__init__.py +251 -0
  370. aws_cdk/interfaces/aws_dlm/__init__.py +166 -0
  371. aws_cdk/interfaces/aws_dms/__init__.py +1176 -0
  372. aws_cdk/interfaces/aws_docdb/__init__.py +560 -0
  373. aws_cdk/interfaces/aws_docdbelastic/__init__.py +146 -0
  374. aws_cdk/interfaces/aws_dsql/__init__.py +146 -0
  375. aws_cdk/interfaces/aws_dynamodb/__init__.py +278 -0
  376. aws_cdk/interfaces/aws_ec2/__init__.py +11963 -0
  377. aws_cdk/interfaces/aws_ecr/__init__.py +814 -0
  378. aws_cdk/interfaces/aws_ecs/__init__.py +845 -0
  379. aws_cdk/interfaces/aws_efs/__init__.py +392 -0
  380. aws_cdk/interfaces/aws_eks/__init__.py +948 -0
  381. aws_cdk/interfaces/aws_elasticache/__init__.py +1108 -0
  382. aws_cdk/interfaces/aws_elasticbeanstalk/__init__.py +503 -0
  383. aws_cdk/interfaces/aws_elasticloadbalancing/__init__.py +148 -0
  384. aws_cdk/interfaces/aws_elasticloadbalancingv2/__init__.py +795 -0
  385. aws_cdk/interfaces/aws_elasticsearch/__init__.py +158 -0
  386. aws_cdk/interfaces/aws_emr/__init__.py +913 -0
  387. aws_cdk/interfaces/aws_emrcontainers/__init__.py +168 -0
  388. aws_cdk/interfaces/aws_emrserverless/__init__.py +166 -0
  389. aws_cdk/interfaces/aws_entityresolution/__init__.py +608 -0
  390. aws_cdk/interfaces/aws_events/__init__.py +872 -0
  391. aws_cdk/interfaces/aws_eventschemas/__init__.py +455 -0
  392. aws_cdk/interfaces/aws_evidently/__init__.py +558 -0
  393. aws_cdk/interfaces/aws_evs/__init__.py +166 -0
  394. aws_cdk/interfaces/aws_finspace/__init__.py +166 -0
  395. aws_cdk/interfaces/aws_fis/__init__.py +271 -0
  396. aws_cdk/interfaces/aws_fms/__init__.py +364 -0
  397. aws_cdk/interfaces/aws_forecast/__init__.py +249 -0
  398. aws_cdk/interfaces/aws_frauddetector/__init__.py +764 -0
  399. aws_cdk/interfaces/aws_fsx/__init__.py +663 -0
  400. aws_cdk/interfaces/aws_gamelift/__init__.py +1325 -0
  401. aws_cdk/interfaces/aws_gameliftstreams/__init__.py +249 -0
  402. aws_cdk/interfaces/aws_globalaccelerator/__init__.py +461 -0
  403. aws_cdk/interfaces/aws_glue/__init__.py +2377 -0
  404. aws_cdk/interfaces/aws_grafana/__init__.py +146 -0
  405. aws_cdk/interfaces/aws_greengrass/__init__.py +1871 -0
  406. aws_cdk/interfaces/aws_greengrassv2/__init__.py +251 -0
  407. aws_cdk/interfaces/aws_groundstation/__init__.py +396 -0
  408. aws_cdk/interfaces/aws_guardduty/__init__.py +1225 -0
  409. aws_cdk/interfaces/aws_healthimaging/__init__.py +163 -0
  410. aws_cdk/interfaces/aws_healthlake/__init__.py +146 -0
  411. aws_cdk/interfaces/aws_iam/__init__.py +1803 -0
  412. aws_cdk/interfaces/aws_identitystore/__init__.py +288 -0
  413. aws_cdk/interfaces/aws_imagebuilder/__init__.py +984 -0
  414. aws_cdk/interfaces/aws_inspector/__init__.py +354 -0
  415. aws_cdk/interfaces/aws_inspectorv2/__init__.py +467 -0
  416. aws_cdk/interfaces/aws_internetmonitor/__init__.py +163 -0
  417. aws_cdk/interfaces/aws_invoicing/__init__.py +146 -0
  418. aws_cdk/interfaces/aws_iot/__init__.py +3483 -0
  419. aws_cdk/interfaces/aws_iotanalytics/__init__.py +455 -0
  420. aws_cdk/interfaces/aws_iotcoredeviceadvisor/__init__.py +168 -0
  421. aws_cdk/interfaces/aws_iotevents/__init__.py +352 -0
  422. aws_cdk/interfaces/aws_iotfleethub/__init__.py +166 -0
  423. aws_cdk/interfaces/aws_iotfleetwise/__init__.py +892 -0
  424. aws_cdk/interfaces/aws_iotsitewise/__init__.py +1097 -0
  425. aws_cdk/interfaces/aws_iotthingsgraph/__init__.py +146 -0
  426. aws_cdk/interfaces/aws_iottwinmaker/__init__.py +711 -0
  427. aws_cdk/interfaces/aws_iotwireless/__init__.py +1401 -0
  428. aws_cdk/interfaces/aws_ivs/__init__.py +1075 -0
  429. aws_cdk/interfaces/aws_ivschat/__init__.py +251 -0
  430. aws_cdk/interfaces/aws_kafkaconnect/__init__.py +354 -0
  431. aws_cdk/interfaces/aws_kendra/__init__.py +428 -0
  432. aws_cdk/interfaces/aws_kendraranking/__init__.py +166 -0
  433. aws_cdk/interfaces/aws_kinesis/__init__.py +364 -0
  434. aws_cdk/interfaces/aws_kinesisanalytics/__init__.py +364 -0
  435. aws_cdk/interfaces/aws_kinesisanalyticsv2/__init__.py +479 -0
  436. aws_cdk/interfaces/aws_kinesisfirehose/__init__.py +168 -0
  437. aws_cdk/interfaces/aws_kinesisvideo/__init__.py +283 -0
  438. aws_cdk/interfaces/aws_kms/__init__.py +376 -0
  439. aws_cdk/interfaces/aws_lakeformation/__init__.py +860 -0
  440. aws_cdk/interfaces/aws_lambda/__init__.py +1141 -0
  441. aws_cdk/interfaces/aws_launchwizard/__init__.py +146 -0
  442. aws_cdk/interfaces/aws_lex/__init__.py +513 -0
  443. aws_cdk/interfaces/aws_licensemanager/__init__.py +249 -0
  444. aws_cdk/interfaces/aws_lightsail/__init__.py +1744 -0
  445. aws_cdk/interfaces/aws_location/__init__.py +879 -0
  446. aws_cdk/interfaces/aws_logs/__init__.py +1667 -0
  447. aws_cdk/interfaces/aws_lookoutequipment/__init__.py +168 -0
  448. aws_cdk/interfaces/aws_lookoutmetrics/__init__.py +251 -0
  449. aws_cdk/interfaces/aws_lookoutvision/__init__.py +163 -0
  450. aws_cdk/interfaces/aws_m2/__init__.py +352 -0
  451. aws_cdk/interfaces/aws_macie/__init__.py +512 -0
  452. aws_cdk/interfaces/aws_managedblockchain/__init__.py +381 -0
  453. aws_cdk/interfaces/aws_mediaconnect/__init__.py +1028 -0
  454. aws_cdk/interfaces/aws_mediaconvert/__init__.py +396 -0
  455. aws_cdk/interfaces/aws_medialive/__init__.py +1755 -0
  456. aws_cdk/interfaces/aws_mediapackage/__init__.py +644 -0
  457. aws_cdk/interfaces/aws_mediapackagev2/__init__.py +618 -0
  458. aws_cdk/interfaces/aws_mediastore/__init__.py +146 -0
  459. aws_cdk/interfaces/aws_mediatailor/__init__.py +788 -0
  460. aws_cdk/interfaces/aws_memorydb/__init__.py +685 -0
  461. aws_cdk/interfaces/aws_mpa/__init__.py +249 -0
  462. aws_cdk/interfaces/aws_msk/__init__.py +764 -0
  463. aws_cdk/interfaces/aws_mwaa/__init__.py +166 -0
  464. aws_cdk/interfaces/aws_neptune/__init__.py +663 -0
  465. aws_cdk/interfaces/aws_neptunegraph/__init__.py +265 -0
  466. aws_cdk/interfaces/aws_networkfirewall/__init__.py +669 -0
  467. aws_cdk/interfaces/aws_networkmanager/__init__.py +1832 -0
  468. aws_cdk/interfaces/aws_nimblestudio/__init__.py +388 -0
  469. aws_cdk/interfaces/aws_notifications/__init__.py +868 -0
  470. aws_cdk/interfaces/aws_notificationscontacts/__init__.py +148 -0
  471. aws_cdk/interfaces/aws_oam/__init__.py +249 -0
  472. aws_cdk/interfaces/aws_observabilityadmin/__init__.py +362 -0
  473. aws_cdk/interfaces/aws_odb/__init__.py +562 -0
  474. aws_cdk/interfaces/aws_omics/__init__.py +838 -0
  475. aws_cdk/interfaces/aws_opensearchserverless/__init__.py +859 -0
  476. aws_cdk/interfaces/aws_opensearchservice/__init__.py +283 -0
  477. aws_cdk/interfaces/aws_opsworks/__init__.py +772 -0
  478. aws_cdk/interfaces/aws_opsworkscm/__init__.py +146 -0
  479. aws_cdk/interfaces/aws_organizations/__init__.py +646 -0
  480. aws_cdk/interfaces/aws_osis/__init__.py +146 -0
  481. aws_cdk/interfaces/aws_panorama/__init__.py +420 -0
  482. aws_cdk/interfaces/aws_paymentcryptography/__init__.py +249 -0
  483. aws_cdk/interfaces/aws_pcaconnectorad/__init__.py +608 -0
  484. aws_cdk/interfaces/aws_pcaconnectorscep/__init__.py +249 -0
  485. aws_cdk/interfaces/aws_pcs/__init__.py +352 -0
  486. aws_cdk/interfaces/aws_personalize/__init__.py +455 -0
  487. aws_cdk/interfaces/aws_pinpoint/__init__.py +2125 -0
  488. aws_cdk/interfaces/aws_pinpointemail/__init__.py +467 -0
  489. aws_cdk/interfaces/aws_pipes/__init__.py +158 -0
  490. aws_cdk/interfaces/aws_proton/__init__.py +360 -0
  491. aws_cdk/interfaces/aws_qbusiness/__init__.py +1122 -0
  492. aws_cdk/interfaces/aws_qldb/__init__.py +283 -0
  493. aws_cdk/interfaces/aws_quicksight/__init__.py +1566 -0
  494. aws_cdk/interfaces/aws_ram/__init__.py +249 -0
  495. aws_cdk/interfaces/aws_rbin/__init__.py +146 -0
  496. aws_cdk/interfaces/aws_rds/__init__.py +1780 -0
  497. aws_cdk/interfaces/aws_redshift/__init__.py +1104 -0
  498. aws_cdk/interfaces/aws_redshiftserverless/__init__.py +356 -0
  499. aws_cdk/interfaces/aws_refactorspaces/__init__.py +605 -0
  500. aws_cdk/interfaces/aws_rekognition/__init__.py +406 -0
  501. aws_cdk/interfaces/aws_resiliencehub/__init__.py +251 -0
  502. aws_cdk/interfaces/aws_resourceexplorer2/__init__.py +354 -0
  503. aws_cdk/interfaces/aws_resourcegroups/__init__.py +261 -0
  504. aws_cdk/interfaces/aws_robomaker/__init__.py +673 -0
  505. aws_cdk/interfaces/aws_rolesanywhere/__init__.py +384 -0
  506. aws_cdk/interfaces/aws_route53/__init__.py +804 -0
  507. aws_cdk/interfaces/aws_route53profiles/__init__.py +368 -0
  508. aws_cdk/interfaces/aws_route53recoverycontrol/__init__.py +463 -0
  509. aws_cdk/interfaces/aws_route53recoveryreadiness/__init__.py +535 -0
  510. aws_cdk/interfaces/aws_route53resolver/__init__.py +1356 -0
  511. aws_cdk/interfaces/aws_rtbfabric/__init__.py +352 -0
  512. aws_cdk/interfaces/aws_rum/__init__.py +146 -0
  513. aws_cdk/interfaces/aws_s3/__init__.py +1171 -0
  514. aws_cdk/interfaces/aws_s3express/__init__.py +392 -0
  515. aws_cdk/interfaces/aws_s3objectlambda/__init__.py +271 -0
  516. aws_cdk/interfaces/aws_s3outposts/__init__.py +455 -0
  517. aws_cdk/interfaces/aws_s3tables/__init__.py +575 -0
  518. aws_cdk/interfaces/aws_s3vectors/__init__.py +354 -0
  519. aws_cdk/interfaces/aws_sagemaker/__init__.py +3797 -0
  520. aws_cdk/interfaces/aws_sam/__init__.py +603 -0
  521. aws_cdk/interfaces/aws_scheduler/__init__.py +286 -0
  522. aws_cdk/interfaces/aws_sdb/__init__.py +146 -0
  523. aws_cdk/interfaces/aws_secretsmanager/__init__.py +461 -0
  524. aws_cdk/interfaces/aws_securityhub/__init__.py +1499 -0
  525. aws_cdk/interfaces/aws_securitylake/__init__.py +474 -0
  526. aws_cdk/interfaces/aws_servicecatalog/__init__.py +1829 -0
  527. aws_cdk/interfaces/aws_servicecatalogappregistry/__init__.py +557 -0
  528. aws_cdk/interfaces/aws_servicediscovery/__init__.py +636 -0
  529. aws_cdk/interfaces/aws_ses/__init__.py +2018 -0
  530. aws_cdk/interfaces/aws_shield/__init__.py +455 -0
  531. aws_cdk/interfaces/aws_signer/__init__.py +266 -0
  532. aws_cdk/interfaces/aws_simspaceweaver/__init__.py +146 -0
  533. aws_cdk/interfaces/aws_smsvoice/__init__.py +892 -0
  534. aws_cdk/interfaces/aws_sns/__init__.py +455 -0
  535. aws_cdk/interfaces/aws_sqs/__init__.py +364 -0
  536. aws_cdk/interfaces/aws_ssm/__init__.py +982 -0
  537. aws_cdk/interfaces/aws_ssmcontacts/__init__.py +455 -0
  538. aws_cdk/interfaces/aws_ssmguiconnect/__init__.py +146 -0
  539. aws_cdk/interfaces/aws_ssmincidents/__init__.py +249 -0
  540. aws_cdk/interfaces/aws_ssmquicksetup/__init__.py +253 -0
  541. aws_cdk/interfaces/aws_sso/__init__.py +797 -0
  542. aws_cdk/interfaces/aws_stepfunctions/__init__.py +459 -0
  543. aws_cdk/interfaces/aws_supportapp/__init__.py +372 -0
  544. aws_cdk/interfaces/aws_synthetics/__init__.py +249 -0
  545. aws_cdk/interfaces/aws_systemsmanagersap/__init__.py +148 -0
  546. aws_cdk/interfaces/aws_timestream/__init__.py +526 -0
  547. aws_cdk/interfaces/aws_transfer/__init__.py +967 -0
  548. aws_cdk/interfaces/aws_verifiedpermissions/__init__.py +538 -0
  549. aws_cdk/interfaces/aws_voiceid/__init__.py +146 -0
  550. aws_cdk/interfaces/aws_vpclattice/__init__.py +1418 -0
  551. aws_cdk/interfaces/aws_waf/__init__.py +764 -0
  552. aws_cdk/interfaces/aws_wafregional/__init__.py +1182 -0
  553. aws_cdk/interfaces/aws_wafv2/__init__.py +870 -0
  554. aws_cdk/interfaces/aws_wisdom/__init__.py +1556 -0
  555. aws_cdk/interfaces/aws_workspaces/__init__.py +352 -0
  556. aws_cdk/interfaces/aws_workspacesinstances/__init__.py +390 -0
  557. aws_cdk/interfaces/aws_workspacesthinclient/__init__.py +168 -0
  558. aws_cdk/interfaces/aws_workspacesweb/__init__.py +1085 -0
  559. aws_cdk/interfaces/aws_xray/__init__.py +457 -0
  560. aws_cdk/pipelines/__init__.py +192 -42
  561. aws_cdk/region_info/__init__.py +3 -0
  562. aws_cdk/triggers/__init__.py +60 -18
  563. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/METADATA +338 -16
  564. aws_cdk_lib-2.224.0.dist-info/RECORD +584 -0
  565. aws_cdk_lib-2.200.2.dist-info/RECORD +0 -304
  566. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/LICENSE +0 -0
  567. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/NOTICE +0 -0
  568. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/WHEEL +0 -0
  569. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/top_level.txt +0 -0
@@ -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* .
71
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"))
72
1071
 
73
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
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
+ )
1166
+
1167
+
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,9 +1538,11 @@ 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.
@@ -429,6 +1550,7 @@ class CfnScraper(
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
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(
@@ -580,56 +1709,185 @@ class CfnScraper(
580
1709
  '''An optional user-assigned scraper alias.'''
581
1710
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "alias"))
582
1711
 
583
- @alias.setter
584
- def alias(self, value: typing.Optional[builtins.str]) -> None:
585
- if __debug__:
586
- type_hints = typing.get_type_hints(_typecheckingstub__36b98e11e4ea8701c0469eb24a036fb1452c2573d264405f3d5237c104fd77a0)
587
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
588
- jsii.set(self, "alias", value) # pyright: ignore[reportArgumentType]
1712
+ @alias.setter
1713
+ def alias(self, value: typing.Optional[builtins.str]) -> None:
1714
+ if __debug__:
1715
+ type_hints = typing.get_type_hints(_typecheckingstub__36b98e11e4ea8701c0469eb24a036fb1452c2573d264405f3d5237c104fd77a0)
1716
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1717
+ jsii.set(self, "alias", value) # pyright: ignore[reportArgumentType]
1718
+
1719
+ @builtins.property
1720
+ @jsii.member(jsii_name="roleConfiguration")
1721
+ def role_configuration(
1722
+ self,
1723
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnScraper.RoleConfigurationProperty"]]:
1724
+ '''The role configuration in an Amazon Managed Service for Prometheus scraper.'''
1725
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnScraper.RoleConfigurationProperty"]], jsii.get(self, "roleConfiguration"))
1726
+
1727
+ @role_configuration.setter
1728
+ def role_configuration(
1729
+ self,
1730
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnScraper.RoleConfigurationProperty"]],
1731
+ ) -> None:
1732
+ if __debug__:
1733
+ type_hints = typing.get_type_hints(_typecheckingstub__a8492f7c00f66de3309f136730786a3ad81d27f787146130fdb2b6191464e92c)
1734
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1735
+ jsii.set(self, "roleConfiguration", value) # pyright: ignore[reportArgumentType]
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
+
1755
+ @builtins.property
1756
+ @jsii.member(jsii_name="tags")
1757
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1758
+ '''(Optional) The list of tag keys and values associated with the scraper.'''
1759
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
1760
+
1761
+ @tags.setter
1762
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
1763
+ if __debug__:
1764
+ type_hints = typing.get_type_hints(_typecheckingstub__265ada3fe1d3014c11a5af4d87c8e4b691d29a917e8643b804a82b7c3223573f)
1765
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1766
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
1767
+
1768
+ @jsii.data_type(
1769
+ jsii_type="aws-cdk-lib.aws_aps.CfnScraper.AmpConfigurationProperty",
1770
+ jsii_struct_bases=[],
1771
+ name_mapping={"workspace_arn": "workspaceArn"},
1772
+ )
1773
+ class AmpConfigurationProperty:
1774
+ def __init__(self, *, workspace_arn: builtins.str) -> None:
1775
+ '''The ``AmpConfiguration`` structure defines the Amazon Managed Service for Prometheus instance a scraper should send metrics to.
1776
+
1777
+ :param workspace_arn: ARN of the Amazon Managed Service for Prometheus workspace.
1778
+
1779
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-ampconfiguration.html
1780
+ :exampleMetadata: fixture=_generated
1781
+
1782
+ Example::
1783
+
1784
+ # The code below shows an example of how to instantiate this type.
1785
+ # The values are placeholders you should change.
1786
+ from aws_cdk import aws_aps as aps
1787
+
1788
+ amp_configuration_property = aps.CfnScraper.AmpConfigurationProperty(
1789
+ workspace_arn="workspaceArn"
1790
+ )
1791
+ '''
1792
+ if __debug__:
1793
+ type_hints = typing.get_type_hints(_typecheckingstub__02c8f0a43ed30375a3d1b283c2450f310915b0f0fcff6103d168cb18a16bfc4f)
1794
+ check_type(argname="argument workspace_arn", value=workspace_arn, expected_type=type_hints["workspace_arn"])
1795
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1796
+ "workspace_arn": workspace_arn,
1797
+ }
1798
+
1799
+ @builtins.property
1800
+ def workspace_arn(self) -> builtins.str:
1801
+ '''ARN of the Amazon Managed Service for Prometheus workspace.
1802
+
1803
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-ampconfiguration.html#cfn-aps-scraper-ampconfiguration-workspacearn
1804
+ '''
1805
+ result = self._values.get("workspace_arn")
1806
+ assert result is not None, "Required property 'workspace_arn' is missing"
1807
+ return typing.cast(builtins.str, result)
1808
+
1809
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1810
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1811
+
1812
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1813
+ return not (rhs == self)
1814
+
1815
+ def __repr__(self) -> str:
1816
+ return "AmpConfigurationProperty(%s)" % ", ".join(
1817
+ k + "=" + repr(v) for k, v in self._values.items()
1818
+ )
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.
589
1858
 
590
- @builtins.property
591
- @jsii.member(jsii_name="roleConfiguration")
592
- def role_configuration(
593
- self,
594
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnScraper.RoleConfigurationProperty"]]:
595
- '''The role configuration in an Amazon Managed Service for Prometheus scraper.'''
596
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnScraper.RoleConfigurationProperty"]], jsii.get(self, "roleConfiguration"))
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)
597
1863
 
598
- @role_configuration.setter
599
- def role_configuration(
600
- self,
601
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnScraper.RoleConfigurationProperty"]],
602
- ) -> None:
603
- if __debug__:
604
- type_hints = typing.get_type_hints(_typecheckingstub__a8492f7c00f66de3309f136730786a3ad81d27f787146130fdb2b6191464e92c)
605
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
606
- jsii.set(self, "roleConfiguration", value) # pyright: ignore[reportArgumentType]
1864
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1865
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
607
1866
 
608
- @builtins.property
609
- @jsii.member(jsii_name="tags")
610
- def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
611
- '''(Optional) The list of tag keys and values associated with the scraper.'''
612
- return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
1867
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1868
+ return not (rhs == self)
613
1869
 
614
- @tags.setter
615
- def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
616
- if __debug__:
617
- type_hints = typing.get_type_hints(_typecheckingstub__265ada3fe1d3014c11a5af4d87c8e4b691d29a917e8643b804a82b7c3223573f)
618
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
619
- jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
1870
+ def __repr__(self) -> str:
1871
+ return "CloudWatchLogDestinationProperty(%s)" % ", ".join(
1872
+ k + "=" + repr(v) for k, v in self._values.items()
1873
+ )
620
1874
 
621
1875
  @jsii.data_type(
622
- jsii_type="aws-cdk-lib.aws_aps.CfnScraper.AmpConfigurationProperty",
1876
+ jsii_type="aws-cdk-lib.aws_aps.CfnScraper.ComponentConfigProperty",
623
1877
  jsii_struct_bases=[],
624
- name_mapping={"workspace_arn": "workspaceArn"},
1878
+ name_mapping={"options": "options"},
625
1879
  )
626
- class AmpConfigurationProperty:
627
- def __init__(self, *, workspace_arn: builtins.str) -> None:
628
- '''The ``AmpConfiguration`` structure defines the Amazon Managed Service for Prometheus instance a scraper should send metrics to.
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.
629
1887
 
630
- :param workspace_arn: ARN of the Amazon Managed Service for Prometheus workspace.
1888
+ :param options: Configuration options for the scraper component.
631
1889
 
632
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-ampconfiguration.html
1890
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-componentconfig.html
633
1891
  :exampleMetadata: fixture=_generated
634
1892
 
635
1893
  Example::
@@ -638,26 +1896,29 @@ class CfnScraper(
638
1896
  # The values are placeholders you should change.
639
1897
  from aws_cdk import aws_aps as aps
640
1898
 
641
- amp_configuration_property = aps.CfnScraper.AmpConfigurationProperty(
642
- workspace_arn="workspaceArn"
1899
+ component_config_property = aps.CfnScraper.ComponentConfigProperty(
1900
+ options={
1901
+ "options_key": "options"
1902
+ }
643
1903
  )
644
1904
  '''
645
1905
  if __debug__:
646
- type_hints = typing.get_type_hints(_typecheckingstub__02c8f0a43ed30375a3d1b283c2450f310915b0f0fcff6103d168cb18a16bfc4f)
647
- check_type(argname="argument workspace_arn", value=workspace_arn, expected_type=type_hints["workspace_arn"])
648
- self._values: typing.Dict[builtins.str, typing.Any] = {
649
- "workspace_arn": workspace_arn,
650
- }
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
651
1911
 
652
1912
  @builtins.property
653
- def workspace_arn(self) -> builtins.str:
654
- '''ARN of the Amazon Managed Service for Prometheus workspace.
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.
655
1917
 
656
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-ampconfiguration.html#cfn-aps-scraper-ampconfiguration-workspacearn
1918
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-componentconfig.html#cfn-aps-scraper-componentconfig-options
657
1919
  '''
658
- result = self._values.get("workspace_arn")
659
- assert result is not None, "Required property 'workspace_arn' is missing"
660
- return typing.cast(builtins.str, result)
1920
+ result = self._values.get("options")
1921
+ return typing.cast(typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]], result)
661
1922
 
662
1923
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
663
1924
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -666,7 +1927,7 @@ class CfnScraper(
666
1927
  return not (rhs == self)
667
1928
 
668
1929
  def __repr__(self) -> str:
669
- return "AmpConfigurationProperty(%s)" % ", ".join(
1930
+ return "ComponentConfigProperty(%s)" % ", ".join(
670
1931
  k + "=" + repr(v) for k, v in self._values.items()
671
1932
  )
672
1933
 
@@ -803,13 +2064,219 @@ class CfnScraper(
803
2064
  return typing.cast(typing.List[builtins.str], result)
804
2065
 
805
2066
  @builtins.property
806
- def security_group_ids(self) -> typing.Optional[typing.List[builtins.str]]:
807
- '''A list of the security group IDs for the Amazon EKS cluster VPC configuration.
2067
+ def security_group_ids(self) -> typing.Optional[typing.List[builtins.str]]:
2068
+ '''A list of the security group IDs for the Amazon EKS cluster VPC configuration.
2069
+
2070
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-eksconfiguration.html#cfn-aps-scraper-eksconfiguration-securitygroupids
2071
+ '''
2072
+ result = self._values.get("security_group_ids")
2073
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
2074
+
2075
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2076
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2077
+
2078
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2079
+ return not (rhs == self)
2080
+
2081
+ def __repr__(self) -> str:
2082
+ return "EksConfigurationProperty(%s)" % ", ".join(
2083
+ k + "=" + repr(v) for k, v in self._values.items()
2084
+ )
2085
+
2086
+ @jsii.data_type(
2087
+ jsii_type="aws-cdk-lib.aws_aps.CfnScraper.RoleConfigurationProperty",
2088
+ jsii_struct_bases=[],
2089
+ name_mapping={
2090
+ "source_role_arn": "sourceRoleArn",
2091
+ "target_role_arn": "targetRoleArn",
2092
+ },
2093
+ )
2094
+ class RoleConfigurationProperty:
2095
+ def __init__(
2096
+ self,
2097
+ *,
2098
+ source_role_arn: typing.Optional[builtins.str] = None,
2099
+ target_role_arn: typing.Optional[builtins.str] = None,
2100
+ ) -> None:
2101
+ '''The role configuration in an Amazon Managed Service for Prometheus scraper.
2102
+
2103
+ :param source_role_arn: The ARN of the source role.
2104
+ :param target_role_arn: The ARN of the target role.
2105
+
2106
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-roleconfiguration.html
2107
+ :exampleMetadata: fixture=_generated
2108
+
2109
+ Example::
2110
+
2111
+ # The code below shows an example of how to instantiate this type.
2112
+ # The values are placeholders you should change.
2113
+ from aws_cdk import aws_aps as aps
2114
+
2115
+ role_configuration_property = aps.CfnScraper.RoleConfigurationProperty(
2116
+ source_role_arn="sourceRoleArn",
2117
+ target_role_arn="targetRoleArn"
2118
+ )
2119
+ '''
2120
+ if __debug__:
2121
+ type_hints = typing.get_type_hints(_typecheckingstub__86bf03aa28256ae3502c8e0745b810c6f1fe11b530f463788b7c7ffd32d996d1)
2122
+ check_type(argname="argument source_role_arn", value=source_role_arn, expected_type=type_hints["source_role_arn"])
2123
+ check_type(argname="argument target_role_arn", value=target_role_arn, expected_type=type_hints["target_role_arn"])
2124
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2125
+ if source_role_arn is not None:
2126
+ self._values["source_role_arn"] = source_role_arn
2127
+ if target_role_arn is not None:
2128
+ self._values["target_role_arn"] = target_role_arn
2129
+
2130
+ @builtins.property
2131
+ def source_role_arn(self) -> typing.Optional[builtins.str]:
2132
+ '''The ARN of the source role.
2133
+
2134
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-roleconfiguration.html#cfn-aps-scraper-roleconfiguration-sourcerolearn
2135
+ '''
2136
+ result = self._values.get("source_role_arn")
2137
+ return typing.cast(typing.Optional[builtins.str], result)
2138
+
2139
+ @builtins.property
2140
+ def target_role_arn(self) -> typing.Optional[builtins.str]:
2141
+ '''The ARN of the target role.
2142
+
2143
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-roleconfiguration.html#cfn-aps-scraper-roleconfiguration-targetrolearn
2144
+ '''
2145
+ result = self._values.get("target_role_arn")
2146
+ return typing.cast(typing.Optional[builtins.str], result)
2147
+
2148
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2149
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2150
+
2151
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2152
+ return not (rhs == self)
2153
+
2154
+ def __repr__(self) -> str:
2155
+ return "RoleConfigurationProperty(%s)" % ", ".join(
2156
+ k + "=" + repr(v) for k, v in self._values.items()
2157
+ )
2158
+
2159
+ @jsii.data_type(
2160
+ jsii_type="aws-cdk-lib.aws_aps.CfnScraper.ScrapeConfigurationProperty",
2161
+ jsii_struct_bases=[],
2162
+ name_mapping={"configuration_blob": "configurationBlob"},
2163
+ )
2164
+ class ScrapeConfigurationProperty:
2165
+ def __init__(self, *, configuration_blob: builtins.str) -> None:
2166
+ '''A scrape configuration for a scraper, base 64 encoded.
2167
+
2168
+ For more information, see `Scraper configuration <https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-configuration>`_ in the *Amazon Managed Service for Prometheus User Guide* .
2169
+
2170
+ :param configuration_blob: The base 64 encoded scrape configuration file.
2171
+
2172
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-scrapeconfiguration.html
2173
+ :exampleMetadata: fixture=_generated
2174
+
2175
+ Example::
2176
+
2177
+ # The code below shows an example of how to instantiate this type.
2178
+ # The values are placeholders you should change.
2179
+ from aws_cdk import aws_aps as aps
2180
+
2181
+ scrape_configuration_property = aps.CfnScraper.ScrapeConfigurationProperty(
2182
+ configuration_blob="configurationBlob"
2183
+ )
2184
+ '''
2185
+ if __debug__:
2186
+ type_hints = typing.get_type_hints(_typecheckingstub__61507a1463486662c27c8fec99a5cb181f22e5f346b7bb6d10823ad9b7102b72)
2187
+ check_type(argname="argument configuration_blob", value=configuration_blob, expected_type=type_hints["configuration_blob"])
2188
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2189
+ "configuration_blob": configuration_blob,
2190
+ }
2191
+
2192
+ @builtins.property
2193
+ def configuration_blob(self) -> builtins.str:
2194
+ '''The base 64 encoded scrape configuration file.
2195
+
2196
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-scrapeconfiguration.html#cfn-aps-scraper-scrapeconfiguration-configurationblob
2197
+ '''
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.
808
2275
 
809
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-eksconfiguration.html#cfn-aps-scraper-eksconfiguration-securitygroupids
2276
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-scrapercomponent.html#cfn-aps-scraper-scrapercomponent-config
810
2277
  '''
811
- result = self._values.get("security_group_ids")
812
- return typing.cast(typing.Optional[typing.List[builtins.str]], result)
2278
+ result = self._values.get("config")
2279
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnScraper.ComponentConfigProperty"]], result)
813
2280
 
814
2281
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
815
2282
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -818,31 +2285,31 @@ class CfnScraper(
818
2285
  return not (rhs == self)
819
2286
 
820
2287
  def __repr__(self) -> str:
821
- return "EksConfigurationProperty(%s)" % ", ".join(
2288
+ return "ScraperComponentProperty(%s)" % ", ".join(
822
2289
  k + "=" + repr(v) for k, v in self._values.items()
823
2290
  )
824
2291
 
825
2292
  @jsii.data_type(
826
- jsii_type="aws-cdk-lib.aws_aps.CfnScraper.RoleConfigurationProperty",
2293
+ jsii_type="aws-cdk-lib.aws_aps.CfnScraper.ScraperLoggingConfigurationProperty",
827
2294
  jsii_struct_bases=[],
828
2295
  name_mapping={
829
- "source_role_arn": "sourceRoleArn",
830
- "target_role_arn": "targetRoleArn",
2296
+ "logging_destination": "loggingDestination",
2297
+ "scraper_components": "scraperComponents",
831
2298
  },
832
2299
  )
833
- class RoleConfigurationProperty:
2300
+ class ScraperLoggingConfigurationProperty:
834
2301
  def __init__(
835
2302
  self,
836
2303
  *,
837
- source_role_arn: typing.Optional[builtins.str] = None,
838
- target_role_arn: typing.Optional[builtins.str] = None,
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]]]]],
839
2306
  ) -> None:
840
- '''The role configuration in an Amazon Managed Service for Prometheus scraper.
2307
+ '''Configuration for scraper logging.
841
2308
 
842
- :param source_role_arn: The ARN of the source role.
843
- :param target_role_arn: The ARN of the target role.
2309
+ :param logging_destination: Destination for scraper logging.
2310
+ :param scraper_components:
844
2311
 
845
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-roleconfiguration.html
2312
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-scraperloggingconfiguration.html
846
2313
  :exampleMetadata: fixture=_generated
847
2314
 
848
2315
  Example::
@@ -851,38 +2318,55 @@ class CfnScraper(
851
2318
  # The values are placeholders you should change.
852
2319
  from aws_cdk import aws_aps as aps
853
2320
 
854
- role_configuration_property = aps.CfnScraper.RoleConfigurationProperty(
855
- source_role_arn="sourceRoleArn",
856
- target_role_arn="targetRoleArn"
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
+ )]
857
2337
  )
858
2338
  '''
859
2339
  if __debug__:
860
- type_hints = typing.get_type_hints(_typecheckingstub__86bf03aa28256ae3502c8e0745b810c6f1fe11b530f463788b7c7ffd32d996d1)
861
- check_type(argname="argument source_role_arn", value=source_role_arn, expected_type=type_hints["source_role_arn"])
862
- check_type(argname="argument target_role_arn", value=target_role_arn, expected_type=type_hints["target_role_arn"])
863
- self._values: typing.Dict[builtins.str, typing.Any] = {}
864
- if source_role_arn is not None:
865
- self._values["source_role_arn"] = source_role_arn
866
- if target_role_arn is not None:
867
- self._values["target_role_arn"] = target_role_arn
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
+ }
868
2347
 
869
2348
  @builtins.property
870
- def source_role_arn(self) -> typing.Optional[builtins.str]:
871
- '''The ARN of the source role.
2349
+ def logging_destination(
2350
+ self,
2351
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnScraper.ScraperLoggingDestinationProperty"]:
2352
+ '''Destination for scraper logging.
872
2353
 
873
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-roleconfiguration.html#cfn-aps-scraper-roleconfiguration-sourcerolearn
2354
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-scraperloggingconfiguration.html#cfn-aps-scraper-scraperloggingconfiguration-loggingdestination
874
2355
  '''
875
- result = self._values.get("source_role_arn")
876
- return typing.cast(typing.Optional[builtins.str], result)
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)
877
2359
 
878
2360
  @builtins.property
879
- def target_role_arn(self) -> typing.Optional[builtins.str]:
880
- '''The ARN of the target role.
881
-
882
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-roleconfiguration.html#cfn-aps-scraper-roleconfiguration-targetrolearn
2361
+ def scraper_components(
2362
+ self,
2363
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnScraper.ScraperComponentProperty"]]]:
883
2364
  '''
884
- result = self._values.get("target_role_arn")
885
- return typing.cast(typing.Optional[builtins.str], result)
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)
886
2370
 
887
2371
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
888
2372
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -891,24 +2375,26 @@ class CfnScraper(
891
2375
  return not (rhs == self)
892
2376
 
893
2377
  def __repr__(self) -> str:
894
- return "RoleConfigurationProperty(%s)" % ", ".join(
2378
+ return "ScraperLoggingConfigurationProperty(%s)" % ", ".join(
895
2379
  k + "=" + repr(v) for k, v in self._values.items()
896
2380
  )
897
2381
 
898
2382
  @jsii.data_type(
899
- jsii_type="aws-cdk-lib.aws_aps.CfnScraper.ScrapeConfigurationProperty",
2383
+ jsii_type="aws-cdk-lib.aws_aps.CfnScraper.ScraperLoggingDestinationProperty",
900
2384
  jsii_struct_bases=[],
901
- name_mapping={"configuration_blob": "configurationBlob"},
2385
+ name_mapping={"cloud_watch_logs": "cloudWatchLogs"},
902
2386
  )
903
- class ScrapeConfigurationProperty:
904
- def __init__(self, *, configuration_blob: builtins.str) -> None:
905
- '''A scrape configuration for a scraper, base 64 encoded.
906
-
907
- For more information, see `Scraper configuration <https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-configuration>`_ in the *Amazon Managed Service for Prometheus User Guide* .
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.
908
2394
 
909
- :param configuration_blob: The base 64 encoded scrape configuration file.
2395
+ :param cloud_watch_logs: The CloudWatch Logs configuration for the scraper logging destination.
910
2396
 
911
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-scrapeconfiguration.html
2397
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-scraperloggingdestination.html
912
2398
  :exampleMetadata: fixture=_generated
913
2399
 
914
2400
  Example::
@@ -917,26 +2403,29 @@ class CfnScraper(
917
2403
  # The values are placeholders you should change.
918
2404
  from aws_cdk import aws_aps as aps
919
2405
 
920
- scrape_configuration_property = aps.CfnScraper.ScrapeConfigurationProperty(
921
- configuration_blob="configurationBlob"
2406
+ scraper_logging_destination_property = aps.CfnScraper.ScraperLoggingDestinationProperty(
2407
+ cloud_watch_logs=aps.CfnScraper.CloudWatchLogDestinationProperty(
2408
+ log_group_arn="logGroupArn"
2409
+ )
922
2410
  )
923
2411
  '''
924
2412
  if __debug__:
925
- type_hints = typing.get_type_hints(_typecheckingstub__61507a1463486662c27c8fec99a5cb181f22e5f346b7bb6d10823ad9b7102b72)
926
- check_type(argname="argument configuration_blob", value=configuration_blob, expected_type=type_hints["configuration_blob"])
927
- self._values: typing.Dict[builtins.str, typing.Any] = {
928
- "configuration_blob": configuration_blob,
929
- }
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
930
2418
 
931
2419
  @builtins.property
932
- def configuration_blob(self) -> builtins.str:
933
- '''The base 64 encoded scrape configuration file.
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.
934
2424
 
935
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-scrapeconfiguration.html#cfn-aps-scraper-scrapeconfiguration-configurationblob
2425
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-scraperloggingdestination.html#cfn-aps-scraper-scraperloggingdestination-cloudwatchlogs
936
2426
  '''
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)
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``.
@@ -1044,6 +2535,7 @@ class CfnScraperProps:
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
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
 
@@ -1160,6 +2672,17 @@ class CfnScraperProps:
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,
@@ -1248,13 +2771,14 @@ class CfnWorkspace(
1248
2771
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1249
2772
  workspace_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkspace.WorkspaceConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1250
2773
  ) -> None:
1251
- '''
2774
+ '''Create a new ``AWS::APS::Workspace``.
2775
+
1252
2776
  :param scope: Scope in which this resource is defined.
1253
2777
  :param id: Construct identifier for this resource (unique in its scope).
1254
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}' -``
1255
2779
  :param alias: The alias that is assigned to this workspace to help identify it. It does not need to be unique.
1256
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* .
1257
- :param logging_configuration: Contains information about the current rules and alerting logging configuration for the workspace. .. epigraph:: These logging configurations are only for rules and alerting logs.
2781
+ :param logging_configuration: Contains information about the logging configuration for the workspace.
1258
2782
  :param query_logging_configuration: The definition of logging configuration in an Amazon Managed Service for Prometheus workspace.
1259
2783
  :param tags: The list of tag keys and values that are associated with the workspace.
1260
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.
@@ -1349,6 +2873,12 @@ class CfnWorkspace(
1349
2873
  '''Tag Manager which manages the tags for this resource.'''
1350
2874
  return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
1351
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
+
1352
2882
  @builtins.property
1353
2883
  @jsii.member(jsii_name="alertManagerDefinition")
1354
2884
  def alert_manager_definition(self) -> typing.Optional[builtins.str]:
@@ -1393,7 +2923,7 @@ class CfnWorkspace(
1393
2923
  def logging_configuration(
1394
2924
  self,
1395
2925
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspace.LoggingConfigurationProperty"]]:
1396
- '''Contains information about the current rules and alerting logging configuration for the workspace.'''
2926
+ '''Contains information about the logging configuration for the workspace.'''
1397
2927
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkspace.LoggingConfigurationProperty"]], jsii.get(self, "loggingConfiguration"))
1398
2928
 
1399
2929
  @logging_configuration.setter
@@ -1863,7 +3393,7 @@ class CfnWorkspace(
1863
3393
  def __init__(self, *, qsp_threshold: jsii.Number) -> None:
1864
3394
  '''Filtering criteria that determine which queries are logged.
1865
3395
 
1866
- :param qsp_threshold: Query logs with QSP above this limit are vended.
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.
1867
3397
 
1868
3398
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-loggingfilter.html
1869
3399
  :exampleMetadata: fixture=_generated
@@ -1887,7 +3417,9 @@ class CfnWorkspace(
1887
3417
 
1888
3418
  @builtins.property
1889
3419
  def qsp_threshold(self) -> jsii.Number:
1890
- '''Query logs with QSP above this limit are vended.
3420
+ '''The Query Samples Processed (QSP) threshold above which queries will be logged.
3421
+
3422
+ Queries processing more samples than this threshold will be captured in logs.
1891
3423
 
1892
3424
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-loggingfilter.html#cfn-aps-workspace-loggingfilter-qspthreshold
1893
3425
  '''
@@ -2087,7 +3619,7 @@ class CfnWorkspaceProps:
2087
3619
  :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}' -``
2088
3620
  :param alias: The alias that is assigned to this workspace to help identify it. It does not need to be unique.
2089
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* .
2090
- :param logging_configuration: Contains information about the current rules and alerting logging configuration for the workspace. .. epigraph:: These logging configurations are only for rules and alerting logs.
3622
+ :param logging_configuration: Contains information about the logging configuration for the workspace.
2091
3623
  :param query_logging_configuration: The definition of logging configuration in an Amazon Managed Service for Prometheus workspace.
2092
3624
  :param tags: The list of tag keys and values that are associated with the workspace.
2093
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.
@@ -2202,11 +3734,7 @@ class CfnWorkspaceProps:
2202
3734
  def logging_configuration(
2203
3735
  self,
2204
3736
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWorkspace.LoggingConfigurationProperty]]:
2205
- '''Contains information about the current rules and alerting logging configuration for the workspace.
2206
-
2207
- .. epigraph::
2208
-
2209
- These logging configurations are only for rules and alerting logs.
3737
+ '''Contains information about the logging configuration for the workspace.
2210
3738
 
2211
3739
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-workspace.html#cfn-aps-workspace-loggingconfiguration
2212
3740
  '''
@@ -2257,6 +3785,10 @@ class CfnWorkspaceProps:
2257
3785
 
2258
3786
 
2259
3787
  __all__ = [
3788
+ "CfnAnomalyDetector",
3789
+ "CfnAnomalyDetectorProps",
3790
+ "CfnResourcePolicy",
3791
+ "CfnResourcePolicyProps",
2260
3792
  "CfnRuleGroupsNamespace",
2261
3793
  "CfnRuleGroupsNamespaceProps",
2262
3794
  "CfnScraper",
@@ -2267,6 +3799,172 @@ __all__ = [
2267
3799
 
2268
3800
  publication.publish()
2269
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
+
2270
3968
  def _typecheckingstub__02d681a4d4a1e9d9052c98f45bf8b21257e825ee8185b30ea4b6f887fc7416b1(
2271
3969
  scope: _constructs_77d1e7e8.Construct,
2272
3970
  id: builtins.str,
@@ -2334,6 +4032,7 @@ def _typecheckingstub__4d4cb1653b22b80f73c5fa4972418519c1d58f8ac033d22184f1b74ee
2334
4032
  source: typing.Union[_IResolvable_da3f097b, typing.Union[CfnScraper.SourceProperty, typing.Dict[builtins.str, typing.Any]]],
2335
4033
  alias: typing.Optional[builtins.str] = None,
2336
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,
2337
4036
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2338
4037
  ) -> None:
2339
4038
  """Type checking stubs"""
@@ -2381,6 +4080,12 @@ def _typecheckingstub__a8492f7c00f66de3309f136730786a3ad81d27f787146130fdb2b6191
2381
4080
  """Type checking stubs"""
2382
4081
  pass
2383
4082
 
4083
+ def _typecheckingstub__98c937c38a5c278540b0a6d9654c4dc0d8dbc46a2f3145fd9275f2a8fd9ce000(
4084
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnScraper.ScraperLoggingConfigurationProperty]],
4085
+ ) -> None:
4086
+ """Type checking stubs"""
4087
+ pass
4088
+
2384
4089
  def _typecheckingstub__265ada3fe1d3014c11a5af4d87c8e4b691d29a917e8643b804a82b7c3223573f(
2385
4090
  value: typing.Optional[typing.List[_CfnTag_f6864754]],
2386
4091
  ) -> None:
@@ -2394,6 +4099,20 @@ def _typecheckingstub__02c8f0a43ed30375a3d1b283c2450f310915b0f0fcff6103d168cb18a
2394
4099
  """Type checking stubs"""
2395
4100
  pass
2396
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
+
2397
4116
  def _typecheckingstub__e9dfeb013903b3b566e12e34ac903da7aaad96412ee8622e798d0f4931b78c31(
2398
4117
  *,
2399
4118
  amp_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnScraper.AmpConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
@@ -2425,6 +4144,29 @@ def _typecheckingstub__61507a1463486662c27c8fec99a5cb181f22e5f346b7bb6d10823ad9b
2425
4144
  """Type checking stubs"""
2426
4145
  pass
2427
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
+
2428
4170
  def _typecheckingstub__655e83ac40d7d6fcc3362aa2c25fcfadc0beb5744ef393de105d7d152821a330(
2429
4171
  *,
2430
4172
  eks_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnScraper.EksConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
@@ -2439,6 +4181,7 @@ def _typecheckingstub__f302dfc2aa92636b313e32f5d91a0ccfd79ebde0259b977f6291d4c83
2439
4181
  source: typing.Union[_IResolvable_da3f097b, typing.Union[CfnScraper.SourceProperty, typing.Dict[builtins.str, typing.Any]]],
2440
4182
  alias: typing.Optional[builtins.str] = None,
2441
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,
2442
4185
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2443
4186
  ) -> None:
2444
4187
  """Type checking stubs"""