aws-cdk-lib 2.219.0__py3-none-any.whl → 2.221.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 (290) hide show
  1. aws_cdk/__init__.py +33 -35
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.219.0.jsii.tgz → aws-cdk-lib@2.221.0.jsii.tgz} +0 -0
  4. aws_cdk/alexa_ask/__init__.py +3 -0
  5. aws_cdk/aws_accessanalyzer/__init__.py +3 -0
  6. aws_cdk/aws_acmpca/__init__.py +4 -1
  7. aws_cdk/aws_aiops/__init__.py +3 -0
  8. aws_cdk/aws_amazonmq/__init__.py +3 -29
  9. aws_cdk/aws_amplify/__init__.py +3 -0
  10. aws_cdk/aws_amplifyuibuilder/__init__.py +3 -0
  11. aws_cdk/aws_apigateway/__init__.py +3 -0
  12. aws_cdk/aws_apigatewayv2/__init__.py +3 -0
  13. aws_cdk/aws_appconfig/__init__.py +3 -29
  14. aws_cdk/aws_appflow/__init__.py +3 -0
  15. aws_cdk/aws_appintegrations/__init__.py +3 -0
  16. aws_cdk/aws_applicationautoscaling/__init__.py +3 -0
  17. aws_cdk/aws_applicationinsights/__init__.py +3 -0
  18. aws_cdk/aws_applicationsignals/__init__.py +453 -2
  19. aws_cdk/aws_appmesh/__init__.py +3 -0
  20. aws_cdk/aws_apprunner/__init__.py +3 -0
  21. aws_cdk/aws_appstream/__init__.py +3 -0
  22. aws_cdk/aws_appsync/__init__.py +3 -0
  23. aws_cdk/aws_apptest/__init__.py +3 -0
  24. aws_cdk/aws_aps/__init__.py +1168 -83
  25. aws_cdk/aws_arcregionswitch/__init__.py +11 -0
  26. aws_cdk/aws_arczonalshift/__init__.py +3 -0
  27. aws_cdk/aws_athena/__init__.py +3 -0
  28. aws_cdk/aws_auditmanager/__init__.py +3 -0
  29. aws_cdk/aws_autoscaling/__init__.py +3 -0
  30. aws_cdk/aws_autoscaling_common/__init__.py +3 -0
  31. aws_cdk/aws_autoscalingplans/__init__.py +3 -0
  32. aws_cdk/aws_b2bi/__init__.py +3 -0
  33. aws_cdk/aws_backup/__init__.py +32 -29
  34. aws_cdk/aws_backupgateway/__init__.py +3 -0
  35. aws_cdk/aws_batch/__init__.py +112 -7
  36. aws_cdk/aws_bcmdataexports/__init__.py +3 -0
  37. aws_cdk/aws_bedrock/__init__.py +53 -45
  38. aws_cdk/aws_bedrockagentcore/__init__.py +8499 -1732
  39. aws_cdk/aws_billingconductor/__init__.py +3 -0
  40. aws_cdk/aws_budgets/__init__.py +3 -0
  41. aws_cdk/aws_cassandra/__init__.py +3 -0
  42. aws_cdk/aws_ce/__init__.py +3 -0
  43. aws_cdk/aws_certificatemanager/__init__.py +3 -0
  44. aws_cdk/aws_chatbot/__init__.py +3 -0
  45. aws_cdk/aws_cleanrooms/__init__.py +3 -0
  46. aws_cdk/aws_cleanroomsml/__init__.py +3 -0
  47. aws_cdk/aws_cloud9/__init__.py +3 -0
  48. aws_cdk/aws_cloudformation/__init__.py +3 -0
  49. aws_cdk/aws_cloudfront/__init__.py +69 -3
  50. aws_cdk/aws_cloudfront/experimental/__init__.py +4 -0
  51. aws_cdk/aws_cloudfront_origins/__init__.py +87 -6
  52. aws_cdk/aws_cloudtrail/__init__.py +3 -0
  53. aws_cdk/aws_cloudwatch/__init__.py +8 -5
  54. aws_cdk/aws_codeartifact/__init__.py +3 -0
  55. aws_cdk/aws_codebuild/__init__.py +3 -0
  56. aws_cdk/aws_codecommit/__init__.py +3 -0
  57. aws_cdk/aws_codeconnections/__init__.py +3 -0
  58. aws_cdk/aws_codedeploy/__init__.py +3 -0
  59. aws_cdk/aws_codeguruprofiler/__init__.py +3 -0
  60. aws_cdk/aws_codegurureviewer/__init__.py +3 -0
  61. aws_cdk/aws_codepipeline/__init__.py +3 -0
  62. aws_cdk/aws_codepipeline_actions/__init__.py +3 -0
  63. aws_cdk/aws_codestar/__init__.py +3 -0
  64. aws_cdk/aws_codestarconnections/__init__.py +3 -0
  65. aws_cdk/aws_codestarnotifications/__init__.py +3 -0
  66. aws_cdk/aws_cognito/__init__.py +9 -4
  67. aws_cdk/aws_cognito_identitypool/__init__.py +3 -0
  68. aws_cdk/aws_comprehend/__init__.py +3 -0
  69. aws_cdk/aws_config/__init__.py +3 -0
  70. aws_cdk/aws_connect/__init__.py +1232 -2
  71. aws_cdk/aws_connectcampaigns/__init__.py +3 -0
  72. aws_cdk/aws_connectcampaignsv2/__init__.py +3 -0
  73. aws_cdk/aws_controltower/__init__.py +3 -0
  74. aws_cdk/aws_cur/__init__.py +3 -0
  75. aws_cdk/aws_customerprofiles/__init__.py +3 -29
  76. aws_cdk/aws_databrew/__init__.py +3 -0
  77. aws_cdk/aws_datapipeline/__init__.py +3 -0
  78. aws_cdk/aws_datasync/__init__.py +3 -0
  79. aws_cdk/aws_datazone/__init__.py +17 -15
  80. aws_cdk/aws_dax/__init__.py +15 -3
  81. aws_cdk/aws_deadline/__init__.py +3 -0
  82. aws_cdk/aws_detective/__init__.py +3 -0
  83. aws_cdk/aws_devicefarm/__init__.py +3 -0
  84. aws_cdk/aws_devopsguru/__init__.py +3 -0
  85. aws_cdk/aws_directoryservice/__init__.py +32 -0
  86. aws_cdk/aws_dlm/__init__.py +3 -0
  87. aws_cdk/aws_dms/__init__.py +3 -0
  88. aws_cdk/aws_docdb/__init__.py +14 -3
  89. aws_cdk/aws_docdbelastic/__init__.py +3 -0
  90. aws_cdk/aws_dsql/__init__.py +3 -0
  91. aws_cdk/aws_dynamodb/__init__.py +3 -0
  92. aws_cdk/aws_ec2/__init__.py +205 -48
  93. aws_cdk/aws_ecr/__init__.py +156 -33
  94. aws_cdk/aws_ecs/__init__.py +429 -182
  95. aws_cdk/aws_efs/__init__.py +3 -0
  96. aws_cdk/aws_eks/__init__.py +117 -67
  97. aws_cdk/aws_elasticache/__init__.py +3 -0
  98. aws_cdk/aws_elasticbeanstalk/__init__.py +3 -0
  99. aws_cdk/aws_elasticloadbalancing/__init__.py +3 -0
  100. aws_cdk/aws_elasticloadbalancingv2/__init__.py +445 -36
  101. aws_cdk/aws_elasticsearch/__init__.py +3 -0
  102. aws_cdk/aws_emr/__init__.py +3 -0
  103. aws_cdk/aws_emrcontainers/__init__.py +3 -0
  104. aws_cdk/aws_emrserverless/__init__.py +12 -11
  105. aws_cdk/aws_entityresolution/__init__.py +3 -0
  106. aws_cdk/aws_events/__init__.py +73 -29
  107. aws_cdk/aws_events_targets/__init__.py +3 -0
  108. aws_cdk/aws_eventschemas/__init__.py +3 -0
  109. aws_cdk/aws_evidently/__init__.py +3 -0
  110. aws_cdk/aws_evs/__init__.py +3 -0
  111. aws_cdk/aws_finspace/__init__.py +3 -0
  112. aws_cdk/aws_fis/__init__.py +3 -0
  113. aws_cdk/aws_fms/__init__.py +3 -0
  114. aws_cdk/aws_forecast/__init__.py +3 -0
  115. aws_cdk/aws_frauddetector/__init__.py +3 -0
  116. aws_cdk/aws_fsx/__init__.py +7 -4
  117. aws_cdk/aws_gamelift/__init__.py +3 -0
  118. aws_cdk/aws_gameliftstreams/__init__.py +8 -5
  119. aws_cdk/aws_globalaccelerator/__init__.py +3 -0
  120. aws_cdk/aws_glue/__init__.py +11 -80
  121. aws_cdk/aws_grafana/__init__.py +3 -0
  122. aws_cdk/aws_greengrass/__init__.py +3 -0
  123. aws_cdk/aws_greengrassv2/__init__.py +3 -0
  124. aws_cdk/aws_groundstation/__init__.py +3 -0
  125. aws_cdk/aws_guardduty/__init__.py +3 -0
  126. aws_cdk/aws_healthimaging/__init__.py +3 -0
  127. aws_cdk/aws_healthlake/__init__.py +3 -0
  128. aws_cdk/aws_iam/__init__.py +30 -32
  129. aws_cdk/aws_identitystore/__init__.py +3 -0
  130. aws_cdk/aws_imagebuilder/__init__.py +896 -0
  131. aws_cdk/aws_inspector/__init__.py +3 -0
  132. aws_cdk/aws_inspectorv2/__init__.py +3 -0
  133. aws_cdk/aws_internetmonitor/__init__.py +3 -0
  134. aws_cdk/aws_invoicing/__init__.py +3 -0
  135. aws_cdk/aws_iot/__init__.py +3 -0
  136. aws_cdk/aws_iotanalytics/__init__.py +3 -0
  137. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +3 -0
  138. aws_cdk/aws_iotevents/__init__.py +3 -0
  139. aws_cdk/aws_iotfleethub/__init__.py +3 -0
  140. aws_cdk/aws_iotfleetwise/__init__.py +3 -0
  141. aws_cdk/aws_iotsitewise/__init__.py +139 -80
  142. aws_cdk/aws_iotthingsgraph/__init__.py +3 -0
  143. aws_cdk/aws_iottwinmaker/__init__.py +3 -87
  144. aws_cdk/aws_iotwireless/__init__.py +61 -0
  145. aws_cdk/aws_ivs/__init__.py +3 -0
  146. aws_cdk/aws_ivschat/__init__.py +3 -0
  147. aws_cdk/aws_kafkaconnect/__init__.py +3 -0
  148. aws_cdk/aws_kendra/__init__.py +3 -58
  149. aws_cdk/aws_kendraranking/__init__.py +3 -0
  150. aws_cdk/aws_kinesis/__init__.py +98 -4
  151. aws_cdk/aws_kinesisanalytics/__init__.py +3 -0
  152. aws_cdk/aws_kinesisanalyticsv2/__init__.py +3 -0
  153. aws_cdk/aws_kinesisfirehose/__init__.py +1709 -10
  154. aws_cdk/aws_kinesisvideo/__init__.py +3 -29
  155. aws_cdk/aws_kms/__init__.py +3 -0
  156. aws_cdk/aws_lakeformation/__init__.py +3 -0
  157. aws_cdk/aws_lambda/__init__.py +57 -7
  158. aws_cdk/aws_lambda_nodejs/__init__.py +3 -0
  159. aws_cdk/aws_launchwizard/__init__.py +3 -0
  160. aws_cdk/aws_lex/__init__.py +3 -29
  161. aws_cdk/aws_licensemanager/__init__.py +3 -0
  162. aws_cdk/aws_lightsail/__init__.py +587 -0
  163. aws_cdk/aws_location/__init__.py +3 -0
  164. aws_cdk/aws_logs/__init__.py +283 -9
  165. aws_cdk/aws_lookoutequipment/__init__.py +3 -29
  166. aws_cdk/aws_lookoutmetrics/__init__.py +17 -2
  167. aws_cdk/aws_lookoutvision/__init__.py +3 -0
  168. aws_cdk/aws_m2/__init__.py +62 -13
  169. aws_cdk/aws_macie/__init__.py +3 -0
  170. aws_cdk/aws_managedblockchain/__init__.py +3 -0
  171. aws_cdk/aws_mediaconnect/__init__.py +3 -0
  172. aws_cdk/aws_mediaconvert/__init__.py +3 -0
  173. aws_cdk/aws_medialive/__init__.py +279 -33
  174. aws_cdk/aws_mediapackage/__init__.py +3 -0
  175. aws_cdk/aws_mediapackagev2/__init__.py +3 -0
  176. aws_cdk/aws_mediastore/__init__.py +3 -0
  177. aws_cdk/aws_mediatailor/__init__.py +3 -58
  178. aws_cdk/aws_memorydb/__init__.py +3 -0
  179. aws_cdk/aws_mpa/__init__.py +3 -0
  180. aws_cdk/aws_msk/__init__.py +3 -0
  181. aws_cdk/aws_mwaa/__init__.py +8 -5
  182. aws_cdk/aws_neptune/__init__.py +188 -70
  183. aws_cdk/aws_neptunegraph/__init__.py +3 -0
  184. aws_cdk/aws_networkfirewall/__init__.py +3 -0
  185. aws_cdk/aws_networkmanager/__init__.py +32 -0
  186. aws_cdk/aws_nimblestudio/__init__.py +3 -0
  187. aws_cdk/aws_notifications/__init__.py +3 -0
  188. aws_cdk/aws_notificationscontacts/__init__.py +3 -0
  189. aws_cdk/aws_oam/__init__.py +3 -0
  190. aws_cdk/aws_observabilityadmin/__init__.py +1365 -187
  191. aws_cdk/aws_odb/__init__.py +4 -1
  192. aws_cdk/aws_omics/__init__.py +10 -1
  193. aws_cdk/aws_opensearchserverless/__init__.py +3 -0
  194. aws_cdk/aws_opensearchservice/__init__.py +9 -0
  195. aws_cdk/aws_opsworks/__init__.py +3 -0
  196. aws_cdk/aws_opsworkscm/__init__.py +3 -0
  197. aws_cdk/aws_organizations/__init__.py +3 -116
  198. aws_cdk/aws_osis/__init__.py +157 -0
  199. aws_cdk/aws_panorama/__init__.py +3 -0
  200. aws_cdk/aws_paymentcryptography/__init__.py +3 -0
  201. aws_cdk/aws_pcaconnectorad/__init__.py +3 -0
  202. aws_cdk/aws_pcaconnectorscep/__init__.py +3 -0
  203. aws_cdk/aws_pcs/__init__.py +227 -33
  204. aws_cdk/aws_personalize/__init__.py +3 -0
  205. aws_cdk/aws_pinpoint/__init__.py +61 -58
  206. aws_cdk/aws_pinpointemail/__init__.py +3 -0
  207. aws_cdk/aws_pipes/__init__.py +3 -0
  208. aws_cdk/aws_proton/__init__.py +3 -0
  209. aws_cdk/aws_qbusiness/__init__.py +3 -174
  210. aws_cdk/aws_qldb/__init__.py +3 -29
  211. aws_cdk/aws_quicksight/__init__.py +493 -406
  212. aws_cdk/aws_ram/__init__.py +3 -0
  213. aws_cdk/aws_rbin/__init__.py +3 -0
  214. aws_cdk/aws_rds/__init__.py +71 -42
  215. aws_cdk/aws_redshift/__init__.py +3 -0
  216. aws_cdk/aws_redshiftserverless/__init__.py +3 -0
  217. aws_cdk/aws_refactorspaces/__init__.py +21 -6
  218. aws_cdk/aws_rekognition/__init__.py +3 -29
  219. aws_cdk/aws_resiliencehub/__init__.py +3 -0
  220. aws_cdk/aws_resourceexplorer2/__init__.py +3 -0
  221. aws_cdk/aws_resourcegroups/__init__.py +3 -0
  222. aws_cdk/aws_robomaker/__init__.py +3 -0
  223. aws_cdk/aws_rolesanywhere/__init__.py +3 -0
  224. aws_cdk/aws_route53/__init__.py +148 -24
  225. aws_cdk/aws_route53_targets/__init__.py +3 -0
  226. aws_cdk/aws_route53profiles/__init__.py +3 -0
  227. aws_cdk/aws_route53recoverycontrol/__init__.py +3 -0
  228. aws_cdk/aws_route53recoveryreadiness/__init__.py +3 -0
  229. aws_cdk/aws_route53resolver/__init__.py +11 -4
  230. aws_cdk/aws_rum/__init__.py +3 -0
  231. aws_cdk/aws_s3/__init__.py +80 -43
  232. aws_cdk/aws_s3_deployment/__init__.py +3 -0
  233. aws_cdk/aws_s3express/__init__.py +3 -0
  234. aws_cdk/aws_s3objectlambda/__init__.py +47 -12
  235. aws_cdk/aws_s3outposts/__init__.py +3 -0
  236. aws_cdk/aws_s3tables/__init__.py +3 -0
  237. aws_cdk/aws_sagemaker/__init__.py +166 -87
  238. aws_cdk/aws_sam/__init__.py +3 -0
  239. aws_cdk/aws_scheduler/__init__.py +3 -29
  240. aws_cdk/aws_sdb/__init__.py +3 -0
  241. aws_cdk/aws_secretsmanager/__init__.py +3 -0
  242. aws_cdk/aws_securityhub/__init__.py +3 -0
  243. aws_cdk/aws_securitylake/__init__.py +3 -0
  244. aws_cdk/aws_servicecatalog/__init__.py +161 -144
  245. aws_cdk/aws_servicecatalogappregistry/__init__.py +3 -0
  246. aws_cdk/aws_servicediscovery/__init__.py +3 -0
  247. aws_cdk/aws_ses/__init__.py +3 -0
  248. aws_cdk/aws_shield/__init__.py +3 -0
  249. aws_cdk/aws_signer/__init__.py +3 -0
  250. aws_cdk/aws_simspaceweaver/__init__.py +3 -0
  251. aws_cdk/aws_smsvoice/__init__.py +3 -29
  252. aws_cdk/aws_sns/__init__.py +3 -0
  253. aws_cdk/aws_sqs/__init__.py +3 -0
  254. aws_cdk/aws_ssm/__init__.py +10 -3
  255. aws_cdk/aws_ssmcontacts/__init__.py +3 -0
  256. aws_cdk/aws_ssmguiconnect/__init__.py +3 -0
  257. aws_cdk/aws_ssmincidents/__init__.py +3 -0
  258. aws_cdk/aws_ssmquicksetup/__init__.py +470 -3
  259. aws_cdk/aws_sso/__init__.py +3 -0
  260. aws_cdk/aws_stepfunctions/__init__.py +23 -19
  261. aws_cdk/aws_stepfunctions_tasks/__init__.py +6 -3
  262. aws_cdk/aws_supportapp/__init__.py +3 -0
  263. aws_cdk/aws_synthetics/__init__.py +80 -27
  264. aws_cdk/aws_systemsmanagersap/__init__.py +3 -0
  265. aws_cdk/aws_timestream/__init__.py +3 -29
  266. aws_cdk/aws_transfer/__init__.py +20 -34
  267. aws_cdk/aws_verifiedpermissions/__init__.py +3 -0
  268. aws_cdk/aws_voiceid/__init__.py +3 -0
  269. aws_cdk/aws_vpclattice/__init__.py +7 -4
  270. aws_cdk/aws_waf/__init__.py +3 -0
  271. aws_cdk/aws_wafregional/__init__.py +3 -0
  272. aws_cdk/aws_wafv2/__init__.py +3 -0
  273. aws_cdk/aws_wisdom/__init__.py +3 -116
  274. aws_cdk/aws_workspaces/__init__.py +3 -0
  275. aws_cdk/aws_workspacesinstances/__init__.py +3 -0
  276. aws_cdk/aws_workspacesthinclient/__init__.py +3 -0
  277. aws_cdk/aws_workspacesweb/__init__.py +3 -0
  278. aws_cdk/aws_xray/__init__.py +3 -0
  279. aws_cdk/cloud_assembly_schema/__init__.py +3 -0
  280. aws_cdk/cx_api/__init__.py +34 -0
  281. aws_cdk/pipelines/__init__.py +3 -0
  282. aws_cdk/region_info/__init__.py +3 -0
  283. aws_cdk/triggers/__init__.py +3 -0
  284. {aws_cdk_lib-2.219.0.dist-info → aws_cdk_lib-2.221.0.dist-info}/METADATA +2 -2
  285. aws_cdk_lib-2.221.0.dist-info/RECORD +313 -0
  286. aws_cdk_lib-2.219.0.dist-info/RECORD +0 -313
  287. {aws_cdk_lib-2.219.0.dist-info → aws_cdk_lib-2.221.0.dist-info}/LICENSE +0 -0
  288. {aws_cdk_lib-2.219.0.dist-info → aws_cdk_lib-2.221.0.dist-info}/NOTICE +0 -0
  289. {aws_cdk_lib-2.219.0.dist-info → aws_cdk_lib-2.221.0.dist-info}/WHEEL +0 -0
  290. {aws_cdk_lib-2.219.0.dist-info → aws_cdk_lib-2.221.0.dist-info}/top_level.txt +0 -0
@@ -79,6 +79,133 @@ from .. import (
79
79
  )
80
80
 
81
81
 
82
+ @jsii.data_type(
83
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnOrganizationCentralizationRuleProps",
84
+ jsii_struct_bases=[],
85
+ name_mapping={"rule": "rule", "rule_name": "ruleName", "tags": "tags"},
86
+ )
87
+ class CfnOrganizationCentralizationRuleProps:
88
+ def __init__(
89
+ self,
90
+ *,
91
+ rule: typing.Union[_IResolvable_da3f097b, typing.Union["CfnOrganizationCentralizationRule.CentralizationRuleProperty", typing.Dict[builtins.str, typing.Any]]],
92
+ rule_name: builtins.str,
93
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
94
+ ) -> None:
95
+ '''Properties for defining a ``CfnOrganizationCentralizationRule``.
96
+
97
+ :param rule:
98
+ :param rule_name: The name of the organization centralization rule.
99
+ :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>`_
100
+
101
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationcentralizationrule.html
102
+ :exampleMetadata: fixture=_generated
103
+
104
+ Example::
105
+
106
+ # The code below shows an example of how to instantiate this type.
107
+ # The values are placeholders you should change.
108
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
109
+
110
+ cfn_organization_centralization_rule_props = observabilityadmin.CfnOrganizationCentralizationRuleProps(
111
+ rule=observabilityadmin.CfnOrganizationCentralizationRule.CentralizationRuleProperty(
112
+ destination=observabilityadmin.CfnOrganizationCentralizationRule.CentralizationRuleDestinationProperty(
113
+ region="region",
114
+
115
+ # the properties below are optional
116
+ account="account",
117
+ destination_logs_configuration=observabilityadmin.CfnOrganizationCentralizationRule.DestinationLogsConfigurationProperty(
118
+ backup_configuration=observabilityadmin.CfnOrganizationCentralizationRule.LogsBackupConfigurationProperty(
119
+ region="region",
120
+
121
+ # the properties below are optional
122
+ kms_key_arn="kmsKeyArn"
123
+ ),
124
+ logs_encryption_configuration=observabilityadmin.CfnOrganizationCentralizationRule.LogsEncryptionConfigurationProperty(
125
+ encryption_strategy="encryptionStrategy",
126
+
127
+ # the properties below are optional
128
+ encryption_conflict_resolution_strategy="encryptionConflictResolutionStrategy",
129
+ kms_key_arn="kmsKeyArn"
130
+ )
131
+ )
132
+ ),
133
+ source=observabilityadmin.CfnOrganizationCentralizationRule.CentralizationRuleSourceProperty(
134
+ regions=["regions"],
135
+
136
+ # the properties below are optional
137
+ scope="scope",
138
+ source_logs_configuration=observabilityadmin.CfnOrganizationCentralizationRule.SourceLogsConfigurationProperty(
139
+ encrypted_log_group_strategy="encryptedLogGroupStrategy",
140
+ log_group_selection_criteria="logGroupSelectionCriteria"
141
+ )
142
+ )
143
+ ),
144
+ rule_name="ruleName",
145
+
146
+ # the properties below are optional
147
+ tags=[CfnTag(
148
+ key="key",
149
+ value="value"
150
+ )]
151
+ )
152
+ '''
153
+ if __debug__:
154
+ type_hints = typing.get_type_hints(_typecheckingstub__00d0ecee2cd9ac728ca3e321203ce2e611e56b0b2d415ba2673a50599e4512cd)
155
+ check_type(argname="argument rule", value=rule, expected_type=type_hints["rule"])
156
+ check_type(argname="argument rule_name", value=rule_name, expected_type=type_hints["rule_name"])
157
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
158
+ self._values: typing.Dict[builtins.str, typing.Any] = {
159
+ "rule": rule,
160
+ "rule_name": rule_name,
161
+ }
162
+ if tags is not None:
163
+ self._values["tags"] = tags
164
+
165
+ @builtins.property
166
+ def rule(
167
+ self,
168
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.CentralizationRuleProperty"]:
169
+ '''
170
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationcentralizationrule.html#cfn-observabilityadmin-organizationcentralizationrule-rule
171
+ '''
172
+ result = self._values.get("rule")
173
+ assert result is not None, "Required property 'rule' is missing"
174
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.CentralizationRuleProperty"], result)
175
+
176
+ @builtins.property
177
+ def rule_name(self) -> builtins.str:
178
+ '''The name of the organization centralization rule.
179
+
180
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationcentralizationrule.html#cfn-observabilityadmin-organizationcentralizationrule-rulename
181
+ '''
182
+ result = self._values.get("rule_name")
183
+ assert result is not None, "Required property 'rule_name' is missing"
184
+ return typing.cast(builtins.str, result)
185
+
186
+ @builtins.property
187
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
188
+ '''A key-value pair to filter resources based on tags associated with the resource.
189
+
190
+ For more information about tags, see `What are tags? <https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/what-are-tags.html>`_
191
+
192
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationcentralizationrule.html#cfn-observabilityadmin-organizationcentralizationrule-tags
193
+ '''
194
+ result = self._values.get("tags")
195
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
196
+
197
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
198
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
199
+
200
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
201
+ return not (rhs == self)
202
+
203
+ def __repr__(self) -> str:
204
+ return "CfnOrganizationCentralizationRuleProps(%s)" % ", ".join(
205
+ k + "=" + repr(v) for k, v in self._values.items()
206
+ )
207
+
208
+
82
209
  @jsii.data_type(
83
210
  jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnOrganizationTelemetryRuleProps",
84
211
  jsii_struct_bases=[],
@@ -94,9 +221,9 @@ class CfnOrganizationTelemetryRuleProps:
94
221
  ) -> None:
95
222
  '''Properties for defining a ``CfnOrganizationTelemetryRule``.
96
223
 
97
- :param rule: The telemetry rule.
98
- :param rule_name: The name of the organization telemetry rule.
99
- :param tags: An array of key-value pairs to apply to this resource.
224
+ :param rule: The name of the organization telemetry rule.
225
+ :param rule_name: The name of the organization centralization rule.
226
+ :param tags: Lists all tags attached to the specified telemetry rule resource.
100
227
 
101
228
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationtelemetryrule.html
102
229
  :exampleMetadata: fixture=_generated
@@ -151,7 +278,7 @@ class CfnOrganizationTelemetryRuleProps:
151
278
  def rule(
152
279
  self,
153
280
  ) -> typing.Union[_IResolvable_da3f097b, "CfnOrganizationTelemetryRule.TelemetryRuleProperty"]:
154
- '''The telemetry rule.
281
+ '''The name of the organization telemetry rule.
155
282
 
156
283
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationtelemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-rule
157
284
  '''
@@ -161,7 +288,7 @@ class CfnOrganizationTelemetryRuleProps:
161
288
 
162
289
  @builtins.property
163
290
  def rule_name(self) -> builtins.str:
164
- '''The name of the organization telemetry rule.
291
+ '''The name of the organization centralization rule.
165
292
 
166
293
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationtelemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-rulename
167
294
  '''
@@ -171,7 +298,7 @@ class CfnOrganizationTelemetryRuleProps:
171
298
 
172
299
  @builtins.property
173
300
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
174
- '''An array of key-value pairs to apply to this resource.
301
+ '''Lists all tags attached to the specified telemetry rule resource.
175
302
 
176
303
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationtelemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-tags
177
304
  '''
@@ -205,9 +332,9 @@ class CfnTelemetryRuleProps:
205
332
  ) -> None:
206
333
  '''Properties for defining a ``CfnTelemetryRule``.
207
334
 
208
- :param rule: The telemetry rule.
335
+ :param rule: Retrieves the details of a specific telemetry rule in your account.
209
336
  :param rule_name: The name of the telemetry rule.
210
- :param tags: An array of key-value pairs to apply to this resource.
337
+ :param tags: Lists all tags attached to the specified telemetry rule resource.
211
338
 
212
339
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-telemetryrule.html
213
340
  :exampleMetadata: fixture=_generated
@@ -261,7 +388,7 @@ class CfnTelemetryRuleProps:
261
388
  def rule(
262
389
  self,
263
390
  ) -> typing.Union[_IResolvable_da3f097b, "CfnTelemetryRule.TelemetryRuleProperty"]:
264
- '''The telemetry rule.
391
+ '''Retrieves the details of a specific telemetry rule in your account.
265
392
 
266
393
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-telemetryrule.html#cfn-observabilityadmin-telemetryrule-rule
267
394
  '''
@@ -281,7 +408,7 @@ class CfnTelemetryRuleProps:
281
408
 
282
409
  @builtins.property
283
410
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
284
- '''An array of key-value pairs to apply to this resource.
411
+ '''Lists all tags attached to the specified telemetry rule resource.
285
412
 
286
413
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-telemetryrule.html#cfn-observabilityadmin-telemetryrule-tags
287
414
  '''
@@ -300,6 +427,55 @@ class CfnTelemetryRuleProps:
300
427
  )
301
428
 
302
429
 
430
+ @jsii.interface(
431
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.IOrganizationCentralizationRuleRef"
432
+ )
433
+ class IOrganizationCentralizationRuleRef(
434
+ _constructs_77d1e7e8.IConstruct,
435
+ typing_extensions.Protocol,
436
+ ):
437
+ '''(experimental) Indicates that this resource can be referenced as a OrganizationCentralizationRule.
438
+
439
+ :stability: experimental
440
+ '''
441
+
442
+ @builtins.property
443
+ @jsii.member(jsii_name="organizationCentralizationRuleRef")
444
+ def organization_centralization_rule_ref(
445
+ self,
446
+ ) -> "OrganizationCentralizationRuleReference":
447
+ '''(experimental) A reference to a OrganizationCentralizationRule resource.
448
+
449
+ :stability: experimental
450
+ '''
451
+ ...
452
+
453
+
454
+ class _IOrganizationCentralizationRuleRefProxy(
455
+ jsii.proxy_for(_constructs_77d1e7e8.IConstruct), # type: ignore[misc]
456
+ ):
457
+ '''(experimental) Indicates that this resource can be referenced as a OrganizationCentralizationRule.
458
+
459
+ :stability: experimental
460
+ '''
461
+
462
+ __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_observabilityadmin.IOrganizationCentralizationRuleRef"
463
+
464
+ @builtins.property
465
+ @jsii.member(jsii_name="organizationCentralizationRuleRef")
466
+ def organization_centralization_rule_ref(
467
+ self,
468
+ ) -> "OrganizationCentralizationRuleReference":
469
+ '''(experimental) A reference to a OrganizationCentralizationRule resource.
470
+
471
+ :stability: experimental
472
+ '''
473
+ return typing.cast("OrganizationCentralizationRuleReference", jsii.get(self, "organizationCentralizationRuleRef"))
474
+
475
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
476
+ typing.cast(typing.Any, IOrganizationCentralizationRuleRef).__jsii_proxy_class__ = lambda : _IOrganizationCentralizationRuleRefProxy
477
+
478
+
303
479
  @jsii.interface(
304
480
  jsii_type="aws-cdk-lib.aws_observabilityadmin.IOrganizationTelemetryRuleRef"
305
481
  )
@@ -352,135 +528,1022 @@ class ITelemetryRuleRef(_constructs_77d1e7e8.IConstruct, typing_extensions.Proto
352
528
  :stability: experimental
353
529
  '''
354
530
 
355
- @builtins.property
356
- @jsii.member(jsii_name="telemetryRuleRef")
357
- def telemetry_rule_ref(self) -> "TelemetryRuleReference":
358
- '''(experimental) A reference to a TelemetryRule resource.
531
+ @builtins.property
532
+ @jsii.member(jsii_name="telemetryRuleRef")
533
+ def telemetry_rule_ref(self) -> "TelemetryRuleReference":
534
+ '''(experimental) A reference to a TelemetryRule resource.
535
+
536
+ :stability: experimental
537
+ '''
538
+ ...
539
+
540
+
541
+ class _ITelemetryRuleRefProxy(
542
+ jsii.proxy_for(_constructs_77d1e7e8.IConstruct), # type: ignore[misc]
543
+ ):
544
+ '''(experimental) Indicates that this resource can be referenced as a TelemetryRule.
545
+
546
+ :stability: experimental
547
+ '''
548
+
549
+ __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_observabilityadmin.ITelemetryRuleRef"
550
+
551
+ @builtins.property
552
+ @jsii.member(jsii_name="telemetryRuleRef")
553
+ def telemetry_rule_ref(self) -> "TelemetryRuleReference":
554
+ '''(experimental) A reference to a TelemetryRule resource.
555
+
556
+ :stability: experimental
557
+ '''
558
+ return typing.cast("TelemetryRuleReference", jsii.get(self, "telemetryRuleRef"))
559
+
560
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
561
+ typing.cast(typing.Any, ITelemetryRuleRef).__jsii_proxy_class__ = lambda : _ITelemetryRuleRefProxy
562
+
563
+
564
+ @jsii.data_type(
565
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.OrganizationCentralizationRuleReference",
566
+ jsii_struct_bases=[],
567
+ name_mapping={"rule_arn": "ruleArn"},
568
+ )
569
+ class OrganizationCentralizationRuleReference:
570
+ def __init__(self, *, rule_arn: builtins.str) -> None:
571
+ '''A reference to a OrganizationCentralizationRule resource.
572
+
573
+ :param rule_arn: The RuleArn of the OrganizationCentralizationRule resource.
574
+
575
+ :exampleMetadata: fixture=_generated
576
+
577
+ Example::
578
+
579
+ # The code below shows an example of how to instantiate this type.
580
+ # The values are placeholders you should change.
581
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
582
+
583
+ organization_centralization_rule_reference = observabilityadmin.OrganizationCentralizationRuleReference(
584
+ rule_arn="ruleArn"
585
+ )
586
+ '''
587
+ if __debug__:
588
+ type_hints = typing.get_type_hints(_typecheckingstub__1b3ad11b09d25a384211da640f6a09bc1e0c17db4ccd5b1f32b27309ce4215f5)
589
+ check_type(argname="argument rule_arn", value=rule_arn, expected_type=type_hints["rule_arn"])
590
+ self._values: typing.Dict[builtins.str, typing.Any] = {
591
+ "rule_arn": rule_arn,
592
+ }
593
+
594
+ @builtins.property
595
+ def rule_arn(self) -> builtins.str:
596
+ '''The RuleArn of the OrganizationCentralizationRule resource.'''
597
+ result = self._values.get("rule_arn")
598
+ assert result is not None, "Required property 'rule_arn' is missing"
599
+ return typing.cast(builtins.str, result)
600
+
601
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
602
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
603
+
604
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
605
+ return not (rhs == self)
606
+
607
+ def __repr__(self) -> str:
608
+ return "OrganizationCentralizationRuleReference(%s)" % ", ".join(
609
+ k + "=" + repr(v) for k, v in self._values.items()
610
+ )
611
+
612
+
613
+ @jsii.data_type(
614
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.OrganizationTelemetryRuleReference",
615
+ jsii_struct_bases=[],
616
+ name_mapping={"rule_arn": "ruleArn"},
617
+ )
618
+ class OrganizationTelemetryRuleReference:
619
+ def __init__(self, *, rule_arn: builtins.str) -> None:
620
+ '''A reference to a OrganizationTelemetryRule resource.
621
+
622
+ :param rule_arn: The RuleArn of the OrganizationTelemetryRule resource.
623
+
624
+ :exampleMetadata: fixture=_generated
625
+
626
+ Example::
627
+
628
+ # The code below shows an example of how to instantiate this type.
629
+ # The values are placeholders you should change.
630
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
631
+
632
+ organization_telemetry_rule_reference = observabilityadmin.OrganizationTelemetryRuleReference(
633
+ rule_arn="ruleArn"
634
+ )
635
+ '''
636
+ if __debug__:
637
+ type_hints = typing.get_type_hints(_typecheckingstub__546326e4a1c8218daecae9d95475d22bf60d95f4d5ec20cd304d51ba67eb92f4)
638
+ check_type(argname="argument rule_arn", value=rule_arn, expected_type=type_hints["rule_arn"])
639
+ self._values: typing.Dict[builtins.str, typing.Any] = {
640
+ "rule_arn": rule_arn,
641
+ }
642
+
643
+ @builtins.property
644
+ def rule_arn(self) -> builtins.str:
645
+ '''The RuleArn of the OrganizationTelemetryRule resource.'''
646
+ result = self._values.get("rule_arn")
647
+ assert result is not None, "Required property 'rule_arn' is missing"
648
+ return typing.cast(builtins.str, result)
649
+
650
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
651
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
652
+
653
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
654
+ return not (rhs == self)
655
+
656
+ def __repr__(self) -> str:
657
+ return "OrganizationTelemetryRuleReference(%s)" % ", ".join(
658
+ k + "=" + repr(v) for k, v in self._values.items()
659
+ )
660
+
661
+
662
+ @jsii.data_type(
663
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.TelemetryRuleReference",
664
+ jsii_struct_bases=[],
665
+ name_mapping={"rule_arn": "ruleArn"},
666
+ )
667
+ class TelemetryRuleReference:
668
+ def __init__(self, *, rule_arn: builtins.str) -> None:
669
+ '''A reference to a TelemetryRule resource.
670
+
671
+ :param rule_arn: The RuleArn of the TelemetryRule resource.
672
+
673
+ :exampleMetadata: fixture=_generated
674
+
675
+ Example::
676
+
677
+ # The code below shows an example of how to instantiate this type.
678
+ # The values are placeholders you should change.
679
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
680
+
681
+ telemetry_rule_reference = observabilityadmin.TelemetryRuleReference(
682
+ rule_arn="ruleArn"
683
+ )
684
+ '''
685
+ if __debug__:
686
+ type_hints = typing.get_type_hints(_typecheckingstub__7e5c59e1cd03c9d8825ebf008d30354018de9d95b37c45267b93575de094bcfc)
687
+ check_type(argname="argument rule_arn", value=rule_arn, expected_type=type_hints["rule_arn"])
688
+ self._values: typing.Dict[builtins.str, typing.Any] = {
689
+ "rule_arn": rule_arn,
690
+ }
691
+
692
+ @builtins.property
693
+ def rule_arn(self) -> builtins.str:
694
+ '''The RuleArn of the TelemetryRule resource.'''
695
+ result = self._values.get("rule_arn")
696
+ assert result is not None, "Required property 'rule_arn' is missing"
697
+ return typing.cast(builtins.str, result)
698
+
699
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
700
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
701
+
702
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
703
+ return not (rhs == self)
704
+
705
+ def __repr__(self) -> str:
706
+ return "TelemetryRuleReference(%s)" % ", ".join(
707
+ k + "=" + repr(v) for k, v in self._values.items()
708
+ )
709
+
710
+
711
+ @jsii.implements(_IInspectable_c2943556, IOrganizationCentralizationRuleRef, _ITaggableV2_4e6798f8)
712
+ class CfnOrganizationCentralizationRule(
713
+ _CfnResource_9df397a6,
714
+ metaclass=jsii.JSIIMeta,
715
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnOrganizationCentralizationRule",
716
+ ):
717
+ '''Defines how telemetry data should be centralized across an AWS Organization, including source and destination configurations.
718
+
719
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationcentralizationrule.html
720
+ :cloudformationResource: AWS::ObservabilityAdmin::OrganizationCentralizationRule
721
+ :exampleMetadata: fixture=_generated
722
+
723
+ Example::
724
+
725
+ # The code below shows an example of how to instantiate this type.
726
+ # The values are placeholders you should change.
727
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
728
+
729
+ cfn_organization_centralization_rule = observabilityadmin.CfnOrganizationCentralizationRule(self, "MyCfnOrganizationCentralizationRule",
730
+ rule=observabilityadmin.CfnOrganizationCentralizationRule.CentralizationRuleProperty(
731
+ destination=observabilityadmin.CfnOrganizationCentralizationRule.CentralizationRuleDestinationProperty(
732
+ region="region",
733
+
734
+ # the properties below are optional
735
+ account="account",
736
+ destination_logs_configuration=observabilityadmin.CfnOrganizationCentralizationRule.DestinationLogsConfigurationProperty(
737
+ backup_configuration=observabilityadmin.CfnOrganizationCentralizationRule.LogsBackupConfigurationProperty(
738
+ region="region",
739
+
740
+ # the properties below are optional
741
+ kms_key_arn="kmsKeyArn"
742
+ ),
743
+ logs_encryption_configuration=observabilityadmin.CfnOrganizationCentralizationRule.LogsEncryptionConfigurationProperty(
744
+ encryption_strategy="encryptionStrategy",
745
+
746
+ # the properties below are optional
747
+ encryption_conflict_resolution_strategy="encryptionConflictResolutionStrategy",
748
+ kms_key_arn="kmsKeyArn"
749
+ )
750
+ )
751
+ ),
752
+ source=observabilityadmin.CfnOrganizationCentralizationRule.CentralizationRuleSourceProperty(
753
+ regions=["regions"],
754
+
755
+ # the properties below are optional
756
+ scope="scope",
757
+ source_logs_configuration=observabilityadmin.CfnOrganizationCentralizationRule.SourceLogsConfigurationProperty(
758
+ encrypted_log_group_strategy="encryptedLogGroupStrategy",
759
+ log_group_selection_criteria="logGroupSelectionCriteria"
760
+ )
761
+ )
762
+ ),
763
+ rule_name="ruleName",
764
+
765
+ # the properties below are optional
766
+ tags=[CfnTag(
767
+ key="key",
768
+ value="value"
769
+ )]
770
+ )
771
+ '''
772
+
773
+ def __init__(
774
+ self,
775
+ scope: _constructs_77d1e7e8.Construct,
776
+ id: builtins.str,
777
+ *,
778
+ rule: typing.Union[_IResolvable_da3f097b, typing.Union["CfnOrganizationCentralizationRule.CentralizationRuleProperty", typing.Dict[builtins.str, typing.Any]]],
779
+ rule_name: builtins.str,
780
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
781
+ ) -> None:
782
+ '''
783
+ :param scope: Scope in which this resource is defined.
784
+ :param id: Construct identifier for this resource (unique in its scope).
785
+ :param rule:
786
+ :param rule_name: The name of the organization centralization rule.
787
+ :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>`_
788
+ '''
789
+ if __debug__:
790
+ type_hints = typing.get_type_hints(_typecheckingstub__18acbc8917f3c4cbc8bb06f5fae76010e41ab5f0e9b157f4c324c214a180ef2e)
791
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
792
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
793
+ props = CfnOrganizationCentralizationRuleProps(
794
+ rule=rule, rule_name=rule_name, tags=tags
795
+ )
796
+
797
+ jsii.create(self.__class__, self, [scope, id, props])
798
+
799
+ @jsii.member(jsii_name="inspect")
800
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
801
+ '''Examines the CloudFormation resource and discloses attributes.
802
+
803
+ :param inspector: tree inspector to collect and process attributes.
804
+ '''
805
+ if __debug__:
806
+ type_hints = typing.get_type_hints(_typecheckingstub__02b2ea8ec552fc96b3662b368fa64eea5f82839c3bd0f1aa52bd64bc495f5341)
807
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
808
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
809
+
810
+ @jsii.member(jsii_name="renderProperties")
811
+ def _render_properties(
812
+ self,
813
+ props: typing.Mapping[builtins.str, typing.Any],
814
+ ) -> typing.Mapping[builtins.str, typing.Any]:
815
+ '''
816
+ :param props: -
817
+ '''
818
+ if __debug__:
819
+ type_hints = typing.get_type_hints(_typecheckingstub__f130448a4f76aff49b8e31a382ea5ab14eacdf34a74afe86be23352ded6622e1)
820
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
821
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
822
+
823
+ @jsii.python.classproperty
824
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
825
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
826
+ '''The CloudFormation resource type name for this resource class.'''
827
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
828
+
829
+ @builtins.property
830
+ @jsii.member(jsii_name="attrRuleArn")
831
+ def attr_rule_arn(self) -> builtins.str:
832
+ '''The Amazon Resource Name (ARN) of the organization centralization rule.
833
+
834
+ :cloudformationAttribute: RuleArn
835
+ '''
836
+ return typing.cast(builtins.str, jsii.get(self, "attrRuleArn"))
837
+
838
+ @builtins.property
839
+ @jsii.member(jsii_name="cdkTagManager")
840
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
841
+ '''Tag Manager which manages the tags for this resource.'''
842
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
843
+
844
+ @builtins.property
845
+ @jsii.member(jsii_name="cfnProperties")
846
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
847
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
848
+
849
+ @builtins.property
850
+ @jsii.member(jsii_name="organizationCentralizationRuleRef")
851
+ def organization_centralization_rule_ref(
852
+ self,
853
+ ) -> OrganizationCentralizationRuleReference:
854
+ '''A reference to a OrganizationCentralizationRule resource.'''
855
+ return typing.cast(OrganizationCentralizationRuleReference, jsii.get(self, "organizationCentralizationRuleRef"))
856
+
857
+ @builtins.property
858
+ @jsii.member(jsii_name="rule")
859
+ def rule(
860
+ self,
861
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.CentralizationRuleProperty"]:
862
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.CentralizationRuleProperty"], jsii.get(self, "rule"))
863
+
864
+ @rule.setter
865
+ def rule(
866
+ self,
867
+ value: typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.CentralizationRuleProperty"],
868
+ ) -> None:
869
+ if __debug__:
870
+ type_hints = typing.get_type_hints(_typecheckingstub__8fbb5a84b6997cee28db4665d22fee83629861a1e51fe754b85b3858441e7c2d)
871
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
872
+ jsii.set(self, "rule", value) # pyright: ignore[reportArgumentType]
873
+
874
+ @builtins.property
875
+ @jsii.member(jsii_name="ruleName")
876
+ def rule_name(self) -> builtins.str:
877
+ '''The name of the organization centralization rule.'''
878
+ return typing.cast(builtins.str, jsii.get(self, "ruleName"))
879
+
880
+ @rule_name.setter
881
+ def rule_name(self, value: builtins.str) -> None:
882
+ if __debug__:
883
+ type_hints = typing.get_type_hints(_typecheckingstub__f42b1edd10be1da3c565db5f9585850487a7c51b5ad7ab0a72c1d4345b4ac7f8)
884
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
885
+ jsii.set(self, "ruleName", value) # pyright: ignore[reportArgumentType]
886
+
887
+ @builtins.property
888
+ @jsii.member(jsii_name="tags")
889
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
890
+ '''A key-value pair to filter resources based on tags associated with the resource.'''
891
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
892
+
893
+ @tags.setter
894
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
895
+ if __debug__:
896
+ type_hints = typing.get_type_hints(_typecheckingstub__a58679a9a3a800195cc0ecf82553695580c2dd2061901e27320b9025cb6ed262)
897
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
898
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
899
+
900
+ @jsii.data_type(
901
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnOrganizationCentralizationRule.CentralizationRuleDestinationProperty",
902
+ jsii_struct_bases=[],
903
+ name_mapping={
904
+ "region": "region",
905
+ "account": "account",
906
+ "destination_logs_configuration": "destinationLogsConfiguration",
907
+ },
908
+ )
909
+ class CentralizationRuleDestinationProperty:
910
+ def __init__(
911
+ self,
912
+ *,
913
+ region: builtins.str,
914
+ account: typing.Optional[builtins.str] = None,
915
+ destination_logs_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnOrganizationCentralizationRule.DestinationLogsConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
916
+ ) -> None:
917
+ '''Configuration specifying the primary destination for centralized telemetry data.
918
+
919
+ :param region: The primary destination region to which telemetry data should be centralized.
920
+ :param account: The destination account (within the organization) to which the telemetry data should be centralized.
921
+ :param destination_logs_configuration: Log specific configuration for centralization destination log groups.
922
+
923
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationruledestination.html
924
+ :exampleMetadata: fixture=_generated
925
+
926
+ Example::
927
+
928
+ # The code below shows an example of how to instantiate this type.
929
+ # The values are placeholders you should change.
930
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
931
+
932
+ centralization_rule_destination_property = observabilityadmin.CfnOrganizationCentralizationRule.CentralizationRuleDestinationProperty(
933
+ region="region",
934
+
935
+ # the properties below are optional
936
+ account="account",
937
+ destination_logs_configuration=observabilityadmin.CfnOrganizationCentralizationRule.DestinationLogsConfigurationProperty(
938
+ backup_configuration=observabilityadmin.CfnOrganizationCentralizationRule.LogsBackupConfigurationProperty(
939
+ region="region",
940
+
941
+ # the properties below are optional
942
+ kms_key_arn="kmsKeyArn"
943
+ ),
944
+ logs_encryption_configuration=observabilityadmin.CfnOrganizationCentralizationRule.LogsEncryptionConfigurationProperty(
945
+ encryption_strategy="encryptionStrategy",
946
+
947
+ # the properties below are optional
948
+ encryption_conflict_resolution_strategy="encryptionConflictResolutionStrategy",
949
+ kms_key_arn="kmsKeyArn"
950
+ )
951
+ )
952
+ )
953
+ '''
954
+ if __debug__:
955
+ type_hints = typing.get_type_hints(_typecheckingstub__48736d0ec2563919af9b82675cbe965d2288bd15210b9c8b34911e7a89ae0f47)
956
+ check_type(argname="argument region", value=region, expected_type=type_hints["region"])
957
+ check_type(argname="argument account", value=account, expected_type=type_hints["account"])
958
+ check_type(argname="argument destination_logs_configuration", value=destination_logs_configuration, expected_type=type_hints["destination_logs_configuration"])
959
+ self._values: typing.Dict[builtins.str, typing.Any] = {
960
+ "region": region,
961
+ }
962
+ if account is not None:
963
+ self._values["account"] = account
964
+ if destination_logs_configuration is not None:
965
+ self._values["destination_logs_configuration"] = destination_logs_configuration
966
+
967
+ @builtins.property
968
+ def region(self) -> builtins.str:
969
+ '''The primary destination region to which telemetry data should be centralized.
970
+
971
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationruledestination.html#cfn-observabilityadmin-organizationcentralizationrule-centralizationruledestination-region
972
+ '''
973
+ result = self._values.get("region")
974
+ assert result is not None, "Required property 'region' is missing"
975
+ return typing.cast(builtins.str, result)
976
+
977
+ @builtins.property
978
+ def account(self) -> typing.Optional[builtins.str]:
979
+ '''The destination account (within the organization) to which the telemetry data should be centralized.
980
+
981
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationruledestination.html#cfn-observabilityadmin-organizationcentralizationrule-centralizationruledestination-account
982
+ '''
983
+ result = self._values.get("account")
984
+ return typing.cast(typing.Optional[builtins.str], result)
985
+
986
+ @builtins.property
987
+ def destination_logs_configuration(
988
+ self,
989
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.DestinationLogsConfigurationProperty"]]:
990
+ '''Log specific configuration for centralization destination log groups.
991
+
992
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationruledestination.html#cfn-observabilityadmin-organizationcentralizationrule-centralizationruledestination-destinationlogsconfiguration
993
+ '''
994
+ result = self._values.get("destination_logs_configuration")
995
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.DestinationLogsConfigurationProperty"]], result)
996
+
997
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
998
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
999
+
1000
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1001
+ return not (rhs == self)
1002
+
1003
+ def __repr__(self) -> str:
1004
+ return "CentralizationRuleDestinationProperty(%s)" % ", ".join(
1005
+ k + "=" + repr(v) for k, v in self._values.items()
1006
+ )
1007
+
1008
+ @jsii.data_type(
1009
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnOrganizationCentralizationRule.CentralizationRuleProperty",
1010
+ jsii_struct_bases=[],
1011
+ name_mapping={"destination": "destination", "source": "source"},
1012
+ )
1013
+ class CentralizationRuleProperty:
1014
+ def __init__(
1015
+ self,
1016
+ *,
1017
+ destination: typing.Union[_IResolvable_da3f097b, typing.Union["CfnOrganizationCentralizationRule.CentralizationRuleDestinationProperty", typing.Dict[builtins.str, typing.Any]]],
1018
+ source: typing.Union[_IResolvable_da3f097b, typing.Union["CfnOrganizationCentralizationRule.CentralizationRuleSourceProperty", typing.Dict[builtins.str, typing.Any]]],
1019
+ ) -> None:
1020
+ '''Defines how telemetry data should be centralized across an AWS Organization, including source and destination configurations.
1021
+
1022
+ :param destination: Configuration determining where the telemetry data should be centralized, backed up, as well as encryption configuration for the primary and backup destinations.
1023
+ :param source: Configuration determining the source of the telemetry data to be centralized.
1024
+
1025
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationrule.html
1026
+ :exampleMetadata: fixture=_generated
1027
+
1028
+ Example::
1029
+
1030
+ # The code below shows an example of how to instantiate this type.
1031
+ # The values are placeholders you should change.
1032
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
1033
+
1034
+ centralization_rule_property = observabilityadmin.CfnOrganizationCentralizationRule.CentralizationRuleProperty(
1035
+ destination=observabilityadmin.CfnOrganizationCentralizationRule.CentralizationRuleDestinationProperty(
1036
+ region="region",
1037
+
1038
+ # the properties below are optional
1039
+ account="account",
1040
+ destination_logs_configuration=observabilityadmin.CfnOrganizationCentralizationRule.DestinationLogsConfigurationProperty(
1041
+ backup_configuration=observabilityadmin.CfnOrganizationCentralizationRule.LogsBackupConfigurationProperty(
1042
+ region="region",
1043
+
1044
+ # the properties below are optional
1045
+ kms_key_arn="kmsKeyArn"
1046
+ ),
1047
+ logs_encryption_configuration=observabilityadmin.CfnOrganizationCentralizationRule.LogsEncryptionConfigurationProperty(
1048
+ encryption_strategy="encryptionStrategy",
1049
+
1050
+ # the properties below are optional
1051
+ encryption_conflict_resolution_strategy="encryptionConflictResolutionStrategy",
1052
+ kms_key_arn="kmsKeyArn"
1053
+ )
1054
+ )
1055
+ ),
1056
+ source=observabilityadmin.CfnOrganizationCentralizationRule.CentralizationRuleSourceProperty(
1057
+ regions=["regions"],
1058
+
1059
+ # the properties below are optional
1060
+ scope="scope",
1061
+ source_logs_configuration=observabilityadmin.CfnOrganizationCentralizationRule.SourceLogsConfigurationProperty(
1062
+ encrypted_log_group_strategy="encryptedLogGroupStrategy",
1063
+ log_group_selection_criteria="logGroupSelectionCriteria"
1064
+ )
1065
+ )
1066
+ )
1067
+ '''
1068
+ if __debug__:
1069
+ type_hints = typing.get_type_hints(_typecheckingstub__fb475427ce4a2316b8478f1c58d17ddd5783412b26cdfb98819c47313aa718dc)
1070
+ check_type(argname="argument destination", value=destination, expected_type=type_hints["destination"])
1071
+ check_type(argname="argument source", value=source, expected_type=type_hints["source"])
1072
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1073
+ "destination": destination,
1074
+ "source": source,
1075
+ }
1076
+
1077
+ @builtins.property
1078
+ def destination(
1079
+ self,
1080
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.CentralizationRuleDestinationProperty"]:
1081
+ '''Configuration determining where the telemetry data should be centralized, backed up, as well as encryption configuration for the primary and backup destinations.
1082
+
1083
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationrule.html#cfn-observabilityadmin-organizationcentralizationrule-centralizationrule-destination
1084
+ '''
1085
+ result = self._values.get("destination")
1086
+ assert result is not None, "Required property 'destination' is missing"
1087
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.CentralizationRuleDestinationProperty"], result)
1088
+
1089
+ @builtins.property
1090
+ def source(
1091
+ self,
1092
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.CentralizationRuleSourceProperty"]:
1093
+ '''Configuration determining the source of the telemetry data to be centralized.
1094
+
1095
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationrule.html#cfn-observabilityadmin-organizationcentralizationrule-centralizationrule-source
1096
+ '''
1097
+ result = self._values.get("source")
1098
+ assert result is not None, "Required property 'source' is missing"
1099
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.CentralizationRuleSourceProperty"], result)
1100
+
1101
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1102
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1103
+
1104
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1105
+ return not (rhs == self)
1106
+
1107
+ def __repr__(self) -> str:
1108
+ return "CentralizationRuleProperty(%s)" % ", ".join(
1109
+ k + "=" + repr(v) for k, v in self._values.items()
1110
+ )
1111
+
1112
+ @jsii.data_type(
1113
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnOrganizationCentralizationRule.CentralizationRuleSourceProperty",
1114
+ jsii_struct_bases=[],
1115
+ name_mapping={
1116
+ "regions": "regions",
1117
+ "scope": "scope",
1118
+ "source_logs_configuration": "sourceLogsConfiguration",
1119
+ },
1120
+ )
1121
+ class CentralizationRuleSourceProperty:
1122
+ def __init__(
1123
+ self,
1124
+ *,
1125
+ regions: typing.Sequence[builtins.str],
1126
+ scope: typing.Optional[builtins.str] = None,
1127
+ source_logs_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnOrganizationCentralizationRule.SourceLogsConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1128
+ ) -> None:
1129
+ '''Configuration specifying the source of telemetry data to be centralized.
1130
+
1131
+ :param regions: The list of source regions from which telemetry data should be centralized.
1132
+ :param scope: The organizational scope from which telemetry data should be centralized, specified using organization id, accounts or organizational unit ids.
1133
+ :param source_logs_configuration: Log specific configuration for centralization source log groups.
1134
+
1135
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationrulesource.html
1136
+ :exampleMetadata: fixture=_generated
1137
+
1138
+ Example::
1139
+
1140
+ # The code below shows an example of how to instantiate this type.
1141
+ # The values are placeholders you should change.
1142
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
1143
+
1144
+ centralization_rule_source_property = observabilityadmin.CfnOrganizationCentralizationRule.CentralizationRuleSourceProperty(
1145
+ regions=["regions"],
1146
+
1147
+ # the properties below are optional
1148
+ scope="scope",
1149
+ source_logs_configuration=observabilityadmin.CfnOrganizationCentralizationRule.SourceLogsConfigurationProperty(
1150
+ encrypted_log_group_strategy="encryptedLogGroupStrategy",
1151
+ log_group_selection_criteria="logGroupSelectionCriteria"
1152
+ )
1153
+ )
1154
+ '''
1155
+ if __debug__:
1156
+ type_hints = typing.get_type_hints(_typecheckingstub__8c4d1dff0252b97263e138c77bea2f698277762eeffd4fcf3911e496ac5762e4)
1157
+ check_type(argname="argument regions", value=regions, expected_type=type_hints["regions"])
1158
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1159
+ check_type(argname="argument source_logs_configuration", value=source_logs_configuration, expected_type=type_hints["source_logs_configuration"])
1160
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1161
+ "regions": regions,
1162
+ }
1163
+ if scope is not None:
1164
+ self._values["scope"] = scope
1165
+ if source_logs_configuration is not None:
1166
+ self._values["source_logs_configuration"] = source_logs_configuration
1167
+
1168
+ @builtins.property
1169
+ def regions(self) -> typing.List[builtins.str]:
1170
+ '''The list of source regions from which telemetry data should be centralized.
1171
+
1172
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationrulesource.html#cfn-observabilityadmin-organizationcentralizationrule-centralizationrulesource-regions
1173
+ '''
1174
+ result = self._values.get("regions")
1175
+ assert result is not None, "Required property 'regions' is missing"
1176
+ return typing.cast(typing.List[builtins.str], result)
1177
+
1178
+ @builtins.property
1179
+ def scope(self) -> typing.Optional[builtins.str]:
1180
+ '''The organizational scope from which telemetry data should be centralized, specified using organization id, accounts or organizational unit ids.
1181
+
1182
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationrulesource.html#cfn-observabilityadmin-organizationcentralizationrule-centralizationrulesource-scope
1183
+ '''
1184
+ result = self._values.get("scope")
1185
+ return typing.cast(typing.Optional[builtins.str], result)
1186
+
1187
+ @builtins.property
1188
+ def source_logs_configuration(
1189
+ self,
1190
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.SourceLogsConfigurationProperty"]]:
1191
+ '''Log specific configuration for centralization source log groups.
1192
+
1193
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationrulesource.html#cfn-observabilityadmin-organizationcentralizationrule-centralizationrulesource-sourcelogsconfiguration
1194
+ '''
1195
+ result = self._values.get("source_logs_configuration")
1196
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.SourceLogsConfigurationProperty"]], result)
1197
+
1198
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1199
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1200
+
1201
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1202
+ return not (rhs == self)
1203
+
1204
+ def __repr__(self) -> str:
1205
+ return "CentralizationRuleSourceProperty(%s)" % ", ".join(
1206
+ k + "=" + repr(v) for k, v in self._values.items()
1207
+ )
1208
+
1209
+ @jsii.data_type(
1210
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnOrganizationCentralizationRule.DestinationLogsConfigurationProperty",
1211
+ jsii_struct_bases=[],
1212
+ name_mapping={
1213
+ "backup_configuration": "backupConfiguration",
1214
+ "logs_encryption_configuration": "logsEncryptionConfiguration",
1215
+ },
1216
+ )
1217
+ class DestinationLogsConfigurationProperty:
1218
+ def __init__(
1219
+ self,
1220
+ *,
1221
+ backup_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnOrganizationCentralizationRule.LogsBackupConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1222
+ logs_encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnOrganizationCentralizationRule.LogsEncryptionConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1223
+ ) -> None:
1224
+ '''Configuration for centralization destination log groups, including encryption and backup settings.
1225
+
1226
+ :param backup_configuration: Configuration defining the backup region and an optional KMS key for the backup destination.
1227
+ :param logs_encryption_configuration: The encryption configuration for centralization destination log groups.
1228
+
1229
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-destinationlogsconfiguration.html
1230
+ :exampleMetadata: fixture=_generated
1231
+
1232
+ Example::
1233
+
1234
+ # The code below shows an example of how to instantiate this type.
1235
+ # The values are placeholders you should change.
1236
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
1237
+
1238
+ destination_logs_configuration_property = observabilityadmin.CfnOrganizationCentralizationRule.DestinationLogsConfigurationProperty(
1239
+ backup_configuration=observabilityadmin.CfnOrganizationCentralizationRule.LogsBackupConfigurationProperty(
1240
+ region="region",
1241
+
1242
+ # the properties below are optional
1243
+ kms_key_arn="kmsKeyArn"
1244
+ ),
1245
+ logs_encryption_configuration=observabilityadmin.CfnOrganizationCentralizationRule.LogsEncryptionConfigurationProperty(
1246
+ encryption_strategy="encryptionStrategy",
1247
+
1248
+ # the properties below are optional
1249
+ encryption_conflict_resolution_strategy="encryptionConflictResolutionStrategy",
1250
+ kms_key_arn="kmsKeyArn"
1251
+ )
1252
+ )
1253
+ '''
1254
+ if __debug__:
1255
+ type_hints = typing.get_type_hints(_typecheckingstub__5dd7a39f2c94fa5f25cdcfc83cd888a8c3b22c09afa009f3ed5de76fd5befe41)
1256
+ check_type(argname="argument backup_configuration", value=backup_configuration, expected_type=type_hints["backup_configuration"])
1257
+ check_type(argname="argument logs_encryption_configuration", value=logs_encryption_configuration, expected_type=type_hints["logs_encryption_configuration"])
1258
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1259
+ if backup_configuration is not None:
1260
+ self._values["backup_configuration"] = backup_configuration
1261
+ if logs_encryption_configuration is not None:
1262
+ self._values["logs_encryption_configuration"] = logs_encryption_configuration
1263
+
1264
+ @builtins.property
1265
+ def backup_configuration(
1266
+ self,
1267
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.LogsBackupConfigurationProperty"]]:
1268
+ '''Configuration defining the backup region and an optional KMS key for the backup destination.
1269
+
1270
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-destinationlogsconfiguration.html#cfn-observabilityadmin-organizationcentralizationrule-destinationlogsconfiguration-backupconfiguration
1271
+ '''
1272
+ result = self._values.get("backup_configuration")
1273
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.LogsBackupConfigurationProperty"]], result)
1274
+
1275
+ @builtins.property
1276
+ def logs_encryption_configuration(
1277
+ self,
1278
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.LogsEncryptionConfigurationProperty"]]:
1279
+ '''The encryption configuration for centralization destination log groups.
1280
+
1281
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-destinationlogsconfiguration.html#cfn-observabilityadmin-organizationcentralizationrule-destinationlogsconfiguration-logsencryptionconfiguration
1282
+ '''
1283
+ result = self._values.get("logs_encryption_configuration")
1284
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnOrganizationCentralizationRule.LogsEncryptionConfigurationProperty"]], result)
1285
+
1286
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1287
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1288
+
1289
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1290
+ return not (rhs == self)
1291
+
1292
+ def __repr__(self) -> str:
1293
+ return "DestinationLogsConfigurationProperty(%s)" % ", ".join(
1294
+ k + "=" + repr(v) for k, v in self._values.items()
1295
+ )
1296
+
1297
+ @jsii.data_type(
1298
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnOrganizationCentralizationRule.LogsBackupConfigurationProperty",
1299
+ jsii_struct_bases=[],
1300
+ name_mapping={"region": "region", "kms_key_arn": "kmsKeyArn"},
1301
+ )
1302
+ class LogsBackupConfigurationProperty:
1303
+ def __init__(
1304
+ self,
1305
+ *,
1306
+ region: builtins.str,
1307
+ kms_key_arn: typing.Optional[builtins.str] = None,
1308
+ ) -> None:
1309
+ '''Configuration for backing up centralized log data to a secondary region.
1310
+
1311
+ :param region: Logs specific backup destination region within the primary destination account to which log data should be centralized.
1312
+ :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.
1313
+
1314
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-logsbackupconfiguration.html
1315
+ :exampleMetadata: fixture=_generated
1316
+
1317
+ Example::
1318
+
1319
+ # The code below shows an example of how to instantiate this type.
1320
+ # The values are placeholders you should change.
1321
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
1322
+
1323
+ logs_backup_configuration_property = observabilityadmin.CfnOrganizationCentralizationRule.LogsBackupConfigurationProperty(
1324
+ region="region",
1325
+
1326
+ # the properties below are optional
1327
+ kms_key_arn="kmsKeyArn"
1328
+ )
1329
+ '''
1330
+ if __debug__:
1331
+ type_hints = typing.get_type_hints(_typecheckingstub__35d26acca25f06381fb096b21a6f3791d0ef735549ac7bae5795f4e646184d86)
1332
+ check_type(argname="argument region", value=region, expected_type=type_hints["region"])
1333
+ check_type(argname="argument kms_key_arn", value=kms_key_arn, expected_type=type_hints["kms_key_arn"])
1334
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1335
+ "region": region,
1336
+ }
1337
+ if kms_key_arn is not None:
1338
+ self._values["kms_key_arn"] = kms_key_arn
1339
+
1340
+ @builtins.property
1341
+ def region(self) -> builtins.str:
1342
+ '''Logs specific backup destination region within the primary destination account to which log data should be centralized.
1343
+
1344
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-logsbackupconfiguration.html#cfn-observabilityadmin-organizationcentralizationrule-logsbackupconfiguration-region
1345
+ '''
1346
+ result = self._values.get("region")
1347
+ assert result is not None, "Required property 'region' is missing"
1348
+ return typing.cast(builtins.str, result)
1349
+
1350
+ @builtins.property
1351
+ def kms_key_arn(self) -> typing.Optional[builtins.str]:
1352
+ '''KMS Key ARN belonging to the primary destination account and backup region, to encrypt newly created central log groups in the backup destination.
1353
+
1354
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-logsbackupconfiguration.html#cfn-observabilityadmin-organizationcentralizationrule-logsbackupconfiguration-kmskeyarn
1355
+ '''
1356
+ result = self._values.get("kms_key_arn")
1357
+ return typing.cast(typing.Optional[builtins.str], result)
1358
+
1359
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1360
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1361
+
1362
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1363
+ return not (rhs == self)
1364
+
1365
+ def __repr__(self) -> str:
1366
+ return "LogsBackupConfigurationProperty(%s)" % ", ".join(
1367
+ k + "=" + repr(v) for k, v in self._values.items()
1368
+ )
1369
+
1370
+ @jsii.data_type(
1371
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnOrganizationCentralizationRule.LogsEncryptionConfigurationProperty",
1372
+ jsii_struct_bases=[],
1373
+ name_mapping={
1374
+ "encryption_strategy": "encryptionStrategy",
1375
+ "encryption_conflict_resolution_strategy": "encryptionConflictResolutionStrategy",
1376
+ "kms_key_arn": "kmsKeyArn",
1377
+ },
1378
+ )
1379
+ class LogsEncryptionConfigurationProperty:
1380
+ def __init__(
1381
+ self,
1382
+ *,
1383
+ encryption_strategy: builtins.str,
1384
+ encryption_conflict_resolution_strategy: typing.Optional[builtins.str] = None,
1385
+ kms_key_arn: typing.Optional[builtins.str] = None,
1386
+ ) -> None:
1387
+ '''Configuration for encrypting centralized log groups.
1388
+
1389
+ This configuration is only applied to destination log groups for which the corresponding source log groups are encrypted using Customer Managed KMS Keys.
359
1390
 
360
- :stability: experimental
361
- '''
362
- ...
1391
+ :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.
1392
+ :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.
1393
+ :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.
363
1394
 
1395
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-logsencryptionconfiguration.html
1396
+ :exampleMetadata: fixture=_generated
364
1397
 
365
- class _ITelemetryRuleRefProxy(
366
- jsii.proxy_for(_constructs_77d1e7e8.IConstruct), # type: ignore[misc]
367
- ):
368
- '''(experimental) Indicates that this resource can be referenced as a TelemetryRule.
1398
+ Example::
369
1399
 
370
- :stability: experimental
371
- '''
1400
+ # The code below shows an example of how to instantiate this type.
1401
+ # The values are placeholders you should change.
1402
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
1403
+
1404
+ logs_encryption_configuration_property = observabilityadmin.CfnOrganizationCentralizationRule.LogsEncryptionConfigurationProperty(
1405
+ encryption_strategy="encryptionStrategy",
1406
+
1407
+ # the properties below are optional
1408
+ encryption_conflict_resolution_strategy="encryptionConflictResolutionStrategy",
1409
+ kms_key_arn="kmsKeyArn"
1410
+ )
1411
+ '''
1412
+ if __debug__:
1413
+ type_hints = typing.get_type_hints(_typecheckingstub__9d66f88a29d04606b9d6748d2a92fb0d7bf4a500a64fceff8556e1ac2275828e)
1414
+ check_type(argname="argument encryption_strategy", value=encryption_strategy, expected_type=type_hints["encryption_strategy"])
1415
+ check_type(argname="argument encryption_conflict_resolution_strategy", value=encryption_conflict_resolution_strategy, expected_type=type_hints["encryption_conflict_resolution_strategy"])
1416
+ check_type(argname="argument kms_key_arn", value=kms_key_arn, expected_type=type_hints["kms_key_arn"])
1417
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1418
+ "encryption_strategy": encryption_strategy,
1419
+ }
1420
+ if encryption_conflict_resolution_strategy is not None:
1421
+ self._values["encryption_conflict_resolution_strategy"] = encryption_conflict_resolution_strategy
1422
+ if kms_key_arn is not None:
1423
+ self._values["kms_key_arn"] = kms_key_arn
372
1424
 
373
- __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_observabilityadmin.ITelemetryRuleRef"
1425
+ @builtins.property
1426
+ def encryption_strategy(self) -> builtins.str:
1427
+ '''Configuration that determines the encryption strategy of the destination log groups.
374
1428
 
375
- @builtins.property
376
- @jsii.member(jsii_name="telemetryRuleRef")
377
- def telemetry_rule_ref(self) -> "TelemetryRuleReference":
378
- '''(experimental) A reference to a TelemetryRule resource.
1429
+ CUSTOMER_MANAGED uses the configured KmsKeyArn to encrypt newly created destination log groups.
379
1430
 
380
- :stability: experimental
381
- '''
382
- return typing.cast("TelemetryRuleReference", jsii.get(self, "telemetryRuleRef"))
1431
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-logsencryptionconfiguration.html#cfn-observabilityadmin-organizationcentralizationrule-logsencryptionconfiguration-encryptionstrategy
1432
+ '''
1433
+ result = self._values.get("encryption_strategy")
1434
+ assert result is not None, "Required property 'encryption_strategy' is missing"
1435
+ return typing.cast(builtins.str, result)
383
1436
 
384
- # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
385
- typing.cast(typing.Any, ITelemetryRuleRef).__jsii_proxy_class__ = lambda : _ITelemetryRuleRefProxy
1437
+ @builtins.property
1438
+ def encryption_conflict_resolution_strategy(
1439
+ self,
1440
+ ) -> typing.Optional[builtins.str]:
1441
+ '''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.
386
1442
 
1443
+ ALLOW lets centralization go through while SKIP prevents centralization into the destination log group.
387
1444
 
388
- @jsii.data_type(
389
- jsii_type="aws-cdk-lib.aws_observabilityadmin.OrganizationTelemetryRuleReference",
390
- jsii_struct_bases=[],
391
- name_mapping={"rule_arn": "ruleArn"},
392
- )
393
- class OrganizationTelemetryRuleReference:
394
- def __init__(self, *, rule_arn: builtins.str) -> None:
395
- '''A reference to a OrganizationTelemetryRule resource.
1445
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-logsencryptionconfiguration.html#cfn-observabilityadmin-organizationcentralizationrule-logsencryptionconfiguration-encryptionconflictresolutionstrategy
1446
+ '''
1447
+ result = self._values.get("encryption_conflict_resolution_strategy")
1448
+ return typing.cast(typing.Optional[builtins.str], result)
396
1449
 
397
- :param rule_arn: The RuleArn of the OrganizationTelemetryRule resource.
1450
+ @builtins.property
1451
+ def kms_key_arn(self) -> typing.Optional[builtins.str]:
1452
+ '''KMS Key ARN belonging to the primary destination account and region, to encrypt newly created central log groups in the primary destination.
398
1453
 
399
- :exampleMetadata: fixture=_generated
1454
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-logsencryptionconfiguration.html#cfn-observabilityadmin-organizationcentralizationrule-logsencryptionconfiguration-kmskeyarn
1455
+ '''
1456
+ result = self._values.get("kms_key_arn")
1457
+ return typing.cast(typing.Optional[builtins.str], result)
400
1458
 
401
- Example::
1459
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1460
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
402
1461
 
403
- # The code below shows an example of how to instantiate this type.
404
- # The values are placeholders you should change.
405
- from aws_cdk import aws_observabilityadmin as observabilityadmin
406
-
407
- organization_telemetry_rule_reference = observabilityadmin.OrganizationTelemetryRuleReference(
408
- rule_arn="ruleArn"
1462
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1463
+ return not (rhs == self)
1464
+
1465
+ def __repr__(self) -> str:
1466
+ return "LogsEncryptionConfigurationProperty(%s)" % ", ".join(
1467
+ k + "=" + repr(v) for k, v in self._values.items()
409
1468
  )
410
- '''
411
- if __debug__:
412
- type_hints = typing.get_type_hints(_typecheckingstub__546326e4a1c8218daecae9d95475d22bf60d95f4d5ec20cd304d51ba67eb92f4)
413
- check_type(argname="argument rule_arn", value=rule_arn, expected_type=type_hints["rule_arn"])
414
- self._values: typing.Dict[builtins.str, typing.Any] = {
415
- "rule_arn": rule_arn,
416
- }
417
1469
 
418
- @builtins.property
419
- def rule_arn(self) -> builtins.str:
420
- '''The RuleArn of the OrganizationTelemetryRule resource.'''
421
- result = self._values.get("rule_arn")
422
- assert result is not None, "Required property 'rule_arn' is missing"
423
- return typing.cast(builtins.str, result)
1470
+ @jsii.data_type(
1471
+ jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnOrganizationCentralizationRule.SourceLogsConfigurationProperty",
1472
+ jsii_struct_bases=[],
1473
+ name_mapping={
1474
+ "encrypted_log_group_strategy": "encryptedLogGroupStrategy",
1475
+ "log_group_selection_criteria": "logGroupSelectionCriteria",
1476
+ },
1477
+ )
1478
+ class SourceLogsConfigurationProperty:
1479
+ def __init__(
1480
+ self,
1481
+ *,
1482
+ encrypted_log_group_strategy: builtins.str,
1483
+ log_group_selection_criteria: builtins.str,
1484
+ ) -> None:
1485
+ '''Configuration for selecting and handling source log groups for centralization.
424
1486
 
425
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
426
- return isinstance(rhs, self.__class__) and rhs._values == self._values
1487
+ :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.
1488
+ :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.
427
1489
 
428
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
429
- return not (rhs == self)
1490
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-sourcelogsconfiguration.html
1491
+ :exampleMetadata: fixture=_generated
430
1492
 
431
- def __repr__(self) -> str:
432
- return "OrganizationTelemetryRuleReference(%s)" % ", ".join(
433
- k + "=" + repr(v) for k, v in self._values.items()
434
- )
1493
+ Example::
435
1494
 
1495
+ # The code below shows an example of how to instantiate this type.
1496
+ # The values are placeholders you should change.
1497
+ from aws_cdk import aws_observabilityadmin as observabilityadmin
1498
+
1499
+ source_logs_configuration_property = observabilityadmin.CfnOrganizationCentralizationRule.SourceLogsConfigurationProperty(
1500
+ encrypted_log_group_strategy="encryptedLogGroupStrategy",
1501
+ log_group_selection_criteria="logGroupSelectionCriteria"
1502
+ )
1503
+ '''
1504
+ if __debug__:
1505
+ type_hints = typing.get_type_hints(_typecheckingstub__20a12247cb1287e19ec3a764cc738d756d26c889450a5b771811f8378a2b5d6c)
1506
+ check_type(argname="argument encrypted_log_group_strategy", value=encrypted_log_group_strategy, expected_type=type_hints["encrypted_log_group_strategy"])
1507
+ check_type(argname="argument log_group_selection_criteria", value=log_group_selection_criteria, expected_type=type_hints["log_group_selection_criteria"])
1508
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1509
+ "encrypted_log_group_strategy": encrypted_log_group_strategy,
1510
+ "log_group_selection_criteria": log_group_selection_criteria,
1511
+ }
436
1512
 
437
- @jsii.data_type(
438
- jsii_type="aws-cdk-lib.aws_observabilityadmin.TelemetryRuleReference",
439
- jsii_struct_bases=[],
440
- name_mapping={"rule_arn": "ruleArn"},
441
- )
442
- class TelemetryRuleReference:
443
- def __init__(self, *, rule_arn: builtins.str) -> None:
444
- '''A reference to a TelemetryRule resource.
1513
+ @builtins.property
1514
+ def encrypted_log_group_strategy(self) -> builtins.str:
1515
+ '''A strategy determining whether to centralize source log groups that are encrypted with customer managed KMS keys (CMK).
445
1516
 
446
- :param rule_arn: The RuleArn of the TelemetryRule resource.
1517
+ ALLOW will consider CMK encrypted source log groups for centralization while SKIP will skip CMK encrypted source log groups from centralization.
447
1518
 
448
- :exampleMetadata: fixture=_generated
1519
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-sourcelogsconfiguration.html#cfn-observabilityadmin-organizationcentralizationrule-sourcelogsconfiguration-encryptedloggroupstrategy
1520
+ '''
1521
+ result = self._values.get("encrypted_log_group_strategy")
1522
+ assert result is not None, "Required property 'encrypted_log_group_strategy' is missing"
1523
+ return typing.cast(builtins.str, result)
449
1524
 
450
- Example::
1525
+ @builtins.property
1526
+ def log_group_selection_criteria(self) -> builtins.str:
1527
+ '''The selection criteria that specifies which source log groups to centralize.
451
1528
 
452
- # The code below shows an example of how to instantiate this type.
453
- # The values are placeholders you should change.
454
- from aws_cdk import aws_observabilityadmin as observabilityadmin
455
-
456
- telemetry_rule_reference = observabilityadmin.TelemetryRuleReference(
457
- rule_arn="ruleArn"
458
- )
459
- '''
460
- if __debug__:
461
- type_hints = typing.get_type_hints(_typecheckingstub__7e5c59e1cd03c9d8825ebf008d30354018de9d95b37c45267b93575de094bcfc)
462
- check_type(argname="argument rule_arn", value=rule_arn, expected_type=type_hints["rule_arn"])
463
- self._values: typing.Dict[builtins.str, typing.Any] = {
464
- "rule_arn": rule_arn,
465
- }
1529
+ The selection criteria uses the same format as OAM link filters.
466
1530
 
467
- @builtins.property
468
- def rule_arn(self) -> builtins.str:
469
- '''The RuleArn of the TelemetryRule resource.'''
470
- result = self._values.get("rule_arn")
471
- assert result is not None, "Required property 'rule_arn' is missing"
472
- return typing.cast(builtins.str, result)
1531
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-sourcelogsconfiguration.html#cfn-observabilityadmin-organizationcentralizationrule-sourcelogsconfiguration-loggroupselectioncriteria
1532
+ '''
1533
+ result = self._values.get("log_group_selection_criteria")
1534
+ assert result is not None, "Required property 'log_group_selection_criteria' is missing"
1535
+ return typing.cast(builtins.str, result)
473
1536
 
474
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
475
- return isinstance(rhs, self.__class__) and rhs._values == self._values
1537
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1538
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
476
1539
 
477
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
478
- return not (rhs == self)
1540
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1541
+ return not (rhs == self)
479
1542
 
480
- def __repr__(self) -> str:
481
- return "TelemetryRuleReference(%s)" % ", ".join(
482
- k + "=" + repr(v) for k, v in self._values.items()
483
- )
1543
+ def __repr__(self) -> str:
1544
+ return "SourceLogsConfigurationProperty(%s)" % ", ".join(
1545
+ k + "=" + repr(v) for k, v in self._values.items()
1546
+ )
484
1547
 
485
1548
 
486
1549
  @jsii.implements(_IInspectable_c2943556, IOrganizationTelemetryRuleRef, _ITaggableV2_4e6798f8)
@@ -489,7 +1552,9 @@ class CfnOrganizationTelemetryRule(
489
1552
  metaclass=jsii.JSIIMeta,
490
1553
  jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnOrganizationTelemetryRule",
491
1554
  ):
492
- '''The AWS::ObservabilityAdmin::OrganizationTelemetryRule resource defines a CloudWatch Observability Admin Organization Telemetry Rule.
1555
+ '''Retrieves the details of a specific organization centralization rule.
1556
+
1557
+ This operation can only be called by the organization's management account or a delegated administrator account.
493
1558
 
494
1559
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationtelemetryrule.html
495
1560
  :cloudformationResource: AWS::ObservabilityAdmin::OrganizationTelemetryRule
@@ -542,9 +1607,9 @@ class CfnOrganizationTelemetryRule(
542
1607
  '''
543
1608
  :param scope: Scope in which this resource is defined.
544
1609
  :param id: Construct identifier for this resource (unique in its scope).
545
- :param rule: The telemetry rule.
546
- :param rule_name: The name of the organization telemetry rule.
547
- :param tags: An array of key-value pairs to apply to this resource.
1610
+ :param rule: The name of the organization telemetry rule.
1611
+ :param rule_name: The name of the organization centralization rule.
1612
+ :param tags: Lists all tags attached to the specified telemetry rule resource.
548
1613
  '''
549
1614
  if __debug__:
550
1615
  type_hints = typing.get_type_hints(_typecheckingstub__a67d6a9dd82924a413b7d3435faeb8efa735048df0244b926e672def8c2d5f75)
@@ -617,7 +1682,7 @@ class CfnOrganizationTelemetryRule(
617
1682
  def rule(
618
1683
  self,
619
1684
  ) -> typing.Union[_IResolvable_da3f097b, "CfnOrganizationTelemetryRule.TelemetryRuleProperty"]:
620
- '''The telemetry rule.'''
1685
+ '''The name of the organization telemetry rule.'''
621
1686
  return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnOrganizationTelemetryRule.TelemetryRuleProperty"], jsii.get(self, "rule"))
622
1687
 
623
1688
  @rule.setter
@@ -633,7 +1698,7 @@ class CfnOrganizationTelemetryRule(
633
1698
  @builtins.property
634
1699
  @jsii.member(jsii_name="ruleName")
635
1700
  def rule_name(self) -> builtins.str:
636
- '''The name of the organization telemetry rule.'''
1701
+ '''The name of the organization centralization rule.'''
637
1702
  return typing.cast(builtins.str, jsii.get(self, "ruleName"))
638
1703
 
639
1704
  @rule_name.setter
@@ -646,7 +1711,7 @@ class CfnOrganizationTelemetryRule(
646
1711
  @builtins.property
647
1712
  @jsii.member(jsii_name="tags")
648
1713
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
649
- '''An array of key-value pairs to apply to this resource.'''
1714
+ '''Lists all tags attached to the specified telemetry rule resource.'''
650
1715
  return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
651
1716
 
652
1717
  @tags.setter
@@ -675,12 +1740,12 @@ class CfnOrganizationTelemetryRule(
675
1740
  retention_in_days: typing.Optional[jsii.Number] = None,
676
1741
  vpc_flow_log_parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnOrganizationTelemetryRule.VPCFlowLogParametersProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
677
1742
  ) -> None:
678
- '''The destination configuration for telemetry data.
1743
+ '''Configuration specifying where and how telemetry data should be delivered for AWS resources.
679
1744
 
680
- :param destination_pattern: Pattern for telemetry data destination.
681
- :param destination_type: Type of telemetry destination.
682
- :param retention_in_days: Number of days to retain the telemetry data in the specified destination.
683
- :param vpc_flow_log_parameters: Telemetry parameters for VPC Flow logs.
1745
+ :param destination_pattern: The pattern used to generate the destination path or name, supporting macros like and .
1746
+ :param destination_type: The type of destination for the telemetry data (e.g., "Amazon CloudWatch Logs", "S3").
1747
+ :param retention_in_days: The number of days to retain the telemetry data in the destination.
1748
+ :param vpc_flow_log_parameters: Configuration parameters specific to VPC Flow Logs when VPC is the resource type.
684
1749
 
685
1750
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration.html
686
1751
  :exampleMetadata: fixture=_generated
@@ -720,7 +1785,7 @@ class CfnOrganizationTelemetryRule(
720
1785
 
721
1786
  @builtins.property
722
1787
  def destination_pattern(self) -> typing.Optional[builtins.str]:
723
- '''Pattern for telemetry data destination.
1788
+ '''The pattern used to generate the destination path or name, supporting macros like and .
724
1789
 
725
1790
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration-destinationpattern
726
1791
  '''
@@ -729,7 +1794,7 @@ class CfnOrganizationTelemetryRule(
729
1794
 
730
1795
  @builtins.property
731
1796
  def destination_type(self) -> typing.Optional[builtins.str]:
732
- '''Type of telemetry destination.
1797
+ '''The type of destination for the telemetry data (e.g., "Amazon CloudWatch Logs", "S3").
733
1798
 
734
1799
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration-destinationtype
735
1800
  '''
@@ -738,7 +1803,7 @@ class CfnOrganizationTelemetryRule(
738
1803
 
739
1804
  @builtins.property
740
1805
  def retention_in_days(self) -> typing.Optional[jsii.Number]:
741
- '''Number of days to retain the telemetry data in the specified destination.
1806
+ '''The number of days to retain the telemetry data in the destination.
742
1807
 
743
1808
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration-retentionindays
744
1809
  '''
@@ -749,7 +1814,7 @@ class CfnOrganizationTelemetryRule(
749
1814
  def vpc_flow_log_parameters(
750
1815
  self,
751
1816
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnOrganizationTelemetryRule.VPCFlowLogParametersProperty"]]:
752
- '''Telemetry parameters for VPC Flow logs.
1817
+ '''Configuration parameters specific to VPC Flow Logs when VPC is the resource type.
753
1818
 
754
1819
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration-vpcflowlogparameters
755
1820
  '''
@@ -788,13 +1853,13 @@ class CfnOrganizationTelemetryRule(
788
1853
  scope: typing.Optional[builtins.str] = None,
789
1854
  selection_criteria: typing.Optional[builtins.str] = None,
790
1855
  ) -> None:
791
- '''The telemetry rule.
1856
+ '''Defines how telemetry should be configured for specific AWS resources.
792
1857
 
793
- :param resource_type: Resource Type associated with the Organization Telemetry Rule.
794
- :param telemetry_type: Telemetry Type associated with the Organization Telemetry Rule.
795
- :param destination_configuration: The destination configuration for telemetry data.
796
- :param scope: Selection Criteria on scope level for rule application.
797
- :param selection_criteria: Selection Criteria on resource level for rule application.
1858
+ :param resource_type: The type of AWS resource to configure telemetry for (e.g., "AWS::EC2::VPC").
1859
+ :param telemetry_type: The type of telemetry to collect (Logs, Metrics, or Traces).
1860
+ :param destination_configuration: Configuration specifying where and how the telemetry data should be delivered.
1861
+ :param scope: The organizational scope to which the rule applies, specified using accounts or organizational units.
1862
+ :param selection_criteria: Criteria for selecting which resources the rule applies to, such as resource tags.
798
1863
 
799
1864
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetryrule.html
800
1865
  :exampleMetadata: fixture=_generated
@@ -844,7 +1909,7 @@ class CfnOrganizationTelemetryRule(
844
1909
 
845
1910
  @builtins.property
846
1911
  def resource_type(self) -> builtins.str:
847
- '''Resource Type associated with the Organization Telemetry Rule.
1912
+ '''The type of AWS resource to configure telemetry for (e.g., "AWS::EC2::VPC").
848
1913
 
849
1914
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-telemetryrule-resourcetype
850
1915
  '''
@@ -854,7 +1919,7 @@ class CfnOrganizationTelemetryRule(
854
1919
 
855
1920
  @builtins.property
856
1921
  def telemetry_type(self) -> builtins.str:
857
- '''Telemetry Type associated with the Organization Telemetry Rule.
1922
+ '''The type of telemetry to collect (Logs, Metrics, or Traces).
858
1923
 
859
1924
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-telemetryrule-telemetrytype
860
1925
  '''
@@ -866,7 +1931,7 @@ class CfnOrganizationTelemetryRule(
866
1931
  def destination_configuration(
867
1932
  self,
868
1933
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnOrganizationTelemetryRule.TelemetryDestinationConfigurationProperty"]]:
869
- '''The destination configuration for telemetry data.
1934
+ '''Configuration specifying where and how the telemetry data should be delivered.
870
1935
 
871
1936
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-telemetryrule-destinationconfiguration
872
1937
  '''
@@ -875,7 +1940,7 @@ class CfnOrganizationTelemetryRule(
875
1940
 
876
1941
  @builtins.property
877
1942
  def scope(self) -> typing.Optional[builtins.str]:
878
- '''Selection Criteria on scope level for rule application.
1943
+ '''The organizational scope to which the rule applies, specified using accounts or organizational units.
879
1944
 
880
1945
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-telemetryrule-scope
881
1946
  '''
@@ -884,7 +1949,7 @@ class CfnOrganizationTelemetryRule(
884
1949
 
885
1950
  @builtins.property
886
1951
  def selection_criteria(self) -> typing.Optional[builtins.str]:
887
- '''Selection Criteria on resource level for rule application.
1952
+ '''Criteria for selecting which resources the rule applies to, such as resource tags.
888
1953
 
889
1954
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-telemetryrule-selectioncriteria
890
1955
  '''
@@ -919,11 +1984,11 @@ class CfnOrganizationTelemetryRule(
919
1984
  max_aggregation_interval: typing.Optional[jsii.Number] = None,
920
1985
  traffic_type: typing.Optional[builtins.str] = None,
921
1986
  ) -> None:
922
- '''Telemetry parameters for VPC Flow logs.
1987
+ '''Configuration parameters specific to VPC Flow Logs.
923
1988
 
924
- :param log_format: The fields to include in the flow log record. If you omit this parameter, the flow log is created using the default format.
925
- :param max_aggregation_interval: The maximum interval of time, in seconds, during which a flow of packets is captured and aggregated into a flow log record. Default is 600s.
926
- :param traffic_type: The type of traffic captured for the flow log. Default is ALL
1989
+ :param log_format: The format in which VPC Flow Log entries should be logged.
1990
+ :param max_aggregation_interval: The maximum interval in seconds between the capture of flow log records.
1991
+ :param traffic_type: The type of traffic to log (ACCEPT, REJECT, or ALL).
927
1992
 
928
1993
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-vpcflowlogparameters.html
929
1994
  :exampleMetadata: fixture=_generated
@@ -955,9 +2020,7 @@ class CfnOrganizationTelemetryRule(
955
2020
 
956
2021
  @builtins.property
957
2022
  def log_format(self) -> typing.Optional[builtins.str]:
958
- '''The fields to include in the flow log record.
959
-
960
- If you omit this parameter, the flow log is created using the default format.
2023
+ '''The format in which VPC Flow Log entries should be logged.
961
2024
 
962
2025
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-vpcflowlogparameters.html#cfn-observabilityadmin-organizationtelemetryrule-vpcflowlogparameters-logformat
963
2026
  '''
@@ -966,9 +2029,7 @@ class CfnOrganizationTelemetryRule(
966
2029
 
967
2030
  @builtins.property
968
2031
  def max_aggregation_interval(self) -> typing.Optional[jsii.Number]:
969
- '''The maximum interval of time, in seconds, during which a flow of packets is captured and aggregated into a flow log record.
970
-
971
- Default is 600s.
2032
+ '''The maximum interval in seconds between the capture of flow log records.
972
2033
 
973
2034
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-vpcflowlogparameters.html#cfn-observabilityadmin-organizationtelemetryrule-vpcflowlogparameters-maxaggregationinterval
974
2035
  '''
@@ -977,9 +2038,7 @@ class CfnOrganizationTelemetryRule(
977
2038
 
978
2039
  @builtins.property
979
2040
  def traffic_type(self) -> typing.Optional[builtins.str]:
980
- '''The type of traffic captured for the flow log.
981
-
982
- Default is ALL
2041
+ '''The type of traffic to log (ACCEPT, REJECT, or ALL).
983
2042
 
984
2043
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-vpcflowlogparameters.html#cfn-observabilityadmin-organizationtelemetryrule-vpcflowlogparameters-traffictype
985
2044
  '''
@@ -1004,7 +2063,9 @@ class CfnTelemetryRule(
1004
2063
  metaclass=jsii.JSIIMeta,
1005
2064
  jsii_type="aws-cdk-lib.aws_observabilityadmin.CfnTelemetryRule",
1006
2065
  ):
1007
- '''The AWS::ObservabilityAdmin::TelemetryRule resource defines a CloudWatch Observability Admin Telemetry Rule.
2066
+ '''Creates a telemetry rule that defines how telemetry should be configured for AWS resources in your account.
2067
+
2068
+ 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.
1008
2069
 
1009
2070
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-telemetryrule.html
1010
2071
  :cloudformationResource: AWS::ObservabilityAdmin::TelemetryRule
@@ -1056,9 +2117,9 @@ class CfnTelemetryRule(
1056
2117
  '''
1057
2118
  :param scope: Scope in which this resource is defined.
1058
2119
  :param id: Construct identifier for this resource (unique in its scope).
1059
- :param rule: The telemetry rule.
2120
+ :param rule: Retrieves the details of a specific telemetry rule in your account.
1060
2121
  :param rule_name: The name of the telemetry rule.
1061
- :param tags: An array of key-value pairs to apply to this resource.
2122
+ :param tags: Lists all tags attached to the specified telemetry rule resource.
1062
2123
  '''
1063
2124
  if __debug__:
1064
2125
  type_hints = typing.get_type_hints(_typecheckingstub__1cb28d06ef60815f8488b771b64aca8e3671a315a3f6676ad80a414dcd296224)
@@ -1101,7 +2162,7 @@ class CfnTelemetryRule(
1101
2162
  @builtins.property
1102
2163
  @jsii.member(jsii_name="attrRuleArn")
1103
2164
  def attr_rule_arn(self) -> builtins.str:
1104
- '''The arn of the telemetry rule.
2165
+ '''The Amazon Resource Name (ARN) of the telemetry rule.
1105
2166
 
1106
2167
  :cloudformationAttribute: RuleArn
1107
2168
  '''
@@ -1129,7 +2190,7 @@ class CfnTelemetryRule(
1129
2190
  def rule(
1130
2191
  self,
1131
2192
  ) -> typing.Union[_IResolvable_da3f097b, "CfnTelemetryRule.TelemetryRuleProperty"]:
1132
- '''The telemetry rule.'''
2193
+ '''Retrieves the details of a specific telemetry rule in your account.'''
1133
2194
  return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnTelemetryRule.TelemetryRuleProperty"], jsii.get(self, "rule"))
1134
2195
 
1135
2196
  @rule.setter
@@ -1158,7 +2219,7 @@ class CfnTelemetryRule(
1158
2219
  @builtins.property
1159
2220
  @jsii.member(jsii_name="tags")
1160
2221
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1161
- '''An array of key-value pairs to apply to this resource.'''
2222
+ '''Lists all tags attached to the specified telemetry rule resource.'''
1162
2223
  return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
1163
2224
 
1164
2225
  @tags.setter
@@ -1187,12 +2248,12 @@ class CfnTelemetryRule(
1187
2248
  retention_in_days: typing.Optional[jsii.Number] = None,
1188
2249
  vpc_flow_log_parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTelemetryRule.VPCFlowLogParametersProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1189
2250
  ) -> None:
1190
- '''The destination configuration for telemetry data.
2251
+ '''Configuration specifying where and how telemetry data should be delivered for AWS resources.
1191
2252
 
1192
- :param destination_pattern: Pattern for telemetry data destination.
1193
- :param destination_type: Type of telemetry destination.
1194
- :param retention_in_days: Number of days to retain the telemetry data in the specified destination.
1195
- :param vpc_flow_log_parameters: Telemetry parameters for VPC Flow logs.
2253
+ :param destination_pattern: The pattern used to generate the destination path or name, supporting macros like and .
2254
+ :param destination_type: The type of destination for the telemetry data (e.g., "Amazon CloudWatch Logs", "S3").
2255
+ :param retention_in_days: The number of days to retain the telemetry data in the destination.
2256
+ :param vpc_flow_log_parameters: Configuration parameters specific to VPC Flow Logs when VPC is the resource type.
1196
2257
 
1197
2258
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetrydestinationconfiguration.html
1198
2259
  :exampleMetadata: fixture=_generated
@@ -1232,7 +2293,7 @@ class CfnTelemetryRule(
1232
2293
 
1233
2294
  @builtins.property
1234
2295
  def destination_pattern(self) -> typing.Optional[builtins.str]:
1235
- '''Pattern for telemetry data destination.
2296
+ '''The pattern used to generate the destination path or name, supporting macros like and .
1236
2297
 
1237
2298
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-telemetryrule-telemetrydestinationconfiguration-destinationpattern
1238
2299
  '''
@@ -1241,7 +2302,7 @@ class CfnTelemetryRule(
1241
2302
 
1242
2303
  @builtins.property
1243
2304
  def destination_type(self) -> typing.Optional[builtins.str]:
1244
- '''Type of telemetry destination.
2305
+ '''The type of destination for the telemetry data (e.g., "Amazon CloudWatch Logs", "S3").
1245
2306
 
1246
2307
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-telemetryrule-telemetrydestinationconfiguration-destinationtype
1247
2308
  '''
@@ -1250,7 +2311,7 @@ class CfnTelemetryRule(
1250
2311
 
1251
2312
  @builtins.property
1252
2313
  def retention_in_days(self) -> typing.Optional[jsii.Number]:
1253
- '''Number of days to retain the telemetry data in the specified destination.
2314
+ '''The number of days to retain the telemetry data in the destination.
1254
2315
 
1255
2316
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-telemetryrule-telemetrydestinationconfiguration-retentionindays
1256
2317
  '''
@@ -1261,7 +2322,7 @@ class CfnTelemetryRule(
1261
2322
  def vpc_flow_log_parameters(
1262
2323
  self,
1263
2324
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTelemetryRule.VPCFlowLogParametersProperty"]]:
1264
- '''Telemetry parameters for VPC Flow logs.
2325
+ '''Configuration parameters specific to VPC Flow Logs when VPC is the resource type.
1265
2326
 
1266
2327
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-telemetryrule-telemetrydestinationconfiguration-vpcflowlogparameters
1267
2328
  '''
@@ -1298,12 +2359,12 @@ class CfnTelemetryRule(
1298
2359
  destination_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTelemetryRule.TelemetryDestinationConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1299
2360
  selection_criteria: typing.Optional[builtins.str] = None,
1300
2361
  ) -> None:
1301
- '''The telemetry rule.
2362
+ '''Defines how telemetry should be configured for specific AWS resources.
1302
2363
 
1303
- :param resource_type: Resource Type associated with the Telemetry Rule.
1304
- :param telemetry_type: Telemetry Type associated with the Telemetry Rule.
1305
- :param destination_configuration: The destination configuration for telemetry data.
1306
- :param selection_criteria: Selection Criteria on resource level for rule application.
2364
+ :param resource_type: The type of AWS resource to configure telemetry for (e.g., "AWS::EC2::VPC").
2365
+ :param telemetry_type: The type of telemetry to collect (Logs, Metrics, or Traces).
2366
+ :param destination_configuration: Configuration specifying where and how the telemetry data should be delivered.
2367
+ :param selection_criteria: Criteria for selecting which resources the rule applies to, such as resource tags.
1307
2368
 
1308
2369
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetryrule.html
1309
2370
  :exampleMetadata: fixture=_generated
@@ -1349,7 +2410,7 @@ class CfnTelemetryRule(
1349
2410
 
1350
2411
  @builtins.property
1351
2412
  def resource_type(self) -> builtins.str:
1352
- '''Resource Type associated with the Telemetry Rule.
2413
+ '''The type of AWS resource to configure telemetry for (e.g., "AWS::EC2::VPC").
1353
2414
 
1354
2415
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetryrule.html#cfn-observabilityadmin-telemetryrule-telemetryrule-resourcetype
1355
2416
  '''
@@ -1359,7 +2420,7 @@ class CfnTelemetryRule(
1359
2420
 
1360
2421
  @builtins.property
1361
2422
  def telemetry_type(self) -> builtins.str:
1362
- '''Telemetry Type associated with the Telemetry Rule.
2423
+ '''The type of telemetry to collect (Logs, Metrics, or Traces).
1363
2424
 
1364
2425
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetryrule.html#cfn-observabilityadmin-telemetryrule-telemetryrule-telemetrytype
1365
2426
  '''
@@ -1371,7 +2432,7 @@ class CfnTelemetryRule(
1371
2432
  def destination_configuration(
1372
2433
  self,
1373
2434
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTelemetryRule.TelemetryDestinationConfigurationProperty"]]:
1374
- '''The destination configuration for telemetry data.
2435
+ '''Configuration specifying where and how the telemetry data should be delivered.
1375
2436
 
1376
2437
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetryrule.html#cfn-observabilityadmin-telemetryrule-telemetryrule-destinationconfiguration
1377
2438
  '''
@@ -1380,7 +2441,7 @@ class CfnTelemetryRule(
1380
2441
 
1381
2442
  @builtins.property
1382
2443
  def selection_criteria(self) -> typing.Optional[builtins.str]:
1383
- '''Selection Criteria on resource level for rule application.
2444
+ '''Criteria for selecting which resources the rule applies to, such as resource tags.
1384
2445
 
1385
2446
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetryrule.html#cfn-observabilityadmin-telemetryrule-telemetryrule-selectioncriteria
1386
2447
  '''
@@ -1415,11 +2476,11 @@ class CfnTelemetryRule(
1415
2476
  max_aggregation_interval: typing.Optional[jsii.Number] = None,
1416
2477
  traffic_type: typing.Optional[builtins.str] = None,
1417
2478
  ) -> None:
1418
- '''Telemetry parameters for VPC Flow logs.
2479
+ '''Configuration parameters specific to VPC Flow Logs.
1419
2480
 
1420
- :param log_format: The fields to include in the flow log record. If you omit this parameter, the flow log is created using the default format.
1421
- :param max_aggregation_interval: The maximum interval of time, in seconds, during which a flow of packets is captured and aggregated into a flow log record. Default is 600s.
1422
- :param traffic_type: The type of traffic captured for the flow log. Default is ALL
2481
+ :param log_format: The format in which VPC Flow Log entries should be logged.
2482
+ :param max_aggregation_interval: The maximum interval in seconds between the capture of flow log records.
2483
+ :param traffic_type: The type of traffic to log (ACCEPT, REJECT, or ALL).
1423
2484
 
1424
2485
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-vpcflowlogparameters.html
1425
2486
  :exampleMetadata: fixture=_generated
@@ -1451,9 +2512,7 @@ class CfnTelemetryRule(
1451
2512
 
1452
2513
  @builtins.property
1453
2514
  def log_format(self) -> typing.Optional[builtins.str]:
1454
- '''The fields to include in the flow log record.
1455
-
1456
- If you omit this parameter, the flow log is created using the default format.
2515
+ '''The format in which VPC Flow Log entries should be logged.
1457
2516
 
1458
2517
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-vpcflowlogparameters.html#cfn-observabilityadmin-telemetryrule-vpcflowlogparameters-logformat
1459
2518
  '''
@@ -1462,9 +2521,7 @@ class CfnTelemetryRule(
1462
2521
 
1463
2522
  @builtins.property
1464
2523
  def max_aggregation_interval(self) -> typing.Optional[jsii.Number]:
1465
- '''The maximum interval of time, in seconds, during which a flow of packets is captured and aggregated into a flow log record.
1466
-
1467
- Default is 600s.
2524
+ '''The maximum interval in seconds between the capture of flow log records.
1468
2525
 
1469
2526
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-vpcflowlogparameters.html#cfn-observabilityadmin-telemetryrule-vpcflowlogparameters-maxaggregationinterval
1470
2527
  '''
@@ -1473,9 +2530,7 @@ class CfnTelemetryRule(
1473
2530
 
1474
2531
  @builtins.property
1475
2532
  def traffic_type(self) -> typing.Optional[builtins.str]:
1476
- '''The type of traffic captured for the flow log.
1477
-
1478
- Default is ALL
2533
+ '''The type of traffic to log (ACCEPT, REJECT, or ALL).
1479
2534
 
1480
2535
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-vpcflowlogparameters.html#cfn-observabilityadmin-telemetryrule-vpcflowlogparameters-traffictype
1481
2536
  '''
@@ -1495,18 +2550,31 @@ class CfnTelemetryRule(
1495
2550
 
1496
2551
 
1497
2552
  __all__ = [
2553
+ "CfnOrganizationCentralizationRule",
2554
+ "CfnOrganizationCentralizationRuleProps",
1498
2555
  "CfnOrganizationTelemetryRule",
1499
2556
  "CfnOrganizationTelemetryRuleProps",
1500
2557
  "CfnTelemetryRule",
1501
2558
  "CfnTelemetryRuleProps",
2559
+ "IOrganizationCentralizationRuleRef",
1502
2560
  "IOrganizationTelemetryRuleRef",
1503
2561
  "ITelemetryRuleRef",
2562
+ "OrganizationCentralizationRuleReference",
1504
2563
  "OrganizationTelemetryRuleReference",
1505
2564
  "TelemetryRuleReference",
1506
2565
  ]
1507
2566
 
1508
2567
  publication.publish()
1509
2568
 
2569
+ def _typecheckingstub__00d0ecee2cd9ac728ca3e321203ce2e611e56b0b2d415ba2673a50599e4512cd(
2570
+ *,
2571
+ rule: typing.Union[_IResolvable_da3f097b, typing.Union[CfnOrganizationCentralizationRule.CentralizationRuleProperty, typing.Dict[builtins.str, typing.Any]]],
2572
+ rule_name: builtins.str,
2573
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2574
+ ) -> None:
2575
+ """Type checking stubs"""
2576
+ pass
2577
+
1510
2578
  def _typecheckingstub__45c94381428dd096d5bd5b31c1a78b0ec6c66b125c46a889f389e957dbf9f76b(
1511
2579
  *,
1512
2580
  rule: typing.Union[_IResolvable_da3f097b, typing.Union[CfnOrganizationTelemetryRule.TelemetryRuleProperty, typing.Dict[builtins.str, typing.Any]]],
@@ -1525,6 +2593,13 @@ def _typecheckingstub__7455cb845b044ed569a8ec8407abf811920062f00d1e54ad191e90dc9
1525
2593
  """Type checking stubs"""
1526
2594
  pass
1527
2595
 
2596
+ def _typecheckingstub__1b3ad11b09d25a384211da640f6a09bc1e0c17db4ccd5b1f32b27309ce4215f5(
2597
+ *,
2598
+ rule_arn: builtins.str,
2599
+ ) -> None:
2600
+ """Type checking stubs"""
2601
+ pass
2602
+
1528
2603
  def _typecheckingstub__546326e4a1c8218daecae9d95475d22bf60d95f4d5ec20cd304d51ba67eb92f4(
1529
2604
  *,
1530
2605
  rule_arn: builtins.str,
@@ -1539,6 +2614,106 @@ def _typecheckingstub__7e5c59e1cd03c9d8825ebf008d30354018de9d95b37c45267b93575de
1539
2614
  """Type checking stubs"""
1540
2615
  pass
1541
2616
 
2617
+ def _typecheckingstub__18acbc8917f3c4cbc8bb06f5fae76010e41ab5f0e9b157f4c324c214a180ef2e(
2618
+ scope: _constructs_77d1e7e8.Construct,
2619
+ id: builtins.str,
2620
+ *,
2621
+ rule: typing.Union[_IResolvable_da3f097b, typing.Union[CfnOrganizationCentralizationRule.CentralizationRuleProperty, typing.Dict[builtins.str, typing.Any]]],
2622
+ rule_name: builtins.str,
2623
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2624
+ ) -> None:
2625
+ """Type checking stubs"""
2626
+ pass
2627
+
2628
+ def _typecheckingstub__02b2ea8ec552fc96b3662b368fa64eea5f82839c3bd0f1aa52bd64bc495f5341(
2629
+ inspector: _TreeInspector_488e0dd5,
2630
+ ) -> None:
2631
+ """Type checking stubs"""
2632
+ pass
2633
+
2634
+ def _typecheckingstub__f130448a4f76aff49b8e31a382ea5ab14eacdf34a74afe86be23352ded6622e1(
2635
+ props: typing.Mapping[builtins.str, typing.Any],
2636
+ ) -> None:
2637
+ """Type checking stubs"""
2638
+ pass
2639
+
2640
+ def _typecheckingstub__8fbb5a84b6997cee28db4665d22fee83629861a1e51fe754b85b3858441e7c2d(
2641
+ value: typing.Union[_IResolvable_da3f097b, CfnOrganizationCentralizationRule.CentralizationRuleProperty],
2642
+ ) -> None:
2643
+ """Type checking stubs"""
2644
+ pass
2645
+
2646
+ def _typecheckingstub__f42b1edd10be1da3c565db5f9585850487a7c51b5ad7ab0a72c1d4345b4ac7f8(
2647
+ value: builtins.str,
2648
+ ) -> None:
2649
+ """Type checking stubs"""
2650
+ pass
2651
+
2652
+ def _typecheckingstub__a58679a9a3a800195cc0ecf82553695580c2dd2061901e27320b9025cb6ed262(
2653
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
2654
+ ) -> None:
2655
+ """Type checking stubs"""
2656
+ pass
2657
+
2658
+ def _typecheckingstub__48736d0ec2563919af9b82675cbe965d2288bd15210b9c8b34911e7a89ae0f47(
2659
+ *,
2660
+ region: builtins.str,
2661
+ account: typing.Optional[builtins.str] = None,
2662
+ destination_logs_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnOrganizationCentralizationRule.DestinationLogsConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2663
+ ) -> None:
2664
+ """Type checking stubs"""
2665
+ pass
2666
+
2667
+ def _typecheckingstub__fb475427ce4a2316b8478f1c58d17ddd5783412b26cdfb98819c47313aa718dc(
2668
+ *,
2669
+ destination: typing.Union[_IResolvable_da3f097b, typing.Union[CfnOrganizationCentralizationRule.CentralizationRuleDestinationProperty, typing.Dict[builtins.str, typing.Any]]],
2670
+ source: typing.Union[_IResolvable_da3f097b, typing.Union[CfnOrganizationCentralizationRule.CentralizationRuleSourceProperty, typing.Dict[builtins.str, typing.Any]]],
2671
+ ) -> None:
2672
+ """Type checking stubs"""
2673
+ pass
2674
+
2675
+ def _typecheckingstub__8c4d1dff0252b97263e138c77bea2f698277762eeffd4fcf3911e496ac5762e4(
2676
+ *,
2677
+ regions: typing.Sequence[builtins.str],
2678
+ scope: typing.Optional[builtins.str] = None,
2679
+ source_logs_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnOrganizationCentralizationRule.SourceLogsConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2680
+ ) -> None:
2681
+ """Type checking stubs"""
2682
+ pass
2683
+
2684
+ def _typecheckingstub__5dd7a39f2c94fa5f25cdcfc83cd888a8c3b22c09afa009f3ed5de76fd5befe41(
2685
+ *,
2686
+ backup_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnOrganizationCentralizationRule.LogsBackupConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2687
+ logs_encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnOrganizationCentralizationRule.LogsEncryptionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2688
+ ) -> None:
2689
+ """Type checking stubs"""
2690
+ pass
2691
+
2692
+ def _typecheckingstub__35d26acca25f06381fb096b21a6f3791d0ef735549ac7bae5795f4e646184d86(
2693
+ *,
2694
+ region: builtins.str,
2695
+ kms_key_arn: typing.Optional[builtins.str] = None,
2696
+ ) -> None:
2697
+ """Type checking stubs"""
2698
+ pass
2699
+
2700
+ def _typecheckingstub__9d66f88a29d04606b9d6748d2a92fb0d7bf4a500a64fceff8556e1ac2275828e(
2701
+ *,
2702
+ encryption_strategy: builtins.str,
2703
+ encryption_conflict_resolution_strategy: typing.Optional[builtins.str] = None,
2704
+ kms_key_arn: typing.Optional[builtins.str] = None,
2705
+ ) -> None:
2706
+ """Type checking stubs"""
2707
+ pass
2708
+
2709
+ def _typecheckingstub__20a12247cb1287e19ec3a764cc738d756d26c889450a5b771811f8378a2b5d6c(
2710
+ *,
2711
+ encrypted_log_group_strategy: builtins.str,
2712
+ log_group_selection_criteria: builtins.str,
2713
+ ) -> None:
2714
+ """Type checking stubs"""
2715
+ pass
2716
+
1542
2717
  def _typecheckingstub__a67d6a9dd82924a413b7d3435faeb8efa735048df0244b926e672def8c2d5f75(
1543
2718
  scope: _constructs_77d1e7e8.Construct,
1544
2719
  id: builtins.str,
@@ -1679,3 +2854,6 @@ def _typecheckingstub__cb426e63d8ddff6bc9e58865c89c023dbf7b61ef2e21b2f9ff902df9d
1679
2854
  ) -> None:
1680
2855
  """Type checking stubs"""
1681
2856
  pass
2857
+
2858
+ for cls in [IOrganizationCentralizationRuleRef, IOrganizationTelemetryRuleRef, ITelemetryRuleRef]:
2859
+ typing.cast(typing.Any, cls).__protocol_attrs__ = typing.cast(typing.Any, cls).__protocol_attrs__ - set(['__jsii_proxy_class__', '__jsii_type__'])