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
@@ -0,0 +1,2561 @@
1
+ r'''
2
+ # AWS::ObservabilityAdmin Construct Library
3
+
4
+ <!--BEGIN STABILITY BANNER-->---
5
+
6
+
7
+ ![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge)
8
+
9
+ > All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use.
10
+
11
+ ---
12
+ <!--END STABILITY BANNER-->
13
+
14
+ This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project.
15
+
16
+ ```python
17
+ import aws_cdk.aws_observabilityadmin as observabilityadmin
18
+ ```
19
+
20
+ <!--BEGIN CFNONLY DISCLAIMER-->
21
+
22
+ There are no official hand-written ([L2](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) constructs for this service yet. Here are some suggestions on how to proceed:
23
+
24
+ * Search [Construct Hub for ObservabilityAdmin construct libraries](https://constructs.dev/search?q=observabilityadmin)
25
+ * Use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, in the same way you would use [the CloudFormation AWS::ObservabilityAdmin resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ObservabilityAdmin.html) directly.
26
+
27
+ <!--BEGIN CFNONLY DISCLAIMER-->
28
+
29
+ There are no hand-written ([L2](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) constructs for this service yet.
30
+ However, you can still use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, and use this service exactly as you would using CloudFormation directly.
31
+
32
+ For more information on the resources and properties available for this service, see the [CloudFormation documentation for AWS::ObservabilityAdmin](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_ObservabilityAdmin.html).
33
+
34
+ (Read the [CDK Contributing Guide](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and submit an RFC if you are interested in contributing to this construct library.)
35
+
36
+ <!--END CFNONLY DISCLAIMER-->
37
+ '''
38
+ from pkgutil import extend_path
39
+ __path__ = extend_path(__path__, __name__)
40
+
41
+ import abc
42
+ import builtins
43
+ import datetime
44
+ import enum
45
+ import typing
46
+
47
+ import jsii
48
+ import publication
49
+ import typing_extensions
50
+
51
+ import typeguard
52
+ from importlib.metadata import version as _metadata_package_version
53
+ TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
54
+
55
+ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
56
+ if TYPEGUARD_MAJOR_VERSION <= 2:
57
+ return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
58
+ else:
59
+ if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
60
+ pass
61
+ else:
62
+ if TYPEGUARD_MAJOR_VERSION == 3:
63
+ typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
64
+ typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
65
+ else:
66
+ typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
67
+
68
+ from .._jsii import *
69
+
70
+ import constructs as _constructs_77d1e7e8
71
+ from .. import (
72
+ CfnResource as _CfnResource_9df397a6,
73
+ CfnTag as _CfnTag_f6864754,
74
+ IInspectable as _IInspectable_c2943556,
75
+ IResolvable as _IResolvable_da3f097b,
76
+ ITaggableV2 as _ITaggableV2_4e6798f8,
77
+ TagManager as _TagManager_0a598cb3,
78
+ TreeInspector as _TreeInspector_488e0dd5,
79
+ )
80
+ from ..interfaces.aws_observabilityadmin import (
81
+ IOrganizationCentralizationRuleRef as _IOrganizationCentralizationRuleRef_c0e786ce,
82
+ IOrganizationTelemetryRuleRef as _IOrganizationTelemetryRuleRef_c536ab68,
83
+ ITelemetryRuleRef as _ITelemetryRuleRef_9918195f,
84
+ OrganizationCentralizationRuleReference as _OrganizationCentralizationRuleReference_e0f14dd2,
85
+ OrganizationTelemetryRuleReference as _OrganizationTelemetryRuleReference_447c11d2,
86
+ TelemetryRuleReference as _TelemetryRuleReference_35b2b664,
87
+ )
88
+
89
+
90
+ @jsii.implements(_IInspectable_c2943556, _IOrganizationCentralizationRuleRef_c0e786ce, _ITaggableV2_4e6798f8)
91
+ class CfnOrganizationCentralizationRule(
92
+ _CfnResource_9df397a6,
93
+ metaclass=jsii.JSIIMeta,
94
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnOrganizationCentralizationRule",
95
+ ):
96
+ '''Defines how telemetry data should be centralized across an AWS Organization, including source and destination configurations.
97
+
98
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationcentralizationrule.html
99
+ :cloudformationResource: AWS::ObservabilityAdmin::OrganizationCentralizationRule
100
+ :exampleMetadata: fixture=_generated
101
+
102
+ Example::
103
+
104
+ # The code below shows an example of how to instantiate this type.
105
+ # The values are placeholders you should change.
106
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
107
+
108
+ cfn_organization_centralization_rule = observabilityadmin.CfnOrganizationCentralizationRule(self, "MyCfnOrganizationCentralizationRule",
109
+ rule=observabilityadmin.CfnOrganizationCentralizationRule.CentralizationRuleProperty(
110
+ destination=observabilityadmin.CfnOrganizationCentralizationRule.CentralizationRuleDestinationProperty(
111
+ region="region",
112
+
113
+ # the properties below are optional
114
+ account="account",
115
+ destination_logs_configuration=observabilityadmin.CfnOrganizationCentralizationRule.DestinationLogsConfigurationProperty(
116
+ backup_configuration=observabilityadmin.CfnOrganizationCentralizationRule.LogsBackupConfigurationProperty(
117
+ region="region",
118
+
119
+ # the properties below are optional
120
+ kms_key_arn="kmsKeyArn"
121
+ ),
122
+ logs_encryption_configuration=observabilityadmin.CfnOrganizationCentralizationRule.LogsEncryptionConfigurationProperty(
123
+ encryption_strategy="encryptionStrategy",
124
+
125
+ # the properties below are optional
126
+ encryption_conflict_resolution_strategy="encryptionConflictResolutionStrategy",
127
+ kms_key_arn="kmsKeyArn"
128
+ )
129
+ )
130
+ ),
131
+ source=observabilityadmin.CfnOrganizationCentralizationRule.CentralizationRuleSourceProperty(
132
+ regions=["regions"],
133
+
134
+ # the properties below are optional
135
+ scope="scope",
136
+ source_logs_configuration=observabilityadmin.CfnOrganizationCentralizationRule.SourceLogsConfigurationProperty(
137
+ encrypted_log_group_strategy="encryptedLogGroupStrategy",
138
+ log_group_selection_criteria="logGroupSelectionCriteria"
139
+ )
140
+ )
141
+ ),
142
+ rule_name="ruleName",
143
+
144
+ # the properties below are optional
145
+ tags=[CfnTag(
146
+ key="key",
147
+ value="value"
148
+ )]
149
+ )
150
+ '''
151
+
152
+ def __init__(
153
+ self,
154
+ scope: _constructs_77d1e7e8.Construct,
155
+ id: builtins.str,
156
+ *,
157
+ rule: typing.Union[_IResolvable_da3f097b, typing.Union["CfnOrganizationCentralizationRule.CentralizationRuleProperty", typing.Dict[builtins.str, typing.Any]]],
158
+ rule_name: builtins.str,
159
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
160
+ ) -> None:
161
+ '''Create a new ``AWS::ObservabilityAdmin::OrganizationCentralizationRule``.
162
+
163
+ :param scope: Scope in which this resource is defined.
164
+ :param id: Construct identifier for this resource (unique in its scope).
165
+ :param rule:
166
+ :param rule_name: The name of the organization centralization rule.
167
+ :param tags: A key-value pair to filter resources based on tags associated with the resource. For more information about tags, see `What are tags? <https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/what-are-tags.html>`_
168
+ '''
169
+ if __debug__:
170
+ type_hints = typing.get_type_hints(_typecheckingstub__18acbc8917f3c4cbc8bb06f5fae76010e41ab5f0e9b157f4c324c214a180ef2e)
171
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
172
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
173
+ props = CfnOrganizationCentralizationRuleProps(
174
+ rule=rule, rule_name=rule_name, tags=tags
175
+ )
176
+
177
+ jsii.create(self.__class__, self, [scope, id, props])
178
+
179
+ @jsii.member(jsii_name="inspect")
180
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
181
+ '''Examines the CloudFormation resource and discloses attributes.
182
+
183
+ :param inspector: tree inspector to collect and process attributes.
184
+ '''
185
+ if __debug__:
186
+ type_hints = typing.get_type_hints(_typecheckingstub__02b2ea8ec552fc96b3662b368fa64eea5f82839c3bd0f1aa52bd64bc495f5341)
187
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
188
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
189
+
190
+ @jsii.member(jsii_name="renderProperties")
191
+ def _render_properties(
192
+ self,
193
+ props: typing.Mapping[builtins.str, typing.Any],
194
+ ) -> typing.Mapping[builtins.str, typing.Any]:
195
+ '''
196
+ :param props: -
197
+ '''
198
+ if __debug__:
199
+ type_hints = typing.get_type_hints(_typecheckingstub__f130448a4f76aff49b8e31a382ea5ab14eacdf34a74afe86be23352ded6622e1)
200
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
201
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
202
+
203
+ @jsii.python.classproperty
204
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
205
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
206
+ '''The CloudFormation resource type name for this resource class.'''
207
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
208
+
209
+ @builtins.property
210
+ @jsii.member(jsii_name="attrRuleArn")
211
+ def attr_rule_arn(self) -> builtins.str:
212
+ '''The Amazon Resource Name (ARN) of the organization centralization rule.
213
+
214
+ :cloudformationAttribute: RuleArn
215
+ '''
216
+ return typing.cast(builtins.str, jsii.get(self, "attrRuleArn"))
217
+
218
+ @builtins.property
219
+ @jsii.member(jsii_name="cdkTagManager")
220
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
221
+ '''Tag Manager which manages the tags for this resource.'''
222
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
223
+
224
+ @builtins.property
225
+ @jsii.member(jsii_name="cfnProperties")
226
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
227
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
228
+
229
+ @builtins.property
230
+ @jsii.member(jsii_name="organizationCentralizationRuleRef")
231
+ def organization_centralization_rule_ref(
232
+ self,
233
+ ) -> _OrganizationCentralizationRuleReference_e0f14dd2:
234
+ '''A reference to a OrganizationCentralizationRule resource.'''
235
+ return typing.cast(_OrganizationCentralizationRuleReference_e0f14dd2, jsii.get(self, "organizationCentralizationRuleRef"))
236
+
237
+ @builtins.property
238
+ @jsii.member(jsii_name="rule")
239
+ def rule(
240
+ self,
241
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.CentralizationRuleProperty"]:
242
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.CentralizationRuleProperty"], jsii.get(self, "rule"))
243
+
244
+ @rule.setter
245
+ def rule(
246
+ self,
247
+ value: typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.CentralizationRuleProperty"],
248
+ ) -> None:
249
+ if __debug__:
250
+ type_hints = typing.get_type_hints(_typecheckingstub__8fbb5a84b6997cee28db4665d22fee83629861a1e51fe754b85b3858441e7c2d)
251
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
252
+ jsii.set(self, "rule", value) # pyright: ignore[reportArgumentType]
253
+
254
+ @builtins.property
255
+ @jsii.member(jsii_name="ruleName")
256
+ def rule_name(self) -> builtins.str:
257
+ '''The name of the organization centralization rule.'''
258
+ return typing.cast(builtins.str, jsii.get(self, "ruleName"))
259
+
260
+ @rule_name.setter
261
+ def rule_name(self, value: builtins.str) -> None:
262
+ if __debug__:
263
+ type_hints = typing.get_type_hints(_typecheckingstub__f42b1edd10be1da3c565db5f9585850487a7c51b5ad7ab0a72c1d4345b4ac7f8)
264
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
265
+ jsii.set(self, "ruleName", value) # pyright: ignore[reportArgumentType]
266
+
267
+ @builtins.property
268
+ @jsii.member(jsii_name="tags")
269
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
270
+ '''A key-value pair to filter resources based on tags associated with the resource.'''
271
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
272
+
273
+ @tags.setter
274
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
275
+ if __debug__:
276
+ type_hints = typing.get_type_hints(_typecheckingstub__a58679a9a3a800195cc0ecf82553695580c2dd2061901e27320b9025cb6ed262)
277
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
278
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
279
+
280
+ @jsii.data_type(
281
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnOrganizationCentralizationRule.CentralizationRuleDestinationProperty",
282
+ jsii_struct_bases=[],
283
+ name_mapping={
284
+ "region": "region",
285
+ "account": "account",
286
+ "destination_logs_configuration": "destinationLogsConfiguration",
287
+ },
288
+ )
289
+ class CentralizationRuleDestinationProperty:
290
+ def __init__(
291
+ self,
292
+ *,
293
+ region: builtins.str,
294
+ account: typing.Optional[builtins.str] = None,
295
+ destination_logs_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnOrganizationCentralizationRule.DestinationLogsConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
296
+ ) -> None:
297
+ '''Configuration specifying the primary destination for centralized telemetry data.
298
+
299
+ :param region: The primary destination region to which telemetry data should be centralized.
300
+ :param account: The destination account (within the organization) to which the telemetry data should be centralized.
301
+ :param destination_logs_configuration: Log specific configuration for centralization destination log groups.
302
+
303
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationruledestination.html
304
+ :exampleMetadata: fixture=_generated
305
+
306
+ Example::
307
+
308
+ # The code below shows an example of how to instantiate this type.
309
+ # The values are placeholders you should change.
310
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
311
+
312
+ centralization_rule_destination_property = observabilityadmin.CfnOrganizationCentralizationRule.CentralizationRuleDestinationProperty(
313
+ region="region",
314
+
315
+ # the properties below are optional
316
+ account="account",
317
+ destination_logs_configuration=observabilityadmin.CfnOrganizationCentralizationRule.DestinationLogsConfigurationProperty(
318
+ backup_configuration=observabilityadmin.CfnOrganizationCentralizationRule.LogsBackupConfigurationProperty(
319
+ region="region",
320
+
321
+ # the properties below are optional
322
+ kms_key_arn="kmsKeyArn"
323
+ ),
324
+ logs_encryption_configuration=observabilityadmin.CfnOrganizationCentralizationRule.LogsEncryptionConfigurationProperty(
325
+ encryption_strategy="encryptionStrategy",
326
+
327
+ # the properties below are optional
328
+ encryption_conflict_resolution_strategy="encryptionConflictResolutionStrategy",
329
+ kms_key_arn="kmsKeyArn"
330
+ )
331
+ )
332
+ )
333
+ '''
334
+ if __debug__:
335
+ type_hints = typing.get_type_hints(_typecheckingstub__48736d0ec2563919af9b82675cbe965d2288bd15210b9c8b34911e7a89ae0f47)
336
+ check_type(argname="argument region", value=region, expected_type=type_hints["region"])
337
+ check_type(argname="argument account", value=account, expected_type=type_hints["account"])
338
+ check_type(argname="argument destination_logs_configuration", value=destination_logs_configuration, expected_type=type_hints["destination_logs_configuration"])
339
+ self._values: typing.Dict[builtins.str, typing.Any] = {
340
+ "region": region,
341
+ }
342
+ if account is not None:
343
+ self._values["account"] = account
344
+ if destination_logs_configuration is not None:
345
+ self._values["destination_logs_configuration"] = destination_logs_configuration
346
+
347
+ @builtins.property
348
+ def region(self) -> builtins.str:
349
+ '''The primary destination region to which telemetry data should be centralized.
350
+
351
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationruledestination.html#cfn-observabilityadmin-organizationcentralizationrule-centralizationruledestination-region
352
+ '''
353
+ result = self._values.get("region")
354
+ assert result is not None, "Required property 'region' is missing"
355
+ return typing.cast(builtins.str, result)
356
+
357
+ @builtins.property
358
+ def account(self) -> typing.Optional[builtins.str]:
359
+ '''The destination account (within the organization) to which the telemetry data should be centralized.
360
+
361
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationruledestination.html#cfn-observabilityadmin-organizationcentralizationrule-centralizationruledestination-account
362
+ '''
363
+ result = self._values.get("account")
364
+ return typing.cast(typing.Optional[builtins.str], result)
365
+
366
+ @builtins.property
367
+ def destination_logs_configuration(
368
+ self,
369
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.DestinationLogsConfigurationProperty"]]:
370
+ '''Log specific configuration for centralization destination log groups.
371
+
372
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationruledestination.html#cfn-observabilityadmin-organizationcentralizationrule-centralizationruledestination-destinationlogsconfiguration
373
+ '''
374
+ result = self._values.get("destination_logs_configuration")
375
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.DestinationLogsConfigurationProperty"]], result)
376
+
377
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
378
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
379
+
380
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
381
+ return not (rhs == self)
382
+
383
+ def __repr__(self) -> str:
384
+ return "CentralizationRuleDestinationProperty(%s)" % ", ".join(
385
+ k + "=" + repr(v) for k, v in self._values.items()
386
+ )
387
+
388
+ @jsii.data_type(
389
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnOrganizationCentralizationRule.CentralizationRuleProperty",
390
+ jsii_struct_bases=[],
391
+ name_mapping={"destination": "destination", "source": "source"},
392
+ )
393
+ class CentralizationRuleProperty:
394
+ def __init__(
395
+ self,
396
+ *,
397
+ destination: typing.Union[_IResolvable_da3f097b, typing.Union["CfnOrganizationCentralizationRule.CentralizationRuleDestinationProperty", typing.Dict[builtins.str, typing.Any]]],
398
+ source: typing.Union[_IResolvable_da3f097b, typing.Union["CfnOrganizationCentralizationRule.CentralizationRuleSourceProperty", typing.Dict[builtins.str, typing.Any]]],
399
+ ) -> None:
400
+ '''Defines how telemetry data should be centralized across an AWS Organization, including source and destination configurations.
401
+
402
+ :param destination: Configuration determining where the telemetry data should be centralized, backed up, as well as encryption configuration for the primary and backup destinations.
403
+ :param source: Configuration determining the source of the telemetry data to be centralized.
404
+
405
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationrule.html
406
+ :exampleMetadata: fixture=_generated
407
+
408
+ Example::
409
+
410
+ # The code below shows an example of how to instantiate this type.
411
+ # The values are placeholders you should change.
412
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
413
+
414
+ centralization_rule_property = observabilityadmin.CfnOrganizationCentralizationRule.CentralizationRuleProperty(
415
+ destination=observabilityadmin.CfnOrganizationCentralizationRule.CentralizationRuleDestinationProperty(
416
+ region="region",
417
+
418
+ # the properties below are optional
419
+ account="account",
420
+ destination_logs_configuration=observabilityadmin.CfnOrganizationCentralizationRule.DestinationLogsConfigurationProperty(
421
+ backup_configuration=observabilityadmin.CfnOrganizationCentralizationRule.LogsBackupConfigurationProperty(
422
+ region="region",
423
+
424
+ # the properties below are optional
425
+ kms_key_arn="kmsKeyArn"
426
+ ),
427
+ logs_encryption_configuration=observabilityadmin.CfnOrganizationCentralizationRule.LogsEncryptionConfigurationProperty(
428
+ encryption_strategy="encryptionStrategy",
429
+
430
+ # the properties below are optional
431
+ encryption_conflict_resolution_strategy="encryptionConflictResolutionStrategy",
432
+ kms_key_arn="kmsKeyArn"
433
+ )
434
+ )
435
+ ),
436
+ source=observabilityadmin.CfnOrganizationCentralizationRule.CentralizationRuleSourceProperty(
437
+ regions=["regions"],
438
+
439
+ # the properties below are optional
440
+ scope="scope",
441
+ source_logs_configuration=observabilityadmin.CfnOrganizationCentralizationRule.SourceLogsConfigurationProperty(
442
+ encrypted_log_group_strategy="encryptedLogGroupStrategy",
443
+ log_group_selection_criteria="logGroupSelectionCriteria"
444
+ )
445
+ )
446
+ )
447
+ '''
448
+ if __debug__:
449
+ type_hints = typing.get_type_hints(_typecheckingstub__fb475427ce4a2316b8478f1c58d17ddd5783412b26cdfb98819c47313aa718dc)
450
+ check_type(argname="argument destination", value=destination, expected_type=type_hints["destination"])
451
+ check_type(argname="argument source", value=source, expected_type=type_hints["source"])
452
+ self._values: typing.Dict[builtins.str, typing.Any] = {
453
+ "destination": destination,
454
+ "source": source,
455
+ }
456
+
457
+ @builtins.property
458
+ def destination(
459
+ self,
460
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.CentralizationRuleDestinationProperty"]:
461
+ '''Configuration determining where the telemetry data should be centralized, backed up, as well as encryption configuration for the primary and backup destinations.
462
+
463
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationrule.html#cfn-observabilityadmin-organizationcentralizationrule-centralizationrule-destination
464
+ '''
465
+ result = self._values.get("destination")
466
+ assert result is not None, "Required property 'destination' is missing"
467
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.CentralizationRuleDestinationProperty"], result)
468
+
469
+ @builtins.property
470
+ def source(
471
+ self,
472
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.CentralizationRuleSourceProperty"]:
473
+ '''Configuration determining the source of the telemetry data to be centralized.
474
+
475
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationrule.html#cfn-observabilityadmin-organizationcentralizationrule-centralizationrule-source
476
+ '''
477
+ result = self._values.get("source")
478
+ assert result is not None, "Required property 'source' is missing"
479
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.CentralizationRuleSourceProperty"], result)
480
+
481
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
482
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
483
+
484
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
485
+ return not (rhs == self)
486
+
487
+ def __repr__(self) -> str:
488
+ return "CentralizationRuleProperty(%s)" % ", ".join(
489
+ k + "=" + repr(v) for k, v in self._values.items()
490
+ )
491
+
492
+ @jsii.data_type(
493
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnOrganizationCentralizationRule.CentralizationRuleSourceProperty",
494
+ jsii_struct_bases=[],
495
+ name_mapping={
496
+ "regions": "regions",
497
+ "scope": "scope",
498
+ "source_logs_configuration": "sourceLogsConfiguration",
499
+ },
500
+ )
501
+ class CentralizationRuleSourceProperty:
502
+ def __init__(
503
+ self,
504
+ *,
505
+ regions: typing.Sequence[builtins.str],
506
+ scope: typing.Optional[builtins.str] = None,
507
+ source_logs_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnOrganizationCentralizationRule.SourceLogsConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
508
+ ) -> None:
509
+ '''Configuration specifying the source of telemetry data to be centralized.
510
+
511
+ :param regions: The list of source regions from which telemetry data should be centralized.
512
+ :param scope: The organizational scope from which telemetry data should be centralized, specified using organization id, accounts or organizational unit ids.
513
+ :param source_logs_configuration: Log specific configuration for centralization source log groups.
514
+
515
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationrulesource.html
516
+ :exampleMetadata: fixture=_generated
517
+
518
+ Example::
519
+
520
+ # The code below shows an example of how to instantiate this type.
521
+ # The values are placeholders you should change.
522
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
523
+
524
+ centralization_rule_source_property = observabilityadmin.CfnOrganizationCentralizationRule.CentralizationRuleSourceProperty(
525
+ regions=["regions"],
526
+
527
+ # the properties below are optional
528
+ scope="scope",
529
+ source_logs_configuration=observabilityadmin.CfnOrganizationCentralizationRule.SourceLogsConfigurationProperty(
530
+ encrypted_log_group_strategy="encryptedLogGroupStrategy",
531
+ log_group_selection_criteria="logGroupSelectionCriteria"
532
+ )
533
+ )
534
+ '''
535
+ if __debug__:
536
+ type_hints = typing.get_type_hints(_typecheckingstub__8c4d1dff0252b97263e138c77bea2f698277762eeffd4fcf3911e496ac5762e4)
537
+ check_type(argname="argument regions", value=regions, expected_type=type_hints["regions"])
538
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
539
+ check_type(argname="argument source_logs_configuration", value=source_logs_configuration, expected_type=type_hints["source_logs_configuration"])
540
+ self._values: typing.Dict[builtins.str, typing.Any] = {
541
+ "regions": regions,
542
+ }
543
+ if scope is not None:
544
+ self._values["scope"] = scope
545
+ if source_logs_configuration is not None:
546
+ self._values["source_logs_configuration"] = source_logs_configuration
547
+
548
+ @builtins.property
549
+ def regions(self) -> typing.List[builtins.str]:
550
+ '''The list of source regions from which telemetry data should be centralized.
551
+
552
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationrulesource.html#cfn-observabilityadmin-organizationcentralizationrule-centralizationrulesource-regions
553
+ '''
554
+ result = self._values.get("regions")
555
+ assert result is not None, "Required property 'regions' is missing"
556
+ return typing.cast(typing.List[builtins.str], result)
557
+
558
+ @builtins.property
559
+ def scope(self) -> typing.Optional[builtins.str]:
560
+ '''The organizational scope from which telemetry data should be centralized, specified using organization id, accounts or organizational unit ids.
561
+
562
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationrulesource.html#cfn-observabilityadmin-organizationcentralizationrule-centralizationrulesource-scope
563
+ '''
564
+ result = self._values.get("scope")
565
+ return typing.cast(typing.Optional[builtins.str], result)
566
+
567
+ @builtins.property
568
+ def source_logs_configuration(
569
+ self,
570
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.SourceLogsConfigurationProperty"]]:
571
+ '''Log specific configuration for centralization source log groups.
572
+
573
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationrulesource.html#cfn-observabilityadmin-organizationcentralizationrule-centralizationrulesource-sourcelogsconfiguration
574
+ '''
575
+ result = self._values.get("source_logs_configuration")
576
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.SourceLogsConfigurationProperty"]], result)
577
+
578
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
579
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
580
+
581
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
582
+ return not (rhs == self)
583
+
584
+ def __repr__(self) -> str:
585
+ return "CentralizationRuleSourceProperty(%s)" % ", ".join(
586
+ k + "=" + repr(v) for k, v in self._values.items()
587
+ )
588
+
589
+ @jsii.data_type(
590
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnOrganizationCentralizationRule.DestinationLogsConfigurationProperty",
591
+ jsii_struct_bases=[],
592
+ name_mapping={
593
+ "backup_configuration": "backupConfiguration",
594
+ "logs_encryption_configuration": "logsEncryptionConfiguration",
595
+ },
596
+ )
597
+ class DestinationLogsConfigurationProperty:
598
+ def __init__(
599
+ self,
600
+ *,
601
+ backup_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnOrganizationCentralizationRule.LogsBackupConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
602
+ logs_encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnOrganizationCentralizationRule.LogsEncryptionConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
603
+ ) -> None:
604
+ '''Configuration for centralization destination log groups, including encryption and backup settings.
605
+
606
+ :param backup_configuration: Configuration defining the backup region and an optional KMS key for the backup destination.
607
+ :param logs_encryption_configuration: The encryption configuration for centralization destination log groups.
608
+
609
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-destinationlogsconfiguration.html
610
+ :exampleMetadata: fixture=_generated
611
+
612
+ Example::
613
+
614
+ # The code below shows an example of how to instantiate this type.
615
+ # The values are placeholders you should change.
616
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
617
+
618
+ destination_logs_configuration_property = observabilityadmin.CfnOrganizationCentralizationRule.DestinationLogsConfigurationProperty(
619
+ backup_configuration=observabilityadmin.CfnOrganizationCentralizationRule.LogsBackupConfigurationProperty(
620
+ region="region",
621
+
622
+ # the properties below are optional
623
+ kms_key_arn="kmsKeyArn"
624
+ ),
625
+ logs_encryption_configuration=observabilityadmin.CfnOrganizationCentralizationRule.LogsEncryptionConfigurationProperty(
626
+ encryption_strategy="encryptionStrategy",
627
+
628
+ # the properties below are optional
629
+ encryption_conflict_resolution_strategy="encryptionConflictResolutionStrategy",
630
+ kms_key_arn="kmsKeyArn"
631
+ )
632
+ )
633
+ '''
634
+ if __debug__:
635
+ type_hints = typing.get_type_hints(_typecheckingstub__5dd7a39f2c94fa5f25cdcfc83cd888a8c3b22c09afa009f3ed5de76fd5befe41)
636
+ check_type(argname="argument backup_configuration", value=backup_configuration, expected_type=type_hints["backup_configuration"])
637
+ check_type(argname="argument logs_encryption_configuration", value=logs_encryption_configuration, expected_type=type_hints["logs_encryption_configuration"])
638
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
639
+ if backup_configuration is not None:
640
+ self._values["backup_configuration"] = backup_configuration
641
+ if logs_encryption_configuration is not None:
642
+ self._values["logs_encryption_configuration"] = logs_encryption_configuration
643
+
644
+ @builtins.property
645
+ def backup_configuration(
646
+ self,
647
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.LogsBackupConfigurationProperty"]]:
648
+ '''Configuration defining the backup region and an optional KMS key for the backup destination.
649
+
650
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-destinationlogsconfiguration.html#cfn-observabilityadmin-organizationcentralizationrule-destinationlogsconfiguration-backupconfiguration
651
+ '''
652
+ result = self._values.get("backup_configuration")
653
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.LogsBackupConfigurationProperty"]], result)
654
+
655
+ @builtins.property
656
+ def logs_encryption_configuration(
657
+ self,
658
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.LogsEncryptionConfigurationProperty"]]:
659
+ '''The encryption configuration for centralization destination log groups.
660
+
661
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-destinationlogsconfiguration.html#cfn-observabilityadmin-organizationcentralizationrule-destinationlogsconfiguration-logsencryptionconfiguration
662
+ '''
663
+ result = self._values.get("logs_encryption_configuration")
664
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.LogsEncryptionConfigurationProperty"]], result)
665
+
666
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
667
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
668
+
669
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
670
+ return not (rhs == self)
671
+
672
+ def __repr__(self) -> str:
673
+ return "DestinationLogsConfigurationProperty(%s)" % ", ".join(
674
+ k + "=" + repr(v) for k, v in self._values.items()
675
+ )
676
+
677
+ @jsii.data_type(
678
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnOrganizationCentralizationRule.LogsBackupConfigurationProperty",
679
+ jsii_struct_bases=[],
680
+ name_mapping={"region": "region", "kms_key_arn": "kmsKeyArn"},
681
+ )
682
+ class LogsBackupConfigurationProperty:
683
+ def __init__(
684
+ self,
685
+ *,
686
+ region: builtins.str,
687
+ kms_key_arn: typing.Optional[builtins.str] = None,
688
+ ) -> None:
689
+ '''Configuration for backing up centralized log data to a secondary region.
690
+
691
+ :param region: Logs specific backup destination region within the primary destination account to which log data should be centralized.
692
+ :param kms_key_arn: KMS Key ARN belonging to the primary destination account and backup region, to encrypt newly created central log groups in the backup destination.
693
+
694
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-logsbackupconfiguration.html
695
+ :exampleMetadata: fixture=_generated
696
+
697
+ Example::
698
+
699
+ # The code below shows an example of how to instantiate this type.
700
+ # The values are placeholders you should change.
701
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
702
+
703
+ logs_backup_configuration_property = observabilityadmin.CfnOrganizationCentralizationRule.LogsBackupConfigurationProperty(
704
+ region="region",
705
+
706
+ # the properties below are optional
707
+ kms_key_arn="kmsKeyArn"
708
+ )
709
+ '''
710
+ if __debug__:
711
+ type_hints = typing.get_type_hints(_typecheckingstub__35d26acca25f06381fb096b21a6f3791d0ef735549ac7bae5795f4e646184d86)
712
+ check_type(argname="argument region", value=region, expected_type=type_hints["region"])
713
+ check_type(argname="argument kms_key_arn", value=kms_key_arn, expected_type=type_hints["kms_key_arn"])
714
+ self._values: typing.Dict[builtins.str, typing.Any] = {
715
+ "region": region,
716
+ }
717
+ if kms_key_arn is not None:
718
+ self._values["kms_key_arn"] = kms_key_arn
719
+
720
+ @builtins.property
721
+ def region(self) -> builtins.str:
722
+ '''Logs specific backup destination region within the primary destination account to which log data should be centralized.
723
+
724
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-logsbackupconfiguration.html#cfn-observabilityadmin-organizationcentralizationrule-logsbackupconfiguration-region
725
+ '''
726
+ result = self._values.get("region")
727
+ assert result is not None, "Required property 'region' is missing"
728
+ return typing.cast(builtins.str, result)
729
+
730
+ @builtins.property
731
+ def kms_key_arn(self) -> typing.Optional[builtins.str]:
732
+ '''KMS Key ARN belonging to the primary destination account and backup region, to encrypt newly created central log groups in the backup destination.
733
+
734
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-logsbackupconfiguration.html#cfn-observabilityadmin-organizationcentralizationrule-logsbackupconfiguration-kmskeyarn
735
+ '''
736
+ result = self._values.get("kms_key_arn")
737
+ return typing.cast(typing.Optional[builtins.str], result)
738
+
739
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
740
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
741
+
742
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
743
+ return not (rhs == self)
744
+
745
+ def __repr__(self) -> str:
746
+ return "LogsBackupConfigurationProperty(%s)" % ", ".join(
747
+ k + "=" + repr(v) for k, v in self._values.items()
748
+ )
749
+
750
+ @jsii.data_type(
751
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnOrganizationCentralizationRule.LogsEncryptionConfigurationProperty",
752
+ jsii_struct_bases=[],
753
+ name_mapping={
754
+ "encryption_strategy": "encryptionStrategy",
755
+ "encryption_conflict_resolution_strategy": "encryptionConflictResolutionStrategy",
756
+ "kms_key_arn": "kmsKeyArn",
757
+ },
758
+ )
759
+ class LogsEncryptionConfigurationProperty:
760
+ def __init__(
761
+ self,
762
+ *,
763
+ encryption_strategy: builtins.str,
764
+ encryption_conflict_resolution_strategy: typing.Optional[builtins.str] = None,
765
+ kms_key_arn: typing.Optional[builtins.str] = None,
766
+ ) -> None:
767
+ '''Configuration for encrypting centralized log groups.
768
+
769
+ This configuration is only applied to destination log groups for which the corresponding source log groups are encrypted using Customer Managed KMS Keys.
770
+
771
+ :param encryption_strategy: Configuration that determines the encryption strategy of the destination log groups. CUSTOMER_MANAGED uses the configured KmsKeyArn to encrypt newly created destination log groups.
772
+ :param encryption_conflict_resolution_strategy: Conflict resolution strategy for centralization if the encryption strategy is set to CUSTOMER_MANAGED and the destination log group is encrypted with an AWS_OWNED KMS Key. ALLOW lets centralization go through while SKIP prevents centralization into the destination log group.
773
+ :param kms_key_arn: KMS Key ARN belonging to the primary destination account and region, to encrypt newly created central log groups in the primary destination.
774
+
775
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-logsencryptionconfiguration.html
776
+ :exampleMetadata: fixture=_generated
777
+
778
+ Example::
779
+
780
+ # The code below shows an example of how to instantiate this type.
781
+ # The values are placeholders you should change.
782
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
783
+
784
+ logs_encryption_configuration_property = observabilityadmin.CfnOrganizationCentralizationRule.LogsEncryptionConfigurationProperty(
785
+ encryption_strategy="encryptionStrategy",
786
+
787
+ # the properties below are optional
788
+ encryption_conflict_resolution_strategy="encryptionConflictResolutionStrategy",
789
+ kms_key_arn="kmsKeyArn"
790
+ )
791
+ '''
792
+ if __debug__:
793
+ type_hints = typing.get_type_hints(_typecheckingstub__9d66f88a29d04606b9d6748d2a92fb0d7bf4a500a64fceff8556e1ac2275828e)
794
+ check_type(argname="argument encryption_strategy", value=encryption_strategy, expected_type=type_hints["encryption_strategy"])
795
+ check_type(argname="argument encryption_conflict_resolution_strategy", value=encryption_conflict_resolution_strategy, expected_type=type_hints["encryption_conflict_resolution_strategy"])
796
+ check_type(argname="argument kms_key_arn", value=kms_key_arn, expected_type=type_hints["kms_key_arn"])
797
+ self._values: typing.Dict[builtins.str, typing.Any] = {
798
+ "encryption_strategy": encryption_strategy,
799
+ }
800
+ if encryption_conflict_resolution_strategy is not None:
801
+ self._values["encryption_conflict_resolution_strategy"] = encryption_conflict_resolution_strategy
802
+ if kms_key_arn is not None:
803
+ self._values["kms_key_arn"] = kms_key_arn
804
+
805
+ @builtins.property
806
+ def encryption_strategy(self) -> builtins.str:
807
+ '''Configuration that determines the encryption strategy of the destination log groups.
808
+
809
+ CUSTOMER_MANAGED uses the configured KmsKeyArn to encrypt newly created destination log groups.
810
+
811
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-logsencryptionconfiguration.html#cfn-observabilityadmin-organizationcentralizationrule-logsencryptionconfiguration-encryptionstrategy
812
+ '''
813
+ result = self._values.get("encryption_strategy")
814
+ assert result is not None, "Required property 'encryption_strategy' is missing"
815
+ return typing.cast(builtins.str, result)
816
+
817
+ @builtins.property
818
+ def encryption_conflict_resolution_strategy(
819
+ self,
820
+ ) -> typing.Optional[builtins.str]:
821
+ '''Conflict resolution strategy for centralization if the encryption strategy is set to CUSTOMER_MANAGED and the destination log group is encrypted with an AWS_OWNED KMS Key.
822
+
823
+ ALLOW lets centralization go through while SKIP prevents centralization into the destination log group.
824
+
825
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-logsencryptionconfiguration.html#cfn-observabilityadmin-organizationcentralizationrule-logsencryptionconfiguration-encryptionconflictresolutionstrategy
826
+ '''
827
+ result = self._values.get("encryption_conflict_resolution_strategy")
828
+ return typing.cast(typing.Optional[builtins.str], result)
829
+
830
+ @builtins.property
831
+ def kms_key_arn(self) -> typing.Optional[builtins.str]:
832
+ '''KMS Key ARN belonging to the primary destination account and region, to encrypt newly created central log groups in the primary destination.
833
+
834
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-logsencryptionconfiguration.html#cfn-observabilityadmin-organizationcentralizationrule-logsencryptionconfiguration-kmskeyarn
835
+ '''
836
+ result = self._values.get("kms_key_arn")
837
+ return typing.cast(typing.Optional[builtins.str], result)
838
+
839
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
840
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
841
+
842
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
843
+ return not (rhs == self)
844
+
845
+ def __repr__(self) -> str:
846
+ return "LogsEncryptionConfigurationProperty(%s)" % ", ".join(
847
+ k + "=" + repr(v) for k, v in self._values.items()
848
+ )
849
+
850
+ @jsii.data_type(
851
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnOrganizationCentralizationRule.SourceLogsConfigurationProperty",
852
+ jsii_struct_bases=[],
853
+ name_mapping={
854
+ "encrypted_log_group_strategy": "encryptedLogGroupStrategy",
855
+ "log_group_selection_criteria": "logGroupSelectionCriteria",
856
+ },
857
+ )
858
+ class SourceLogsConfigurationProperty:
859
+ def __init__(
860
+ self,
861
+ *,
862
+ encrypted_log_group_strategy: builtins.str,
863
+ log_group_selection_criteria: builtins.str,
864
+ ) -> None:
865
+ '''Configuration for selecting and handling source log groups for centralization.
866
+
867
+ :param encrypted_log_group_strategy: A strategy determining whether to centralize source log groups that are encrypted with customer managed KMS keys (CMK). ALLOW will consider CMK encrypted source log groups for centralization while SKIP will skip CMK encrypted source log groups from centralization.
868
+ :param log_group_selection_criteria: The selection criteria that specifies which source log groups to centralize. The selection criteria uses the same format as OAM link filters.
869
+
870
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-sourcelogsconfiguration.html
871
+ :exampleMetadata: fixture=_generated
872
+
873
+ Example::
874
+
875
+ # The code below shows an example of how to instantiate this type.
876
+ # The values are placeholders you should change.
877
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
878
+
879
+ source_logs_configuration_property = observabilityadmin.CfnOrganizationCentralizationRule.SourceLogsConfigurationProperty(
880
+ encrypted_log_group_strategy="encryptedLogGroupStrategy",
881
+ log_group_selection_criteria="logGroupSelectionCriteria"
882
+ )
883
+ '''
884
+ if __debug__:
885
+ type_hints = typing.get_type_hints(_typecheckingstub__20a12247cb1287e19ec3a764cc738d756d26c889450a5b771811f8378a2b5d6c)
886
+ check_type(argname="argument encrypted_log_group_strategy", value=encrypted_log_group_strategy, expected_type=type_hints["encrypted_log_group_strategy"])
887
+ check_type(argname="argument log_group_selection_criteria", value=log_group_selection_criteria, expected_type=type_hints["log_group_selection_criteria"])
888
+ self._values: typing.Dict[builtins.str, typing.Any] = {
889
+ "encrypted_log_group_strategy": encrypted_log_group_strategy,
890
+ "log_group_selection_criteria": log_group_selection_criteria,
891
+ }
892
+
893
+ @builtins.property
894
+ def encrypted_log_group_strategy(self) -> builtins.str:
895
+ '''A strategy determining whether to centralize source log groups that are encrypted with customer managed KMS keys (CMK).
896
+
897
+ ALLOW will consider CMK encrypted source log groups for centralization while SKIP will skip CMK encrypted source log groups from centralization.
898
+
899
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-sourcelogsconfiguration.html#cfn-observabilityadmin-organizationcentralizationrule-sourcelogsconfiguration-encryptedloggroupstrategy
900
+ '''
901
+ result = self._values.get("encrypted_log_group_strategy")
902
+ assert result is not None, "Required property 'encrypted_log_group_strategy' is missing"
903
+ return typing.cast(builtins.str, result)
904
+
905
+ @builtins.property
906
+ def log_group_selection_criteria(self) -> builtins.str:
907
+ '''The selection criteria that specifies which source log groups to centralize.
908
+
909
+ The selection criteria uses the same format as OAM link filters.
910
+
911
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-sourcelogsconfiguration.html#cfn-observabilityadmin-organizationcentralizationrule-sourcelogsconfiguration-loggroupselectioncriteria
912
+ '''
913
+ result = self._values.get("log_group_selection_criteria")
914
+ assert result is not None, "Required property 'log_group_selection_criteria' is missing"
915
+ return typing.cast(builtins.str, result)
916
+
917
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
918
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
919
+
920
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
921
+ return not (rhs == self)
922
+
923
+ def __repr__(self) -> str:
924
+ return "SourceLogsConfigurationProperty(%s)" % ", ".join(
925
+ k + "=" + repr(v) for k, v in self._values.items()
926
+ )
927
+
928
+
929
+ @jsii.data_type(
930
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnOrganizationCentralizationRuleProps",
931
+ jsii_struct_bases=[],
932
+ name_mapping={"rule": "rule", "rule_name": "ruleName", "tags": "tags"},
933
+ )
934
+ class CfnOrganizationCentralizationRuleProps:
935
+ def __init__(
936
+ self,
937
+ *,
938
+ rule: typing.Union[_IResolvable_da3f097b, typing.Union[CfnOrganizationCentralizationRule.CentralizationRuleProperty, typing.Dict[builtins.str, typing.Any]]],
939
+ rule_name: builtins.str,
940
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
941
+ ) -> None:
942
+ '''Properties for defining a ``CfnOrganizationCentralizationRule``.
943
+
944
+ :param rule:
945
+ :param rule_name: The name of the organization centralization rule.
946
+ :param tags: A key-value pair to filter resources based on tags associated with the resource. For more information about tags, see `What are tags? <https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/what-are-tags.html>`_
947
+
948
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationcentralizationrule.html
949
+ :exampleMetadata: fixture=_generated
950
+
951
+ Example::
952
+
953
+ # The code below shows an example of how to instantiate this type.
954
+ # The values are placeholders you should change.
955
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
956
+
957
+ cfn_organization_centralization_rule_props = observabilityadmin.CfnOrganizationCentralizationRuleProps(
958
+ rule=observabilityadmin.CfnOrganizationCentralizationRule.CentralizationRuleProperty(
959
+ destination=observabilityadmin.CfnOrganizationCentralizationRule.CentralizationRuleDestinationProperty(
960
+ region="region",
961
+
962
+ # the properties below are optional
963
+ account="account",
964
+ destination_logs_configuration=observabilityadmin.CfnOrganizationCentralizationRule.DestinationLogsConfigurationProperty(
965
+ backup_configuration=observabilityadmin.CfnOrganizationCentralizationRule.LogsBackupConfigurationProperty(
966
+ region="region",
967
+
968
+ # the properties below are optional
969
+ kms_key_arn="kmsKeyArn"
970
+ ),
971
+ logs_encryption_configuration=observabilityadmin.CfnOrganizationCentralizationRule.LogsEncryptionConfigurationProperty(
972
+ encryption_strategy="encryptionStrategy",
973
+
974
+ # the properties below are optional
975
+ encryption_conflict_resolution_strategy="encryptionConflictResolutionStrategy",
976
+ kms_key_arn="kmsKeyArn"
977
+ )
978
+ )
979
+ ),
980
+ source=observabilityadmin.CfnOrganizationCentralizationRule.CentralizationRuleSourceProperty(
981
+ regions=["regions"],
982
+
983
+ # the properties below are optional
984
+ scope="scope",
985
+ source_logs_configuration=observabilityadmin.CfnOrganizationCentralizationRule.SourceLogsConfigurationProperty(
986
+ encrypted_log_group_strategy="encryptedLogGroupStrategy",
987
+ log_group_selection_criteria="logGroupSelectionCriteria"
988
+ )
989
+ )
990
+ ),
991
+ rule_name="ruleName",
992
+
993
+ # the properties below are optional
994
+ tags=[CfnTag(
995
+ key="key",
996
+ value="value"
997
+ )]
998
+ )
999
+ '''
1000
+ if __debug__:
1001
+ type_hints = typing.get_type_hints(_typecheckingstub__00d0ecee2cd9ac728ca3e321203ce2e611e56b0b2d415ba2673a50599e4512cd)
1002
+ check_type(argname="argument rule", value=rule, expected_type=type_hints["rule"])
1003
+ check_type(argname="argument rule_name", value=rule_name, expected_type=type_hints["rule_name"])
1004
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
1005
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1006
+ "rule": rule,
1007
+ "rule_name": rule_name,
1008
+ }
1009
+ if tags is not None:
1010
+ self._values["tags"] = tags
1011
+
1012
+ @builtins.property
1013
+ def rule(
1014
+ self,
1015
+ ) -> typing.Union[_IResolvable_da3f097b, CfnOrganizationCentralizationRule.CentralizationRuleProperty]:
1016
+ '''
1017
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationcentralizationrule.html#cfn-observabilityadmin-organizationcentralizationrule-rule
1018
+ '''
1019
+ result = self._values.get("rule")
1020
+ assert result is not None, "Required property 'rule' is missing"
1021
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnOrganizationCentralizationRule.CentralizationRuleProperty], result)
1022
+
1023
+ @builtins.property
1024
+ def rule_name(self) -> builtins.str:
1025
+ '''The name of the organization centralization rule.
1026
+
1027
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationcentralizationrule.html#cfn-observabilityadmin-organizationcentralizationrule-rulename
1028
+ '''
1029
+ result = self._values.get("rule_name")
1030
+ assert result is not None, "Required property 'rule_name' is missing"
1031
+ return typing.cast(builtins.str, result)
1032
+
1033
+ @builtins.property
1034
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1035
+ '''A key-value pair to filter resources based on tags associated with the resource.
1036
+
1037
+ For more information about tags, see `What are tags? <https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/what-are-tags.html>`_
1038
+
1039
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationcentralizationrule.html#cfn-observabilityadmin-organizationcentralizationrule-tags
1040
+ '''
1041
+ result = self._values.get("tags")
1042
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
1043
+
1044
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1045
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1046
+
1047
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1048
+ return not (rhs == self)
1049
+
1050
+ def __repr__(self) -> str:
1051
+ return "CfnOrganizationCentralizationRuleProps(%s)" % ", ".join(
1052
+ k + "=" + repr(v) for k, v in self._values.items()
1053
+ )
1054
+
1055
+
1056
+ @jsii.implements(_IInspectable_c2943556, _IOrganizationTelemetryRuleRef_c536ab68, _ITaggableV2_4e6798f8)
1057
+ class CfnOrganizationTelemetryRule(
1058
+ _CfnResource_9df397a6,
1059
+ metaclass=jsii.JSIIMeta,
1060
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnOrganizationTelemetryRule",
1061
+ ):
1062
+ '''Retrieves the details of a specific organization centralization rule.
1063
+
1064
+ This operation can only be called by the organization's management account or a delegated administrator account.
1065
+
1066
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationtelemetryrule.html
1067
+ :cloudformationResource: AWS::ObservabilityAdmin::OrganizationTelemetryRule
1068
+ :exampleMetadata: fixture=_generated
1069
+
1070
+ Example::
1071
+
1072
+ # The code below shows an example of how to instantiate this type.
1073
+ # The values are placeholders you should change.
1074
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
1075
+
1076
+ cfn_organization_telemetry_rule = observabilityadmin.CfnOrganizationTelemetryRule(self, "MyCfnOrganizationTelemetryRule",
1077
+ rule=observabilityadmin.CfnOrganizationTelemetryRule.TelemetryRuleProperty(
1078
+ resource_type="resourceType",
1079
+ telemetry_type="telemetryType",
1080
+
1081
+ # the properties below are optional
1082
+ destination_configuration=observabilityadmin.CfnOrganizationTelemetryRule.TelemetryDestinationConfigurationProperty(
1083
+ destination_pattern="destinationPattern",
1084
+ destination_type="destinationType",
1085
+ retention_in_days=123,
1086
+ vpc_flow_log_parameters=observabilityadmin.CfnOrganizationTelemetryRule.VPCFlowLogParametersProperty(
1087
+ log_format="logFormat",
1088
+ max_aggregation_interval=123,
1089
+ traffic_type="trafficType"
1090
+ )
1091
+ ),
1092
+ scope="scope",
1093
+ selection_criteria="selectionCriteria"
1094
+ ),
1095
+ rule_name="ruleName",
1096
+
1097
+ # the properties below are optional
1098
+ tags=[CfnTag(
1099
+ key="key",
1100
+ value="value"
1101
+ )]
1102
+ )
1103
+ '''
1104
+
1105
+ def __init__(
1106
+ self,
1107
+ scope: _constructs_77d1e7e8.Construct,
1108
+ id: builtins.str,
1109
+ *,
1110
+ rule: typing.Union[_IResolvable_da3f097b, typing.Union["CfnOrganizationTelemetryRule.TelemetryRuleProperty", typing.Dict[builtins.str, typing.Any]]],
1111
+ rule_name: builtins.str,
1112
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1113
+ ) -> None:
1114
+ '''Create a new ``AWS::ObservabilityAdmin::OrganizationTelemetryRule``.
1115
+
1116
+ :param scope: Scope in which this resource is defined.
1117
+ :param id: Construct identifier for this resource (unique in its scope).
1118
+ :param rule: The name of the organization telemetry rule.
1119
+ :param rule_name: The name of the organization centralization rule.
1120
+ :param tags: Lists all tags attached to the specified telemetry rule resource.
1121
+ '''
1122
+ if __debug__:
1123
+ type_hints = typing.get_type_hints(_typecheckingstub__a67d6a9dd82924a413b7d3435faeb8efa735048df0244b926e672def8c2d5f75)
1124
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1125
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1126
+ props = CfnOrganizationTelemetryRuleProps(
1127
+ rule=rule, rule_name=rule_name, tags=tags
1128
+ )
1129
+
1130
+ jsii.create(self.__class__, self, [scope, id, props])
1131
+
1132
+ @jsii.member(jsii_name="inspect")
1133
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
1134
+ '''Examines the CloudFormation resource and discloses attributes.
1135
+
1136
+ :param inspector: tree inspector to collect and process attributes.
1137
+ '''
1138
+ if __debug__:
1139
+ type_hints = typing.get_type_hints(_typecheckingstub__0cb893813673a29ee1f384593916d34bdcc440b816dfc54ad27097692c5a64e9)
1140
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
1141
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
1142
+
1143
+ @jsii.member(jsii_name="renderProperties")
1144
+ def _render_properties(
1145
+ self,
1146
+ props: typing.Mapping[builtins.str, typing.Any],
1147
+ ) -> typing.Mapping[builtins.str, typing.Any]:
1148
+ '''
1149
+ :param props: -
1150
+ '''
1151
+ if __debug__:
1152
+ type_hints = typing.get_type_hints(_typecheckingstub__c809c768027da00df4018694393faf5d77af9754b12923bf684ada119faecfc7)
1153
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
1154
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
1155
+
1156
+ @jsii.python.classproperty
1157
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
1158
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
1159
+ '''The CloudFormation resource type name for this resource class.'''
1160
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
1161
+
1162
+ @builtins.property
1163
+ @jsii.member(jsii_name="attrRuleArn")
1164
+ def attr_rule_arn(self) -> builtins.str:
1165
+ '''The arn of the organization telemetry rule.
1166
+
1167
+ :cloudformationAttribute: RuleArn
1168
+ '''
1169
+ return typing.cast(builtins.str, jsii.get(self, "attrRuleArn"))
1170
+
1171
+ @builtins.property
1172
+ @jsii.member(jsii_name="cdkTagManager")
1173
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
1174
+ '''Tag Manager which manages the tags for this resource.'''
1175
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
1176
+
1177
+ @builtins.property
1178
+ @jsii.member(jsii_name="cfnProperties")
1179
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
1180
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1181
+
1182
+ @builtins.property
1183
+ @jsii.member(jsii_name="organizationTelemetryRuleRef")
1184
+ def organization_telemetry_rule_ref(
1185
+ self,
1186
+ ) -> _OrganizationTelemetryRuleReference_447c11d2:
1187
+ '''A reference to a OrganizationTelemetryRule resource.'''
1188
+ return typing.cast(_OrganizationTelemetryRuleReference_447c11d2, jsii.get(self, "organizationTelemetryRuleRef"))
1189
+
1190
+ @builtins.property
1191
+ @jsii.member(jsii_name="rule")
1192
+ def rule(
1193
+ self,
1194
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnOrganizationTelemetryRule.TelemetryRuleProperty"]:
1195
+ '''The name of the organization telemetry rule.'''
1196
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnOrganizationTelemetryRule.TelemetryRuleProperty"], jsii.get(self, "rule"))
1197
+
1198
+ @rule.setter
1199
+ def rule(
1200
+ self,
1201
+ value: typing.Union[_IResolvable_da3f097b, "CfnOrganizationTelemetryRule.TelemetryRuleProperty"],
1202
+ ) -> None:
1203
+ if __debug__:
1204
+ type_hints = typing.get_type_hints(_typecheckingstub__97cf84910a3c46b94c3e90ddf73c07b304a029e413bebd1b7c5e7b2bbe5cd411)
1205
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1206
+ jsii.set(self, "rule", value) # pyright: ignore[reportArgumentType]
1207
+
1208
+ @builtins.property
1209
+ @jsii.member(jsii_name="ruleName")
1210
+ def rule_name(self) -> builtins.str:
1211
+ '''The name of the organization centralization rule.'''
1212
+ return typing.cast(builtins.str, jsii.get(self, "ruleName"))
1213
+
1214
+ @rule_name.setter
1215
+ def rule_name(self, value: builtins.str) -> None:
1216
+ if __debug__:
1217
+ type_hints = typing.get_type_hints(_typecheckingstub__84099afcf940dd46614099ecc03e181396a6d202813d1517bd79414c5aa2f5ae)
1218
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1219
+ jsii.set(self, "ruleName", value) # pyright: ignore[reportArgumentType]
1220
+
1221
+ @builtins.property
1222
+ @jsii.member(jsii_name="tags")
1223
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1224
+ '''Lists all tags attached to the specified telemetry rule resource.'''
1225
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
1226
+
1227
+ @tags.setter
1228
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
1229
+ if __debug__:
1230
+ type_hints = typing.get_type_hints(_typecheckingstub__d494e45ec3f03fbc2168c2e374f689615e98524c832aa6247ad243fabe01ffe7)
1231
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1232
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
1233
+
1234
+ @jsii.data_type(
1235
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnOrganizationTelemetryRule.TelemetryDestinationConfigurationProperty",
1236
+ jsii_struct_bases=[],
1237
+ name_mapping={
1238
+ "destination_pattern": "destinationPattern",
1239
+ "destination_type": "destinationType",
1240
+ "retention_in_days": "retentionInDays",
1241
+ "vpc_flow_log_parameters": "vpcFlowLogParameters",
1242
+ },
1243
+ )
1244
+ class TelemetryDestinationConfigurationProperty:
1245
+ def __init__(
1246
+ self,
1247
+ *,
1248
+ destination_pattern: typing.Optional[builtins.str] = None,
1249
+ destination_type: typing.Optional[builtins.str] = None,
1250
+ retention_in_days: typing.Optional[jsii.Number] = None,
1251
+ vpc_flow_log_parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnOrganizationTelemetryRule.VPCFlowLogParametersProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1252
+ ) -> None:
1253
+ '''Configuration specifying where and how telemetry data should be delivered for AWS resources.
1254
+
1255
+ :param destination_pattern: The pattern used to generate the destination path or name, supporting macros like and .
1256
+ :param destination_type: The type of destination for the telemetry data (e.g., "Amazon CloudWatch Logs", "S3").
1257
+ :param retention_in_days: The number of days to retain the telemetry data in the destination.
1258
+ :param vpc_flow_log_parameters: Configuration parameters specific to VPC Flow Logs when VPC is the resource type.
1259
+
1260
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration.html
1261
+ :exampleMetadata: fixture=_generated
1262
+
1263
+ Example::
1264
+
1265
+ # The code below shows an example of how to instantiate this type.
1266
+ # The values are placeholders you should change.
1267
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
1268
+
1269
+ telemetry_destination_configuration_property = observabilityadmin.CfnOrganizationTelemetryRule.TelemetryDestinationConfigurationProperty(
1270
+ destination_pattern="destinationPattern",
1271
+ destination_type="destinationType",
1272
+ retention_in_days=123,
1273
+ vpc_flow_log_parameters=observabilityadmin.CfnOrganizationTelemetryRule.VPCFlowLogParametersProperty(
1274
+ log_format="logFormat",
1275
+ max_aggregation_interval=123,
1276
+ traffic_type="trafficType"
1277
+ )
1278
+ )
1279
+ '''
1280
+ if __debug__:
1281
+ type_hints = typing.get_type_hints(_typecheckingstub__36b4168c57b4555036ca598e8299a36985c9aab7a1eb6b84357df4454b340171)
1282
+ check_type(argname="argument destination_pattern", value=destination_pattern, expected_type=type_hints["destination_pattern"])
1283
+ check_type(argname="argument destination_type", value=destination_type, expected_type=type_hints["destination_type"])
1284
+ check_type(argname="argument retention_in_days", value=retention_in_days, expected_type=type_hints["retention_in_days"])
1285
+ check_type(argname="argument vpc_flow_log_parameters", value=vpc_flow_log_parameters, expected_type=type_hints["vpc_flow_log_parameters"])
1286
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1287
+ if destination_pattern is not None:
1288
+ self._values["destination_pattern"] = destination_pattern
1289
+ if destination_type is not None:
1290
+ self._values["destination_type"] = destination_type
1291
+ if retention_in_days is not None:
1292
+ self._values["retention_in_days"] = retention_in_days
1293
+ if vpc_flow_log_parameters is not None:
1294
+ self._values["vpc_flow_log_parameters"] = vpc_flow_log_parameters
1295
+
1296
+ @builtins.property
1297
+ def destination_pattern(self) -> typing.Optional[builtins.str]:
1298
+ '''The pattern used to generate the destination path or name, supporting macros like and .
1299
+
1300
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration-destinationpattern
1301
+ '''
1302
+ result = self._values.get("destination_pattern")
1303
+ return typing.cast(typing.Optional[builtins.str], result)
1304
+
1305
+ @builtins.property
1306
+ def destination_type(self) -> typing.Optional[builtins.str]:
1307
+ '''The type of destination for the telemetry data (e.g., "Amazon CloudWatch Logs", "S3").
1308
+
1309
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration-destinationtype
1310
+ '''
1311
+ result = self._values.get("destination_type")
1312
+ return typing.cast(typing.Optional[builtins.str], result)
1313
+
1314
+ @builtins.property
1315
+ def retention_in_days(self) -> typing.Optional[jsii.Number]:
1316
+ '''The number of days to retain the telemetry data in the destination.
1317
+
1318
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration-retentionindays
1319
+ '''
1320
+ result = self._values.get("retention_in_days")
1321
+ return typing.cast(typing.Optional[jsii.Number], result)
1322
+
1323
+ @builtins.property
1324
+ def vpc_flow_log_parameters(
1325
+ self,
1326
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnOrganizationTelemetryRule.VPCFlowLogParametersProperty"]]:
1327
+ '''Configuration parameters specific to VPC Flow Logs when VPC is the resource type.
1328
+
1329
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration-vpcflowlogparameters
1330
+ '''
1331
+ result = self._values.get("vpc_flow_log_parameters")
1332
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnOrganizationTelemetryRule.VPCFlowLogParametersProperty"]], result)
1333
+
1334
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1335
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1336
+
1337
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1338
+ return not (rhs == self)
1339
+
1340
+ def __repr__(self) -> str:
1341
+ return "TelemetryDestinationConfigurationProperty(%s)" % ", ".join(
1342
+ k + "=" + repr(v) for k, v in self._values.items()
1343
+ )
1344
+
1345
+ @jsii.data_type(
1346
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnOrganizationTelemetryRule.TelemetryRuleProperty",
1347
+ jsii_struct_bases=[],
1348
+ name_mapping={
1349
+ "resource_type": "resourceType",
1350
+ "telemetry_type": "telemetryType",
1351
+ "destination_configuration": "destinationConfiguration",
1352
+ "scope": "scope",
1353
+ "selection_criteria": "selectionCriteria",
1354
+ },
1355
+ )
1356
+ class TelemetryRuleProperty:
1357
+ def __init__(
1358
+ self,
1359
+ *,
1360
+ resource_type: builtins.str,
1361
+ telemetry_type: builtins.str,
1362
+ destination_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnOrganizationTelemetryRule.TelemetryDestinationConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1363
+ scope: typing.Optional[builtins.str] = None,
1364
+ selection_criteria: typing.Optional[builtins.str] = None,
1365
+ ) -> None:
1366
+ '''Defines how telemetry should be configured for specific AWS resources.
1367
+
1368
+ :param resource_type: The type of AWS resource to configure telemetry for (e.g., "AWS::EC2::VPC").
1369
+ :param telemetry_type: The type of telemetry to collect (Logs, Metrics, or Traces).
1370
+ :param destination_configuration: Configuration specifying where and how the telemetry data should be delivered.
1371
+ :param scope: The organizational scope to which the rule applies, specified using accounts or organizational units.
1372
+ :param selection_criteria: Criteria for selecting which resources the rule applies to, such as resource tags.
1373
+
1374
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetryrule.html
1375
+ :exampleMetadata: fixture=_generated
1376
+
1377
+ Example::
1378
+
1379
+ # The code below shows an example of how to instantiate this type.
1380
+ # The values are placeholders you should change.
1381
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
1382
+
1383
+ telemetry_rule_property = observabilityadmin.CfnOrganizationTelemetryRule.TelemetryRuleProperty(
1384
+ resource_type="resourceType",
1385
+ telemetry_type="telemetryType",
1386
+
1387
+ # the properties below are optional
1388
+ destination_configuration=observabilityadmin.CfnOrganizationTelemetryRule.TelemetryDestinationConfigurationProperty(
1389
+ destination_pattern="destinationPattern",
1390
+ destination_type="destinationType",
1391
+ retention_in_days=123,
1392
+ vpc_flow_log_parameters=observabilityadmin.CfnOrganizationTelemetryRule.VPCFlowLogParametersProperty(
1393
+ log_format="logFormat",
1394
+ max_aggregation_interval=123,
1395
+ traffic_type="trafficType"
1396
+ )
1397
+ ),
1398
+ scope="scope",
1399
+ selection_criteria="selectionCriteria"
1400
+ )
1401
+ '''
1402
+ if __debug__:
1403
+ type_hints = typing.get_type_hints(_typecheckingstub__8febf24ebcbc00029972152d874df5e847a9f5cd45e05abb26e69f7a2cabc5bf)
1404
+ check_type(argname="argument resource_type", value=resource_type, expected_type=type_hints["resource_type"])
1405
+ check_type(argname="argument telemetry_type", value=telemetry_type, expected_type=type_hints["telemetry_type"])
1406
+ check_type(argname="argument destination_configuration", value=destination_configuration, expected_type=type_hints["destination_configuration"])
1407
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1408
+ check_type(argname="argument selection_criteria", value=selection_criteria, expected_type=type_hints["selection_criteria"])
1409
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1410
+ "resource_type": resource_type,
1411
+ "telemetry_type": telemetry_type,
1412
+ }
1413
+ if destination_configuration is not None:
1414
+ self._values["destination_configuration"] = destination_configuration
1415
+ if scope is not None:
1416
+ self._values["scope"] = scope
1417
+ if selection_criteria is not None:
1418
+ self._values["selection_criteria"] = selection_criteria
1419
+
1420
+ @builtins.property
1421
+ def resource_type(self) -> builtins.str:
1422
+ '''The type of AWS resource to configure telemetry for (e.g., "AWS::EC2::VPC").
1423
+
1424
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-telemetryrule-resourcetype
1425
+ '''
1426
+ result = self._values.get("resource_type")
1427
+ assert result is not None, "Required property 'resource_type' is missing"
1428
+ return typing.cast(builtins.str, result)
1429
+
1430
+ @builtins.property
1431
+ def telemetry_type(self) -> builtins.str:
1432
+ '''The type of telemetry to collect (Logs, Metrics, or Traces).
1433
+
1434
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-telemetryrule-telemetrytype
1435
+ '''
1436
+ result = self._values.get("telemetry_type")
1437
+ assert result is not None, "Required property 'telemetry_type' is missing"
1438
+ return typing.cast(builtins.str, result)
1439
+
1440
+ @builtins.property
1441
+ def destination_configuration(
1442
+ self,
1443
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnOrganizationTelemetryRule.TelemetryDestinationConfigurationProperty"]]:
1444
+ '''Configuration specifying where and how the telemetry data should be delivered.
1445
+
1446
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-telemetryrule-destinationconfiguration
1447
+ '''
1448
+ result = self._values.get("destination_configuration")
1449
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnOrganizationTelemetryRule.TelemetryDestinationConfigurationProperty"]], result)
1450
+
1451
+ @builtins.property
1452
+ def scope(self) -> typing.Optional[builtins.str]:
1453
+ '''The organizational scope to which the rule applies, specified using accounts or organizational units.
1454
+
1455
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-telemetryrule-scope
1456
+ '''
1457
+ result = self._values.get("scope")
1458
+ return typing.cast(typing.Optional[builtins.str], result)
1459
+
1460
+ @builtins.property
1461
+ def selection_criteria(self) -> typing.Optional[builtins.str]:
1462
+ '''Criteria for selecting which resources the rule applies to, such as resource tags.
1463
+
1464
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-telemetryrule-selectioncriteria
1465
+ '''
1466
+ result = self._values.get("selection_criteria")
1467
+ return typing.cast(typing.Optional[builtins.str], result)
1468
+
1469
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1470
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1471
+
1472
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1473
+ return not (rhs == self)
1474
+
1475
+ def __repr__(self) -> str:
1476
+ return "TelemetryRuleProperty(%s)" % ", ".join(
1477
+ k + "=" + repr(v) for k, v in self._values.items()
1478
+ )
1479
+
1480
+ @jsii.data_type(
1481
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnOrganizationTelemetryRule.VPCFlowLogParametersProperty",
1482
+ jsii_struct_bases=[],
1483
+ name_mapping={
1484
+ "log_format": "logFormat",
1485
+ "max_aggregation_interval": "maxAggregationInterval",
1486
+ "traffic_type": "trafficType",
1487
+ },
1488
+ )
1489
+ class VPCFlowLogParametersProperty:
1490
+ def __init__(
1491
+ self,
1492
+ *,
1493
+ log_format: typing.Optional[builtins.str] = None,
1494
+ max_aggregation_interval: typing.Optional[jsii.Number] = None,
1495
+ traffic_type: typing.Optional[builtins.str] = None,
1496
+ ) -> None:
1497
+ '''Configuration parameters specific to VPC Flow Logs.
1498
+
1499
+ :param log_format: The format in which VPC Flow Log entries should be logged.
1500
+ :param max_aggregation_interval: The maximum interval in seconds between the capture of flow log records.
1501
+ :param traffic_type: The type of traffic to log (ACCEPT, REJECT, or ALL).
1502
+
1503
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-vpcflowlogparameters.html
1504
+ :exampleMetadata: fixture=_generated
1505
+
1506
+ Example::
1507
+
1508
+ # The code below shows an example of how to instantiate this type.
1509
+ # The values are placeholders you should change.
1510
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
1511
+
1512
+ v_pCFlow_log_parameters_property = observabilityadmin.CfnOrganizationTelemetryRule.VPCFlowLogParametersProperty(
1513
+ log_format="logFormat",
1514
+ max_aggregation_interval=123,
1515
+ traffic_type="trafficType"
1516
+ )
1517
+ '''
1518
+ if __debug__:
1519
+ type_hints = typing.get_type_hints(_typecheckingstub__945b01222f6573dfd9bd365335b34de4d056db844b2fe9ffa6c9d40371eaff6e)
1520
+ check_type(argname="argument log_format", value=log_format, expected_type=type_hints["log_format"])
1521
+ check_type(argname="argument max_aggregation_interval", value=max_aggregation_interval, expected_type=type_hints["max_aggregation_interval"])
1522
+ check_type(argname="argument traffic_type", value=traffic_type, expected_type=type_hints["traffic_type"])
1523
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1524
+ if log_format is not None:
1525
+ self._values["log_format"] = log_format
1526
+ if max_aggregation_interval is not None:
1527
+ self._values["max_aggregation_interval"] = max_aggregation_interval
1528
+ if traffic_type is not None:
1529
+ self._values["traffic_type"] = traffic_type
1530
+
1531
+ @builtins.property
1532
+ def log_format(self) -> typing.Optional[builtins.str]:
1533
+ '''The format in which VPC Flow Log entries should be logged.
1534
+
1535
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-vpcflowlogparameters.html#cfn-observabilityadmin-organizationtelemetryrule-vpcflowlogparameters-logformat
1536
+ '''
1537
+ result = self._values.get("log_format")
1538
+ return typing.cast(typing.Optional[builtins.str], result)
1539
+
1540
+ @builtins.property
1541
+ def max_aggregation_interval(self) -> typing.Optional[jsii.Number]:
1542
+ '''The maximum interval in seconds between the capture of flow log records.
1543
+
1544
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-vpcflowlogparameters.html#cfn-observabilityadmin-organizationtelemetryrule-vpcflowlogparameters-maxaggregationinterval
1545
+ '''
1546
+ result = self._values.get("max_aggregation_interval")
1547
+ return typing.cast(typing.Optional[jsii.Number], result)
1548
+
1549
+ @builtins.property
1550
+ def traffic_type(self) -> typing.Optional[builtins.str]:
1551
+ '''The type of traffic to log (ACCEPT, REJECT, or ALL).
1552
+
1553
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-vpcflowlogparameters.html#cfn-observabilityadmin-organizationtelemetryrule-vpcflowlogparameters-traffictype
1554
+ '''
1555
+ result = self._values.get("traffic_type")
1556
+ return typing.cast(typing.Optional[builtins.str], result)
1557
+
1558
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1559
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1560
+
1561
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1562
+ return not (rhs == self)
1563
+
1564
+ def __repr__(self) -> str:
1565
+ return "VPCFlowLogParametersProperty(%s)" % ", ".join(
1566
+ k + "=" + repr(v) for k, v in self._values.items()
1567
+ )
1568
+
1569
+
1570
+ @jsii.data_type(
1571
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnOrganizationTelemetryRuleProps",
1572
+ jsii_struct_bases=[],
1573
+ name_mapping={"rule": "rule", "rule_name": "ruleName", "tags": "tags"},
1574
+ )
1575
+ class CfnOrganizationTelemetryRuleProps:
1576
+ def __init__(
1577
+ self,
1578
+ *,
1579
+ rule: typing.Union[_IResolvable_da3f097b, typing.Union[CfnOrganizationTelemetryRule.TelemetryRuleProperty, typing.Dict[builtins.str, typing.Any]]],
1580
+ rule_name: builtins.str,
1581
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1582
+ ) -> None:
1583
+ '''Properties for defining a ``CfnOrganizationTelemetryRule``.
1584
+
1585
+ :param rule: The name of the organization telemetry rule.
1586
+ :param rule_name: The name of the organization centralization rule.
1587
+ :param tags: Lists all tags attached to the specified telemetry rule resource.
1588
+
1589
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationtelemetryrule.html
1590
+ :exampleMetadata: fixture=_generated
1591
+
1592
+ Example::
1593
+
1594
+ # The code below shows an example of how to instantiate this type.
1595
+ # The values are placeholders you should change.
1596
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
1597
+
1598
+ cfn_organization_telemetry_rule_props = observabilityadmin.CfnOrganizationTelemetryRuleProps(
1599
+ rule=observabilityadmin.CfnOrganizationTelemetryRule.TelemetryRuleProperty(
1600
+ resource_type="resourceType",
1601
+ telemetry_type="telemetryType",
1602
+
1603
+ # the properties below are optional
1604
+ destination_configuration=observabilityadmin.CfnOrganizationTelemetryRule.TelemetryDestinationConfigurationProperty(
1605
+ destination_pattern="destinationPattern",
1606
+ destination_type="destinationType",
1607
+ retention_in_days=123,
1608
+ vpc_flow_log_parameters=observabilityadmin.CfnOrganizationTelemetryRule.VPCFlowLogParametersProperty(
1609
+ log_format="logFormat",
1610
+ max_aggregation_interval=123,
1611
+ traffic_type="trafficType"
1612
+ )
1613
+ ),
1614
+ scope="scope",
1615
+ selection_criteria="selectionCriteria"
1616
+ ),
1617
+ rule_name="ruleName",
1618
+
1619
+ # the properties below are optional
1620
+ tags=[CfnTag(
1621
+ key="key",
1622
+ value="value"
1623
+ )]
1624
+ )
1625
+ '''
1626
+ if __debug__:
1627
+ type_hints = typing.get_type_hints(_typecheckingstub__45c94381428dd096d5bd5b31c1a78b0ec6c66b125c46a889f389e957dbf9f76b)
1628
+ check_type(argname="argument rule", value=rule, expected_type=type_hints["rule"])
1629
+ check_type(argname="argument rule_name", value=rule_name, expected_type=type_hints["rule_name"])
1630
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
1631
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1632
+ "rule": rule,
1633
+ "rule_name": rule_name,
1634
+ }
1635
+ if tags is not None:
1636
+ self._values["tags"] = tags
1637
+
1638
+ @builtins.property
1639
+ def rule(
1640
+ self,
1641
+ ) -> typing.Union[_IResolvable_da3f097b, CfnOrganizationTelemetryRule.TelemetryRuleProperty]:
1642
+ '''The name of the organization telemetry rule.
1643
+
1644
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationtelemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-rule
1645
+ '''
1646
+ result = self._values.get("rule")
1647
+ assert result is not None, "Required property 'rule' is missing"
1648
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnOrganizationTelemetryRule.TelemetryRuleProperty], result)
1649
+
1650
+ @builtins.property
1651
+ def rule_name(self) -> builtins.str:
1652
+ '''The name of the organization centralization rule.
1653
+
1654
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationtelemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-rulename
1655
+ '''
1656
+ result = self._values.get("rule_name")
1657
+ assert result is not None, "Required property 'rule_name' is missing"
1658
+ return typing.cast(builtins.str, result)
1659
+
1660
+ @builtins.property
1661
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1662
+ '''Lists all tags attached to the specified telemetry rule resource.
1663
+
1664
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationtelemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-tags
1665
+ '''
1666
+ result = self._values.get("tags")
1667
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
1668
+
1669
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1670
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1671
+
1672
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1673
+ return not (rhs == self)
1674
+
1675
+ def __repr__(self) -> str:
1676
+ return "CfnOrganizationTelemetryRuleProps(%s)" % ", ".join(
1677
+ k + "=" + repr(v) for k, v in self._values.items()
1678
+ )
1679
+
1680
+
1681
+ @jsii.implements(_IInspectable_c2943556, _ITelemetryRuleRef_9918195f, _ITaggableV2_4e6798f8)
1682
+ class CfnTelemetryRule(
1683
+ _CfnResource_9df397a6,
1684
+ metaclass=jsii.JSIIMeta,
1685
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnTelemetryRule",
1686
+ ):
1687
+ '''Creates a telemetry rule that defines how telemetry should be configured for AWS resources in your account.
1688
+
1689
+ The rule specifies which resources should have telemetry enabled and how that telemetry data should be collected based on resource type, telemetry type, and selection criteria.
1690
+
1691
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-telemetryrule.html
1692
+ :cloudformationResource: AWS::ObservabilityAdmin::TelemetryRule
1693
+ :exampleMetadata: fixture=_generated
1694
+
1695
+ Example::
1696
+
1697
+ # The code below shows an example of how to instantiate this type.
1698
+ # The values are placeholders you should change.
1699
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
1700
+
1701
+ cfn_telemetry_rule = observabilityadmin.CfnTelemetryRule(self, "MyCfnTelemetryRule",
1702
+ rule=observabilityadmin.CfnTelemetryRule.TelemetryRuleProperty(
1703
+ resource_type="resourceType",
1704
+ telemetry_type="telemetryType",
1705
+
1706
+ # the properties below are optional
1707
+ destination_configuration=observabilityadmin.CfnTelemetryRule.TelemetryDestinationConfigurationProperty(
1708
+ destination_pattern="destinationPattern",
1709
+ destination_type="destinationType",
1710
+ retention_in_days=123,
1711
+ vpc_flow_log_parameters=observabilityadmin.CfnTelemetryRule.VPCFlowLogParametersProperty(
1712
+ log_format="logFormat",
1713
+ max_aggregation_interval=123,
1714
+ traffic_type="trafficType"
1715
+ )
1716
+ ),
1717
+ selection_criteria="selectionCriteria"
1718
+ ),
1719
+ rule_name="ruleName",
1720
+
1721
+ # the properties below are optional
1722
+ tags=[CfnTag(
1723
+ key="key",
1724
+ value="value"
1725
+ )]
1726
+ )
1727
+ '''
1728
+
1729
+ def __init__(
1730
+ self,
1731
+ scope: _constructs_77d1e7e8.Construct,
1732
+ id: builtins.str,
1733
+ *,
1734
+ rule: typing.Union[_IResolvable_da3f097b, typing.Union["CfnTelemetryRule.TelemetryRuleProperty", typing.Dict[builtins.str, typing.Any]]],
1735
+ rule_name: builtins.str,
1736
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1737
+ ) -> None:
1738
+ '''Create a new ``AWS::ObservabilityAdmin::TelemetryRule``.
1739
+
1740
+ :param scope: Scope in which this resource is defined.
1741
+ :param id: Construct identifier for this resource (unique in its scope).
1742
+ :param rule: Retrieves the details of a specific telemetry rule in your account.
1743
+ :param rule_name: The name of the telemetry rule.
1744
+ :param tags: Lists all tags attached to the specified telemetry rule resource.
1745
+ '''
1746
+ if __debug__:
1747
+ type_hints = typing.get_type_hints(_typecheckingstub__1cb28d06ef60815f8488b771b64aca8e3671a315a3f6676ad80a414dcd296224)
1748
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1749
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1750
+ props = CfnTelemetryRuleProps(rule=rule, rule_name=rule_name, tags=tags)
1751
+
1752
+ jsii.create(self.__class__, self, [scope, id, props])
1753
+
1754
+ @jsii.member(jsii_name="inspect")
1755
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
1756
+ '''Examines the CloudFormation resource and discloses attributes.
1757
+
1758
+ :param inspector: tree inspector to collect and process attributes.
1759
+ '''
1760
+ if __debug__:
1761
+ type_hints = typing.get_type_hints(_typecheckingstub__c971c1c4e8e03d4140674a22f18490c0a14f143dab5c9b15a801d0e69e908b92)
1762
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
1763
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
1764
+
1765
+ @jsii.member(jsii_name="renderProperties")
1766
+ def _render_properties(
1767
+ self,
1768
+ props: typing.Mapping[builtins.str, typing.Any],
1769
+ ) -> typing.Mapping[builtins.str, typing.Any]:
1770
+ '''
1771
+ :param props: -
1772
+ '''
1773
+ if __debug__:
1774
+ type_hints = typing.get_type_hints(_typecheckingstub__adf48e055c256d6f5cb987ba3921807e211a303c3d38be6a02b6932f52a739fe)
1775
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
1776
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
1777
+
1778
+ @jsii.python.classproperty
1779
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
1780
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
1781
+ '''The CloudFormation resource type name for this resource class.'''
1782
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
1783
+
1784
+ @builtins.property
1785
+ @jsii.member(jsii_name="attrRuleArn")
1786
+ def attr_rule_arn(self) -> builtins.str:
1787
+ '''The Amazon Resource Name (ARN) of the telemetry rule.
1788
+
1789
+ :cloudformationAttribute: RuleArn
1790
+ '''
1791
+ return typing.cast(builtins.str, jsii.get(self, "attrRuleArn"))
1792
+
1793
+ @builtins.property
1794
+ @jsii.member(jsii_name="cdkTagManager")
1795
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
1796
+ '''Tag Manager which manages the tags for this resource.'''
1797
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
1798
+
1799
+ @builtins.property
1800
+ @jsii.member(jsii_name="cfnProperties")
1801
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
1802
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1803
+
1804
+ @builtins.property
1805
+ @jsii.member(jsii_name="telemetryRuleRef")
1806
+ def telemetry_rule_ref(self) -> _TelemetryRuleReference_35b2b664:
1807
+ '''A reference to a TelemetryRule resource.'''
1808
+ return typing.cast(_TelemetryRuleReference_35b2b664, jsii.get(self, "telemetryRuleRef"))
1809
+
1810
+ @builtins.property
1811
+ @jsii.member(jsii_name="rule")
1812
+ def rule(
1813
+ self,
1814
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnTelemetryRule.TelemetryRuleProperty"]:
1815
+ '''Retrieves the details of a specific telemetry rule in your account.'''
1816
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnTelemetryRule.TelemetryRuleProperty"], jsii.get(self, "rule"))
1817
+
1818
+ @rule.setter
1819
+ def rule(
1820
+ self,
1821
+ value: typing.Union[_IResolvable_da3f097b, "CfnTelemetryRule.TelemetryRuleProperty"],
1822
+ ) -> None:
1823
+ if __debug__:
1824
+ type_hints = typing.get_type_hints(_typecheckingstub__253115d76ca17e48e13df2aa679666bb12581680b457a45a7743f6a80d6dbfa1)
1825
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1826
+ jsii.set(self, "rule", value) # pyright: ignore[reportArgumentType]
1827
+
1828
+ @builtins.property
1829
+ @jsii.member(jsii_name="ruleName")
1830
+ def rule_name(self) -> builtins.str:
1831
+ '''The name of the telemetry rule.'''
1832
+ return typing.cast(builtins.str, jsii.get(self, "ruleName"))
1833
+
1834
+ @rule_name.setter
1835
+ def rule_name(self, value: builtins.str) -> None:
1836
+ if __debug__:
1837
+ type_hints = typing.get_type_hints(_typecheckingstub__c59aae5f9c690d805a52b4e5949569db025239eb21172f781673428651a87d80)
1838
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1839
+ jsii.set(self, "ruleName", value) # pyright: ignore[reportArgumentType]
1840
+
1841
+ @builtins.property
1842
+ @jsii.member(jsii_name="tags")
1843
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1844
+ '''Lists all tags attached to the specified telemetry rule resource.'''
1845
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
1846
+
1847
+ @tags.setter
1848
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
1849
+ if __debug__:
1850
+ type_hints = typing.get_type_hints(_typecheckingstub__ec4f4991901119d1b8ec2bf2b1d23daff9627e5f20b555f27ec8fd5bc58890b7)
1851
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1852
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
1853
+
1854
+ @jsii.data_type(
1855
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnTelemetryRule.TelemetryDestinationConfigurationProperty",
1856
+ jsii_struct_bases=[],
1857
+ name_mapping={
1858
+ "destination_pattern": "destinationPattern",
1859
+ "destination_type": "destinationType",
1860
+ "retention_in_days": "retentionInDays",
1861
+ "vpc_flow_log_parameters": "vpcFlowLogParameters",
1862
+ },
1863
+ )
1864
+ class TelemetryDestinationConfigurationProperty:
1865
+ def __init__(
1866
+ self,
1867
+ *,
1868
+ destination_pattern: typing.Optional[builtins.str] = None,
1869
+ destination_type: typing.Optional[builtins.str] = None,
1870
+ retention_in_days: typing.Optional[jsii.Number] = None,
1871
+ vpc_flow_log_parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTelemetryRule.VPCFlowLogParametersProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1872
+ ) -> None:
1873
+ '''Configuration specifying where and how telemetry data should be delivered for AWS resources.
1874
+
1875
+ :param destination_pattern: The pattern used to generate the destination path or name, supporting macros like and .
1876
+ :param destination_type: The type of destination for the telemetry data (e.g., "Amazon CloudWatch Logs", "S3").
1877
+ :param retention_in_days: The number of days to retain the telemetry data in the destination.
1878
+ :param vpc_flow_log_parameters: Configuration parameters specific to VPC Flow Logs when VPC is the resource type.
1879
+
1880
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetrydestinationconfiguration.html
1881
+ :exampleMetadata: fixture=_generated
1882
+
1883
+ Example::
1884
+
1885
+ # The code below shows an example of how to instantiate this type.
1886
+ # The values are placeholders you should change.
1887
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
1888
+
1889
+ telemetry_destination_configuration_property = observabilityadmin.CfnTelemetryRule.TelemetryDestinationConfigurationProperty(
1890
+ destination_pattern="destinationPattern",
1891
+ destination_type="destinationType",
1892
+ retention_in_days=123,
1893
+ vpc_flow_log_parameters=observabilityadmin.CfnTelemetryRule.VPCFlowLogParametersProperty(
1894
+ log_format="logFormat",
1895
+ max_aggregation_interval=123,
1896
+ traffic_type="trafficType"
1897
+ )
1898
+ )
1899
+ '''
1900
+ if __debug__:
1901
+ type_hints = typing.get_type_hints(_typecheckingstub__01ec7a824466c4f6343ec939656046b6c12a168edd9bbf6ebca41e4b5d1554d5)
1902
+ check_type(argname="argument destination_pattern", value=destination_pattern, expected_type=type_hints["destination_pattern"])
1903
+ check_type(argname="argument destination_type", value=destination_type, expected_type=type_hints["destination_type"])
1904
+ check_type(argname="argument retention_in_days", value=retention_in_days, expected_type=type_hints["retention_in_days"])
1905
+ check_type(argname="argument vpc_flow_log_parameters", value=vpc_flow_log_parameters, expected_type=type_hints["vpc_flow_log_parameters"])
1906
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1907
+ if destination_pattern is not None:
1908
+ self._values["destination_pattern"] = destination_pattern
1909
+ if destination_type is not None:
1910
+ self._values["destination_type"] = destination_type
1911
+ if retention_in_days is not None:
1912
+ self._values["retention_in_days"] = retention_in_days
1913
+ if vpc_flow_log_parameters is not None:
1914
+ self._values["vpc_flow_log_parameters"] = vpc_flow_log_parameters
1915
+
1916
+ @builtins.property
1917
+ def destination_pattern(self) -> typing.Optional[builtins.str]:
1918
+ '''The pattern used to generate the destination path or name, supporting macros like and .
1919
+
1920
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-telemetryrule-telemetrydestinationconfiguration-destinationpattern
1921
+ '''
1922
+ result = self._values.get("destination_pattern")
1923
+ return typing.cast(typing.Optional[builtins.str], result)
1924
+
1925
+ @builtins.property
1926
+ def destination_type(self) -> typing.Optional[builtins.str]:
1927
+ '''The type of destination for the telemetry data (e.g., "Amazon CloudWatch Logs", "S3").
1928
+
1929
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-telemetryrule-telemetrydestinationconfiguration-destinationtype
1930
+ '''
1931
+ result = self._values.get("destination_type")
1932
+ return typing.cast(typing.Optional[builtins.str], result)
1933
+
1934
+ @builtins.property
1935
+ def retention_in_days(self) -> typing.Optional[jsii.Number]:
1936
+ '''The number of days to retain the telemetry data in the destination.
1937
+
1938
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-telemetryrule-telemetrydestinationconfiguration-retentionindays
1939
+ '''
1940
+ result = self._values.get("retention_in_days")
1941
+ return typing.cast(typing.Optional[jsii.Number], result)
1942
+
1943
+ @builtins.property
1944
+ def vpc_flow_log_parameters(
1945
+ self,
1946
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTelemetryRule.VPCFlowLogParametersProperty"]]:
1947
+ '''Configuration parameters specific to VPC Flow Logs when VPC is the resource type.
1948
+
1949
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-telemetryrule-telemetrydestinationconfiguration-vpcflowlogparameters
1950
+ '''
1951
+ result = self._values.get("vpc_flow_log_parameters")
1952
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTelemetryRule.VPCFlowLogParametersProperty"]], result)
1953
+
1954
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1955
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1956
+
1957
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1958
+ return not (rhs == self)
1959
+
1960
+ def __repr__(self) -> str:
1961
+ return "TelemetryDestinationConfigurationProperty(%s)" % ", ".join(
1962
+ k + "=" + repr(v) for k, v in self._values.items()
1963
+ )
1964
+
1965
+ @jsii.data_type(
1966
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnTelemetryRule.TelemetryRuleProperty",
1967
+ jsii_struct_bases=[],
1968
+ name_mapping={
1969
+ "resource_type": "resourceType",
1970
+ "telemetry_type": "telemetryType",
1971
+ "destination_configuration": "destinationConfiguration",
1972
+ "selection_criteria": "selectionCriteria",
1973
+ },
1974
+ )
1975
+ class TelemetryRuleProperty:
1976
+ def __init__(
1977
+ self,
1978
+ *,
1979
+ resource_type: builtins.str,
1980
+ telemetry_type: builtins.str,
1981
+ destination_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTelemetryRule.TelemetryDestinationConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1982
+ selection_criteria: typing.Optional[builtins.str] = None,
1983
+ ) -> None:
1984
+ '''Defines how telemetry should be configured for specific AWS resources.
1985
+
1986
+ :param resource_type: The type of AWS resource to configure telemetry for (e.g., "AWS::EC2::VPC").
1987
+ :param telemetry_type: The type of telemetry to collect (Logs, Metrics, or Traces).
1988
+ :param destination_configuration: Configuration specifying where and how the telemetry data should be delivered.
1989
+ :param selection_criteria: Criteria for selecting which resources the rule applies to, such as resource tags.
1990
+
1991
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetryrule.html
1992
+ :exampleMetadata: fixture=_generated
1993
+
1994
+ Example::
1995
+
1996
+ # The code below shows an example of how to instantiate this type.
1997
+ # The values are placeholders you should change.
1998
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
1999
+
2000
+ telemetry_rule_property = observabilityadmin.CfnTelemetryRule.TelemetryRuleProperty(
2001
+ resource_type="resourceType",
2002
+ telemetry_type="telemetryType",
2003
+
2004
+ # the properties below are optional
2005
+ destination_configuration=observabilityadmin.CfnTelemetryRule.TelemetryDestinationConfigurationProperty(
2006
+ destination_pattern="destinationPattern",
2007
+ destination_type="destinationType",
2008
+ retention_in_days=123,
2009
+ vpc_flow_log_parameters=observabilityadmin.CfnTelemetryRule.VPCFlowLogParametersProperty(
2010
+ log_format="logFormat",
2011
+ max_aggregation_interval=123,
2012
+ traffic_type="trafficType"
2013
+ )
2014
+ ),
2015
+ selection_criteria="selectionCriteria"
2016
+ )
2017
+ '''
2018
+ if __debug__:
2019
+ type_hints = typing.get_type_hints(_typecheckingstub__25d1c19a045d927560ccf78552c0595fbd7db1322a4e66f60e4d9cb5393b81c3)
2020
+ check_type(argname="argument resource_type", value=resource_type, expected_type=type_hints["resource_type"])
2021
+ check_type(argname="argument telemetry_type", value=telemetry_type, expected_type=type_hints["telemetry_type"])
2022
+ check_type(argname="argument destination_configuration", value=destination_configuration, expected_type=type_hints["destination_configuration"])
2023
+ check_type(argname="argument selection_criteria", value=selection_criteria, expected_type=type_hints["selection_criteria"])
2024
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2025
+ "resource_type": resource_type,
2026
+ "telemetry_type": telemetry_type,
2027
+ }
2028
+ if destination_configuration is not None:
2029
+ self._values["destination_configuration"] = destination_configuration
2030
+ if selection_criteria is not None:
2031
+ self._values["selection_criteria"] = selection_criteria
2032
+
2033
+ @builtins.property
2034
+ def resource_type(self) -> builtins.str:
2035
+ '''The type of AWS resource to configure telemetry for (e.g., "AWS::EC2::VPC").
2036
+
2037
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetryrule.html#cfn-observabilityadmin-telemetryrule-telemetryrule-resourcetype
2038
+ '''
2039
+ result = self._values.get("resource_type")
2040
+ assert result is not None, "Required property 'resource_type' is missing"
2041
+ return typing.cast(builtins.str, result)
2042
+
2043
+ @builtins.property
2044
+ def telemetry_type(self) -> builtins.str:
2045
+ '''The type of telemetry to collect (Logs, Metrics, or Traces).
2046
+
2047
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetryrule.html#cfn-observabilityadmin-telemetryrule-telemetryrule-telemetrytype
2048
+ '''
2049
+ result = self._values.get("telemetry_type")
2050
+ assert result is not None, "Required property 'telemetry_type' is missing"
2051
+ return typing.cast(builtins.str, result)
2052
+
2053
+ @builtins.property
2054
+ def destination_configuration(
2055
+ self,
2056
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTelemetryRule.TelemetryDestinationConfigurationProperty"]]:
2057
+ '''Configuration specifying where and how the telemetry data should be delivered.
2058
+
2059
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetryrule.html#cfn-observabilityadmin-telemetryrule-telemetryrule-destinationconfiguration
2060
+ '''
2061
+ result = self._values.get("destination_configuration")
2062
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTelemetryRule.TelemetryDestinationConfigurationProperty"]], result)
2063
+
2064
+ @builtins.property
2065
+ def selection_criteria(self) -> typing.Optional[builtins.str]:
2066
+ '''Criteria for selecting which resources the rule applies to, such as resource tags.
2067
+
2068
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetryrule.html#cfn-observabilityadmin-telemetryrule-telemetryrule-selectioncriteria
2069
+ '''
2070
+ result = self._values.get("selection_criteria")
2071
+ return typing.cast(typing.Optional[builtins.str], result)
2072
+
2073
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2074
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2075
+
2076
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2077
+ return not (rhs == self)
2078
+
2079
+ def __repr__(self) -> str:
2080
+ return "TelemetryRuleProperty(%s)" % ", ".join(
2081
+ k + "=" + repr(v) for k, v in self._values.items()
2082
+ )
2083
+
2084
+ @jsii.data_type(
2085
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnTelemetryRule.VPCFlowLogParametersProperty",
2086
+ jsii_struct_bases=[],
2087
+ name_mapping={
2088
+ "log_format": "logFormat",
2089
+ "max_aggregation_interval": "maxAggregationInterval",
2090
+ "traffic_type": "trafficType",
2091
+ },
2092
+ )
2093
+ class VPCFlowLogParametersProperty:
2094
+ def __init__(
2095
+ self,
2096
+ *,
2097
+ log_format: typing.Optional[builtins.str] = None,
2098
+ max_aggregation_interval: typing.Optional[jsii.Number] = None,
2099
+ traffic_type: typing.Optional[builtins.str] = None,
2100
+ ) -> None:
2101
+ '''Configuration parameters specific to VPC Flow Logs.
2102
+
2103
+ :param log_format: The format in which VPC Flow Log entries should be logged.
2104
+ :param max_aggregation_interval: The maximum interval in seconds between the capture of flow log records.
2105
+ :param traffic_type: The type of traffic to log (ACCEPT, REJECT, or ALL).
2106
+
2107
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-vpcflowlogparameters.html
2108
+ :exampleMetadata: fixture=_generated
2109
+
2110
+ Example::
2111
+
2112
+ # The code below shows an example of how to instantiate this type.
2113
+ # The values are placeholders you should change.
2114
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
2115
+
2116
+ v_pCFlow_log_parameters_property = observabilityadmin.CfnTelemetryRule.VPCFlowLogParametersProperty(
2117
+ log_format="logFormat",
2118
+ max_aggregation_interval=123,
2119
+ traffic_type="trafficType"
2120
+ )
2121
+ '''
2122
+ if __debug__:
2123
+ type_hints = typing.get_type_hints(_typecheckingstub__cb426e63d8ddff6bc9e58865c89c023dbf7b61ef2e21b2f9ff902df9db830681)
2124
+ check_type(argname="argument log_format", value=log_format, expected_type=type_hints["log_format"])
2125
+ check_type(argname="argument max_aggregation_interval", value=max_aggregation_interval, expected_type=type_hints["max_aggregation_interval"])
2126
+ check_type(argname="argument traffic_type", value=traffic_type, expected_type=type_hints["traffic_type"])
2127
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2128
+ if log_format is not None:
2129
+ self._values["log_format"] = log_format
2130
+ if max_aggregation_interval is not None:
2131
+ self._values["max_aggregation_interval"] = max_aggregation_interval
2132
+ if traffic_type is not None:
2133
+ self._values["traffic_type"] = traffic_type
2134
+
2135
+ @builtins.property
2136
+ def log_format(self) -> typing.Optional[builtins.str]:
2137
+ '''The format in which VPC Flow Log entries should be logged.
2138
+
2139
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-vpcflowlogparameters.html#cfn-observabilityadmin-telemetryrule-vpcflowlogparameters-logformat
2140
+ '''
2141
+ result = self._values.get("log_format")
2142
+ return typing.cast(typing.Optional[builtins.str], result)
2143
+
2144
+ @builtins.property
2145
+ def max_aggregation_interval(self) -> typing.Optional[jsii.Number]:
2146
+ '''The maximum interval in seconds between the capture of flow log records.
2147
+
2148
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-vpcflowlogparameters.html#cfn-observabilityadmin-telemetryrule-vpcflowlogparameters-maxaggregationinterval
2149
+ '''
2150
+ result = self._values.get("max_aggregation_interval")
2151
+ return typing.cast(typing.Optional[jsii.Number], result)
2152
+
2153
+ @builtins.property
2154
+ def traffic_type(self) -> typing.Optional[builtins.str]:
2155
+ '''The type of traffic to log (ACCEPT, REJECT, or ALL).
2156
+
2157
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-vpcflowlogparameters.html#cfn-observabilityadmin-telemetryrule-vpcflowlogparameters-traffictype
2158
+ '''
2159
+ result = self._values.get("traffic_type")
2160
+ return typing.cast(typing.Optional[builtins.str], result)
2161
+
2162
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2163
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2164
+
2165
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2166
+ return not (rhs == self)
2167
+
2168
+ def __repr__(self) -> str:
2169
+ return "VPCFlowLogParametersProperty(%s)" % ", ".join(
2170
+ k + "=" + repr(v) for k, v in self._values.items()
2171
+ )
2172
+
2173
+
2174
+ @jsii.data_type(
2175
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnTelemetryRuleProps",
2176
+ jsii_struct_bases=[],
2177
+ name_mapping={"rule": "rule", "rule_name": "ruleName", "tags": "tags"},
2178
+ )
2179
+ class CfnTelemetryRuleProps:
2180
+ def __init__(
2181
+ self,
2182
+ *,
2183
+ rule: typing.Union[_IResolvable_da3f097b, typing.Union[CfnTelemetryRule.TelemetryRuleProperty, typing.Dict[builtins.str, typing.Any]]],
2184
+ rule_name: builtins.str,
2185
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2186
+ ) -> None:
2187
+ '''Properties for defining a ``CfnTelemetryRule``.
2188
+
2189
+ :param rule: Retrieves the details of a specific telemetry rule in your account.
2190
+ :param rule_name: The name of the telemetry rule.
2191
+ :param tags: Lists all tags attached to the specified telemetry rule resource.
2192
+
2193
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-telemetryrule.html
2194
+ :exampleMetadata: fixture=_generated
2195
+
2196
+ Example::
2197
+
2198
+ # The code below shows an example of how to instantiate this type.
2199
+ # The values are placeholders you should change.
2200
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
2201
+
2202
+ cfn_telemetry_rule_props = observabilityadmin.CfnTelemetryRuleProps(
2203
+ rule=observabilityadmin.CfnTelemetryRule.TelemetryRuleProperty(
2204
+ resource_type="resourceType",
2205
+ telemetry_type="telemetryType",
2206
+
2207
+ # the properties below are optional
2208
+ destination_configuration=observabilityadmin.CfnTelemetryRule.TelemetryDestinationConfigurationProperty(
2209
+ destination_pattern="destinationPattern",
2210
+ destination_type="destinationType",
2211
+ retention_in_days=123,
2212
+ vpc_flow_log_parameters=observabilityadmin.CfnTelemetryRule.VPCFlowLogParametersProperty(
2213
+ log_format="logFormat",
2214
+ max_aggregation_interval=123,
2215
+ traffic_type="trafficType"
2216
+ )
2217
+ ),
2218
+ selection_criteria="selectionCriteria"
2219
+ ),
2220
+ rule_name="ruleName",
2221
+
2222
+ # the properties below are optional
2223
+ tags=[CfnTag(
2224
+ key="key",
2225
+ value="value"
2226
+ )]
2227
+ )
2228
+ '''
2229
+ if __debug__:
2230
+ type_hints = typing.get_type_hints(_typecheckingstub__7455cb845b044ed569a8ec8407abf811920062f00d1e54ad191e90dc9b7e2811)
2231
+ check_type(argname="argument rule", value=rule, expected_type=type_hints["rule"])
2232
+ check_type(argname="argument rule_name", value=rule_name, expected_type=type_hints["rule_name"])
2233
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
2234
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2235
+ "rule": rule,
2236
+ "rule_name": rule_name,
2237
+ }
2238
+ if tags is not None:
2239
+ self._values["tags"] = tags
2240
+
2241
+ @builtins.property
2242
+ def rule(
2243
+ self,
2244
+ ) -> typing.Union[_IResolvable_da3f097b, CfnTelemetryRule.TelemetryRuleProperty]:
2245
+ '''Retrieves the details of a specific telemetry rule in your account.
2246
+
2247
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-telemetryrule.html#cfn-observabilityadmin-telemetryrule-rule
2248
+ '''
2249
+ result = self._values.get("rule")
2250
+ assert result is not None, "Required property 'rule' is missing"
2251
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnTelemetryRule.TelemetryRuleProperty], result)
2252
+
2253
+ @builtins.property
2254
+ def rule_name(self) -> builtins.str:
2255
+ '''The name of the telemetry rule.
2256
+
2257
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-telemetryrule.html#cfn-observabilityadmin-telemetryrule-rulename
2258
+ '''
2259
+ result = self._values.get("rule_name")
2260
+ assert result is not None, "Required property 'rule_name' is missing"
2261
+ return typing.cast(builtins.str, result)
2262
+
2263
+ @builtins.property
2264
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
2265
+ '''Lists all tags attached to the specified telemetry rule resource.
2266
+
2267
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-telemetryrule.html#cfn-observabilityadmin-telemetryrule-tags
2268
+ '''
2269
+ result = self._values.get("tags")
2270
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
2271
+
2272
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2273
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2274
+
2275
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2276
+ return not (rhs == self)
2277
+
2278
+ def __repr__(self) -> str:
2279
+ return "CfnTelemetryRuleProps(%s)" % ", ".join(
2280
+ k + "=" + repr(v) for k, v in self._values.items()
2281
+ )
2282
+
2283
+
2284
+ __all__ = [
2285
+ "CfnOrganizationCentralizationRule",
2286
+ "CfnOrganizationCentralizationRuleProps",
2287
+ "CfnOrganizationTelemetryRule",
2288
+ "CfnOrganizationTelemetryRuleProps",
2289
+ "CfnTelemetryRule",
2290
+ "CfnTelemetryRuleProps",
2291
+ ]
2292
+
2293
+ publication.publish()
2294
+
2295
+ def _typecheckingstub__18acbc8917f3c4cbc8bb06f5fae76010e41ab5f0e9b157f4c324c214a180ef2e(
2296
+ scope: _constructs_77d1e7e8.Construct,
2297
+ id: builtins.str,
2298
+ *,
2299
+ rule: typing.Union[_IResolvable_da3f097b, typing.Union[CfnOrganizationCentralizationRule.CentralizationRuleProperty, typing.Dict[builtins.str, typing.Any]]],
2300
+ rule_name: builtins.str,
2301
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2302
+ ) -> None:
2303
+ """Type checking stubs"""
2304
+ pass
2305
+
2306
+ def _typecheckingstub__02b2ea8ec552fc96b3662b368fa64eea5f82839c3bd0f1aa52bd64bc495f5341(
2307
+ inspector: _TreeInspector_488e0dd5,
2308
+ ) -> None:
2309
+ """Type checking stubs"""
2310
+ pass
2311
+
2312
+ def _typecheckingstub__f130448a4f76aff49b8e31a382ea5ab14eacdf34a74afe86be23352ded6622e1(
2313
+ props: typing.Mapping[builtins.str, typing.Any],
2314
+ ) -> None:
2315
+ """Type checking stubs"""
2316
+ pass
2317
+
2318
+ def _typecheckingstub__8fbb5a84b6997cee28db4665d22fee83629861a1e51fe754b85b3858441e7c2d(
2319
+ value: typing.Union[_IResolvable_da3f097b, CfnOrganizationCentralizationRule.CentralizationRuleProperty],
2320
+ ) -> None:
2321
+ """Type checking stubs"""
2322
+ pass
2323
+
2324
+ def _typecheckingstub__f42b1edd10be1da3c565db5f9585850487a7c51b5ad7ab0a72c1d4345b4ac7f8(
2325
+ value: builtins.str,
2326
+ ) -> None:
2327
+ """Type checking stubs"""
2328
+ pass
2329
+
2330
+ def _typecheckingstub__a58679a9a3a800195cc0ecf82553695580c2dd2061901e27320b9025cb6ed262(
2331
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
2332
+ ) -> None:
2333
+ """Type checking stubs"""
2334
+ pass
2335
+
2336
+ def _typecheckingstub__48736d0ec2563919af9b82675cbe965d2288bd15210b9c8b34911e7a89ae0f47(
2337
+ *,
2338
+ region: builtins.str,
2339
+ account: typing.Optional[builtins.str] = None,
2340
+ destination_logs_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnOrganizationCentralizationRule.DestinationLogsConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2341
+ ) -> None:
2342
+ """Type checking stubs"""
2343
+ pass
2344
+
2345
+ def _typecheckingstub__fb475427ce4a2316b8478f1c58d17ddd5783412b26cdfb98819c47313aa718dc(
2346
+ *,
2347
+ destination: typing.Union[_IResolvable_da3f097b, typing.Union[CfnOrganizationCentralizationRule.CentralizationRuleDestinationProperty, typing.Dict[builtins.str, typing.Any]]],
2348
+ source: typing.Union[_IResolvable_da3f097b, typing.Union[CfnOrganizationCentralizationRule.CentralizationRuleSourceProperty, typing.Dict[builtins.str, typing.Any]]],
2349
+ ) -> None:
2350
+ """Type checking stubs"""
2351
+ pass
2352
+
2353
+ def _typecheckingstub__8c4d1dff0252b97263e138c77bea2f698277762eeffd4fcf3911e496ac5762e4(
2354
+ *,
2355
+ regions: typing.Sequence[builtins.str],
2356
+ scope: typing.Optional[builtins.str] = None,
2357
+ source_logs_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnOrganizationCentralizationRule.SourceLogsConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2358
+ ) -> None:
2359
+ """Type checking stubs"""
2360
+ pass
2361
+
2362
+ def _typecheckingstub__5dd7a39f2c94fa5f25cdcfc83cd888a8c3b22c09afa009f3ed5de76fd5befe41(
2363
+ *,
2364
+ backup_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnOrganizationCentralizationRule.LogsBackupConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2365
+ logs_encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnOrganizationCentralizationRule.LogsEncryptionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2366
+ ) -> None:
2367
+ """Type checking stubs"""
2368
+ pass
2369
+
2370
+ def _typecheckingstub__35d26acca25f06381fb096b21a6f3791d0ef735549ac7bae5795f4e646184d86(
2371
+ *,
2372
+ region: builtins.str,
2373
+ kms_key_arn: typing.Optional[builtins.str] = None,
2374
+ ) -> None:
2375
+ """Type checking stubs"""
2376
+ pass
2377
+
2378
+ def _typecheckingstub__9d66f88a29d04606b9d6748d2a92fb0d7bf4a500a64fceff8556e1ac2275828e(
2379
+ *,
2380
+ encryption_strategy: builtins.str,
2381
+ encryption_conflict_resolution_strategy: typing.Optional[builtins.str] = None,
2382
+ kms_key_arn: typing.Optional[builtins.str] = None,
2383
+ ) -> None:
2384
+ """Type checking stubs"""
2385
+ pass
2386
+
2387
+ def _typecheckingstub__20a12247cb1287e19ec3a764cc738d756d26c889450a5b771811f8378a2b5d6c(
2388
+ *,
2389
+ encrypted_log_group_strategy: builtins.str,
2390
+ log_group_selection_criteria: builtins.str,
2391
+ ) -> None:
2392
+ """Type checking stubs"""
2393
+ pass
2394
+
2395
+ def _typecheckingstub__00d0ecee2cd9ac728ca3e321203ce2e611e56b0b2d415ba2673a50599e4512cd(
2396
+ *,
2397
+ rule: typing.Union[_IResolvable_da3f097b, typing.Union[CfnOrganizationCentralizationRule.CentralizationRuleProperty, typing.Dict[builtins.str, typing.Any]]],
2398
+ rule_name: builtins.str,
2399
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2400
+ ) -> None:
2401
+ """Type checking stubs"""
2402
+ pass
2403
+
2404
+ def _typecheckingstub__a67d6a9dd82924a413b7d3435faeb8efa735048df0244b926e672def8c2d5f75(
2405
+ scope: _constructs_77d1e7e8.Construct,
2406
+ id: builtins.str,
2407
+ *,
2408
+ rule: typing.Union[_IResolvable_da3f097b, typing.Union[CfnOrganizationTelemetryRule.TelemetryRuleProperty, typing.Dict[builtins.str, typing.Any]]],
2409
+ rule_name: builtins.str,
2410
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2411
+ ) -> None:
2412
+ """Type checking stubs"""
2413
+ pass
2414
+
2415
+ def _typecheckingstub__0cb893813673a29ee1f384593916d34bdcc440b816dfc54ad27097692c5a64e9(
2416
+ inspector: _TreeInspector_488e0dd5,
2417
+ ) -> None:
2418
+ """Type checking stubs"""
2419
+ pass
2420
+
2421
+ def _typecheckingstub__c809c768027da00df4018694393faf5d77af9754b12923bf684ada119faecfc7(
2422
+ props: typing.Mapping[builtins.str, typing.Any],
2423
+ ) -> None:
2424
+ """Type checking stubs"""
2425
+ pass
2426
+
2427
+ def _typecheckingstub__97cf84910a3c46b94c3e90ddf73c07b304a029e413bebd1b7c5e7b2bbe5cd411(
2428
+ value: typing.Union[_IResolvable_da3f097b, CfnOrganizationTelemetryRule.TelemetryRuleProperty],
2429
+ ) -> None:
2430
+ """Type checking stubs"""
2431
+ pass
2432
+
2433
+ def _typecheckingstub__84099afcf940dd46614099ecc03e181396a6d202813d1517bd79414c5aa2f5ae(
2434
+ value: builtins.str,
2435
+ ) -> None:
2436
+ """Type checking stubs"""
2437
+ pass
2438
+
2439
+ def _typecheckingstub__d494e45ec3f03fbc2168c2e374f689615e98524c832aa6247ad243fabe01ffe7(
2440
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
2441
+ ) -> None:
2442
+ """Type checking stubs"""
2443
+ pass
2444
+
2445
+ def _typecheckingstub__36b4168c57b4555036ca598e8299a36985c9aab7a1eb6b84357df4454b340171(
2446
+ *,
2447
+ destination_pattern: typing.Optional[builtins.str] = None,
2448
+ destination_type: typing.Optional[builtins.str] = None,
2449
+ retention_in_days: typing.Optional[jsii.Number] = None,
2450
+ vpc_flow_log_parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnOrganizationTelemetryRule.VPCFlowLogParametersProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2451
+ ) -> None:
2452
+ """Type checking stubs"""
2453
+ pass
2454
+
2455
+ def _typecheckingstub__8febf24ebcbc00029972152d874df5e847a9f5cd45e05abb26e69f7a2cabc5bf(
2456
+ *,
2457
+ resource_type: builtins.str,
2458
+ telemetry_type: builtins.str,
2459
+ destination_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnOrganizationTelemetryRule.TelemetryDestinationConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2460
+ scope: typing.Optional[builtins.str] = None,
2461
+ selection_criteria: typing.Optional[builtins.str] = None,
2462
+ ) -> None:
2463
+ """Type checking stubs"""
2464
+ pass
2465
+
2466
+ def _typecheckingstub__945b01222f6573dfd9bd365335b34de4d056db844b2fe9ffa6c9d40371eaff6e(
2467
+ *,
2468
+ log_format: typing.Optional[builtins.str] = None,
2469
+ max_aggregation_interval: typing.Optional[jsii.Number] = None,
2470
+ traffic_type: typing.Optional[builtins.str] = None,
2471
+ ) -> None:
2472
+ """Type checking stubs"""
2473
+ pass
2474
+
2475
+ def _typecheckingstub__45c94381428dd096d5bd5b31c1a78b0ec6c66b125c46a889f389e957dbf9f76b(
2476
+ *,
2477
+ rule: typing.Union[_IResolvable_da3f097b, typing.Union[CfnOrganizationTelemetryRule.TelemetryRuleProperty, typing.Dict[builtins.str, typing.Any]]],
2478
+ rule_name: builtins.str,
2479
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2480
+ ) -> None:
2481
+ """Type checking stubs"""
2482
+ pass
2483
+
2484
+ def _typecheckingstub__1cb28d06ef60815f8488b771b64aca8e3671a315a3f6676ad80a414dcd296224(
2485
+ scope: _constructs_77d1e7e8.Construct,
2486
+ id: builtins.str,
2487
+ *,
2488
+ rule: typing.Union[_IResolvable_da3f097b, typing.Union[CfnTelemetryRule.TelemetryRuleProperty, typing.Dict[builtins.str, typing.Any]]],
2489
+ rule_name: builtins.str,
2490
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2491
+ ) -> None:
2492
+ """Type checking stubs"""
2493
+ pass
2494
+
2495
+ def _typecheckingstub__c971c1c4e8e03d4140674a22f18490c0a14f143dab5c9b15a801d0e69e908b92(
2496
+ inspector: _TreeInspector_488e0dd5,
2497
+ ) -> None:
2498
+ """Type checking stubs"""
2499
+ pass
2500
+
2501
+ def _typecheckingstub__adf48e055c256d6f5cb987ba3921807e211a303c3d38be6a02b6932f52a739fe(
2502
+ props: typing.Mapping[builtins.str, typing.Any],
2503
+ ) -> None:
2504
+ """Type checking stubs"""
2505
+ pass
2506
+
2507
+ def _typecheckingstub__253115d76ca17e48e13df2aa679666bb12581680b457a45a7743f6a80d6dbfa1(
2508
+ value: typing.Union[_IResolvable_da3f097b, CfnTelemetryRule.TelemetryRuleProperty],
2509
+ ) -> None:
2510
+ """Type checking stubs"""
2511
+ pass
2512
+
2513
+ def _typecheckingstub__c59aae5f9c690d805a52b4e5949569db025239eb21172f781673428651a87d80(
2514
+ value: builtins.str,
2515
+ ) -> None:
2516
+ """Type checking stubs"""
2517
+ pass
2518
+
2519
+ def _typecheckingstub__ec4f4991901119d1b8ec2bf2b1d23daff9627e5f20b555f27ec8fd5bc58890b7(
2520
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
2521
+ ) -> None:
2522
+ """Type checking stubs"""
2523
+ pass
2524
+
2525
+ def _typecheckingstub__01ec7a824466c4f6343ec939656046b6c12a168edd9bbf6ebca41e4b5d1554d5(
2526
+ *,
2527
+ destination_pattern: typing.Optional[builtins.str] = None,
2528
+ destination_type: typing.Optional[builtins.str] = None,
2529
+ retention_in_days: typing.Optional[jsii.Number] = None,
2530
+ vpc_flow_log_parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTelemetryRule.VPCFlowLogParametersProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2531
+ ) -> None:
2532
+ """Type checking stubs"""
2533
+ pass
2534
+
2535
+ def _typecheckingstub__25d1c19a045d927560ccf78552c0595fbd7db1322a4e66f60e4d9cb5393b81c3(
2536
+ *,
2537
+ resource_type: builtins.str,
2538
+ telemetry_type: builtins.str,
2539
+ destination_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTelemetryRule.TelemetryDestinationConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2540
+ selection_criteria: typing.Optional[builtins.str] = None,
2541
+ ) -> None:
2542
+ """Type checking stubs"""
2543
+ pass
2544
+
2545
+ def _typecheckingstub__cb426e63d8ddff6bc9e58865c89c023dbf7b61ef2e21b2f9ff902df9db830681(
2546
+ *,
2547
+ log_format: typing.Optional[builtins.str] = None,
2548
+ max_aggregation_interval: typing.Optional[jsii.Number] = None,
2549
+ traffic_type: typing.Optional[builtins.str] = None,
2550
+ ) -> None:
2551
+ """Type checking stubs"""
2552
+ pass
2553
+
2554
+ def _typecheckingstub__7455cb845b044ed569a8ec8407abf811920062f00d1e54ad191e90dc9b7e2811(
2555
+ *,
2556
+ rule: typing.Union[_IResolvable_da3f097b, typing.Union[CfnTelemetryRule.TelemetryRuleProperty, typing.Dict[builtins.str, typing.Any]]],
2557
+ rule_name: builtins.str,
2558
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2559
+ ) -> None:
2560
+ """Type checking stubs"""
2561
+ pass