aws-cdk-lib 2.134.0__py3-none-any.whl → 2.135.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.
Files changed (282) hide show
  1. aws_cdk/__init__.py +5 -0
  2. aws_cdk/_jsii/__init__.py +4 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.134.0.jsii.tgz → aws-cdk-lib@2.135.0.jsii.tgz} +0 -0
  4. aws_cdk/alexa_ask/__init__.py +3 -0
  5. aws_cdk/assertions/__init__.py +3 -0
  6. aws_cdk/aws_accessanalyzer/__init__.py +3 -0
  7. aws_cdk/aws_acmpca/__init__.py +3 -0
  8. aws_cdk/aws_amazonmq/__init__.py +3 -0
  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_apigatewayv2_authorizers/__init__.py +3 -0
  14. aws_cdk/aws_apigatewayv2_integrations/__init__.py +3 -0
  15. aws_cdk/aws_appconfig/__init__.py +3 -0
  16. aws_cdk/aws_appflow/__init__.py +3 -0
  17. aws_cdk/aws_appintegrations/__init__.py +30 -21
  18. aws_cdk/aws_applicationautoscaling/__init__.py +4 -1
  19. aws_cdk/aws_applicationinsights/__init__.py +3 -0
  20. aws_cdk/aws_appmesh/__init__.py +4 -1
  21. aws_cdk/aws_apprunner/__init__.py +3 -0
  22. aws_cdk/aws_appstream/__init__.py +3 -0
  23. aws_cdk/aws_appsync/__init__.py +3 -0
  24. aws_cdk/aws_aps/__init__.py +805 -1
  25. aws_cdk/aws_arczonalshift/__init__.py +3 -0
  26. aws_cdk/aws_athena/__init__.py +3 -0
  27. aws_cdk/aws_auditmanager/__init__.py +3 -0
  28. aws_cdk/aws_autoscaling/__init__.py +3 -0
  29. aws_cdk/aws_autoscaling_common/__init__.py +3 -0
  30. aws_cdk/aws_autoscaling_hooktargets/__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 +3 -0
  34. aws_cdk/aws_backupgateway/__init__.py +3 -0
  35. aws_cdk/aws_batch/__init__.py +3 -0
  36. aws_cdk/aws_bedrock/__init__.py +3 -0
  37. aws_cdk/aws_billingconductor/__init__.py +3 -0
  38. aws_cdk/aws_budgets/__init__.py +3 -0
  39. aws_cdk/aws_cassandra/__init__.py +3 -0
  40. aws_cdk/aws_ce/__init__.py +3 -0
  41. aws_cdk/aws_certificatemanager/__init__.py +3 -0
  42. aws_cdk/aws_chatbot/__init__.py +3 -0
  43. aws_cdk/aws_cleanrooms/__init__.py +183 -6
  44. aws_cdk/aws_cloud9/__init__.py +3 -0
  45. aws_cdk/aws_cloudformation/__init__.py +3 -0
  46. aws_cdk/aws_cloudfront/__init__.py +3 -0
  47. aws_cdk/aws_cloudfront/experimental/__init__.py +3 -0
  48. aws_cdk/aws_cloudfront_origins/__init__.py +3 -0
  49. aws_cdk/aws_cloudtrail/__init__.py +3 -0
  50. aws_cdk/aws_cloudwatch/__init__.py +3 -0
  51. aws_cdk/aws_cloudwatch_actions/__init__.py +3 -0
  52. aws_cdk/aws_codeartifact/__init__.py +3 -0
  53. aws_cdk/aws_codebuild/__init__.py +17 -11
  54. aws_cdk/aws_codecommit/__init__.py +3 -0
  55. aws_cdk/aws_codedeploy/__init__.py +3 -0
  56. aws_cdk/aws_codeguruprofiler/__init__.py +3 -0
  57. aws_cdk/aws_codegurureviewer/__init__.py +3 -0
  58. aws_cdk/aws_codepipeline/__init__.py +3 -0
  59. aws_cdk/aws_codepipeline_actions/__init__.py +3 -0
  60. aws_cdk/aws_codestar/__init__.py +3 -0
  61. aws_cdk/aws_codestarconnections/__init__.py +91 -2
  62. aws_cdk/aws_codestarnotifications/__init__.py +3 -0
  63. aws_cdk/aws_cognito/__init__.py +3 -0
  64. aws_cdk/aws_comprehend/__init__.py +3 -0
  65. aws_cdk/aws_config/__init__.py +3 -0
  66. aws_cdk/aws_connect/__init__.py +21 -0
  67. aws_cdk/aws_connectcampaigns/__init__.py +3 -0
  68. aws_cdk/aws_controltower/__init__.py +3 -0
  69. aws_cdk/aws_cur/__init__.py +3 -0
  70. aws_cdk/aws_customerprofiles/__init__.py +3 -0
  71. aws_cdk/aws_databrew/__init__.py +3 -0
  72. aws_cdk/aws_datapipeline/__init__.py +3 -0
  73. aws_cdk/aws_datasync/__init__.py +3 -0
  74. aws_cdk/aws_datazone/__init__.py +3 -0
  75. aws_cdk/aws_dax/__init__.py +3 -0
  76. aws_cdk/aws_detective/__init__.py +3 -0
  77. aws_cdk/aws_devicefarm/__init__.py +3 -0
  78. aws_cdk/aws_devopsguru/__init__.py +3 -0
  79. aws_cdk/aws_directoryservice/__init__.py +3 -0
  80. aws_cdk/aws_dlm/__init__.py +3 -0
  81. aws_cdk/aws_dms/__init__.py +30 -9
  82. aws_cdk/aws_docdb/__init__.py +3 -0
  83. aws_cdk/aws_docdbelastic/__init__.py +20 -9
  84. aws_cdk/aws_dynamodb/__init__.py +3 -0
  85. aws_cdk/aws_ec2/__init__.py +2891 -265
  86. aws_cdk/aws_ecr/__init__.py +3 -0
  87. aws_cdk/aws_ecr_assets/__init__.py +3 -0
  88. aws_cdk/aws_ecs/__init__.py +6 -0
  89. aws_cdk/aws_ecs_patterns/__init__.py +3 -0
  90. aws_cdk/aws_efs/__init__.py +3 -0
  91. aws_cdk/aws_eks/__init__.py +42 -22
  92. aws_cdk/aws_elasticache/__init__.py +3 -0
  93. aws_cdk/aws_elasticbeanstalk/__init__.py +3 -0
  94. aws_cdk/aws_elasticloadbalancing/__init__.py +3 -0
  95. aws_cdk/aws_elasticloadbalancingv2/__init__.py +72 -12
  96. aws_cdk/aws_elasticloadbalancingv2_actions/__init__.py +3 -0
  97. aws_cdk/aws_elasticloadbalancingv2_targets/__init__.py +3 -0
  98. aws_cdk/aws_elasticsearch/__init__.py +3 -0
  99. aws_cdk/aws_emr/__init__.py +3 -0
  100. aws_cdk/aws_emrcontainers/__init__.py +3 -0
  101. aws_cdk/aws_emrserverless/__init__.py +3 -0
  102. aws_cdk/aws_entityresolution/__init__.py +5 -2
  103. aws_cdk/aws_events/__init__.py +3 -0
  104. aws_cdk/aws_events_targets/__init__.py +3 -0
  105. aws_cdk/aws_eventschemas/__init__.py +3 -0
  106. aws_cdk/aws_evidently/__init__.py +3 -0
  107. aws_cdk/aws_finspace/__init__.py +3 -0
  108. aws_cdk/aws_fis/__init__.py +3 -0
  109. aws_cdk/aws_fms/__init__.py +3 -0
  110. aws_cdk/aws_forecast/__init__.py +3 -0
  111. aws_cdk/aws_frauddetector/__init__.py +3 -0
  112. aws_cdk/aws_fsx/__init__.py +3 -0
  113. aws_cdk/aws_gamelift/__init__.py +3 -0
  114. aws_cdk/aws_globalaccelerator/__init__.py +5 -2
  115. aws_cdk/aws_globalaccelerator_endpoints/__init__.py +3 -0
  116. aws_cdk/aws_glue/__init__.py +18 -8
  117. aws_cdk/aws_grafana/__init__.py +3 -0
  118. aws_cdk/aws_greengrass/__init__.py +3 -0
  119. aws_cdk/aws_greengrassv2/__init__.py +3 -0
  120. aws_cdk/aws_groundstation/__init__.py +3 -0
  121. aws_cdk/aws_guardduty/__init__.py +3 -0
  122. aws_cdk/aws_healthimaging/__init__.py +3 -0
  123. aws_cdk/aws_healthlake/__init__.py +3 -0
  124. aws_cdk/aws_iam/__init__.py +3 -0
  125. aws_cdk/aws_identitystore/__init__.py +3 -0
  126. aws_cdk/aws_imagebuilder/__init__.py +3 -0
  127. aws_cdk/aws_inspector/__init__.py +3 -0
  128. aws_cdk/aws_inspectorv2/__init__.py +3 -0
  129. aws_cdk/aws_internetmonitor/__init__.py +3 -0
  130. aws_cdk/aws_iot/__init__.py +3 -0
  131. aws_cdk/aws_iot1click/__init__.py +3 -0
  132. aws_cdk/aws_iotanalytics/__init__.py +3 -0
  133. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +3 -0
  134. aws_cdk/aws_iotevents/__init__.py +3 -0
  135. aws_cdk/aws_iotfleethub/__init__.py +3 -0
  136. aws_cdk/aws_iotfleetwise/__init__.py +3 -0
  137. aws_cdk/aws_iotsitewise/__init__.py +37 -14
  138. aws_cdk/aws_iotthingsgraph/__init__.py +3 -0
  139. aws_cdk/aws_iottwinmaker/__init__.py +3 -0
  140. aws_cdk/aws_iotwireless/__init__.py +3 -0
  141. aws_cdk/aws_ivs/__init__.py +3 -0
  142. aws_cdk/aws_ivschat/__init__.py +3 -0
  143. aws_cdk/aws_kafkaconnect/__init__.py +30 -27
  144. aws_cdk/aws_kendra/__init__.py +22 -15
  145. aws_cdk/aws_kendraranking/__init__.py +3 -0
  146. aws_cdk/aws_kinesis/__init__.py +3 -0
  147. aws_cdk/aws_kinesisanalytics/__init__.py +3 -0
  148. aws_cdk/aws_kinesisanalyticsv2/__init__.py +3 -0
  149. aws_cdk/aws_kinesisfirehose/__init__.py +11 -4
  150. aws_cdk/aws_kinesisvideo/__init__.py +3 -0
  151. aws_cdk/aws_kms/__init__.py +3 -0
  152. aws_cdk/aws_lakeformation/__init__.py +3 -0
  153. aws_cdk/aws_lambda/__init__.py +9 -0
  154. aws_cdk/aws_lambda_destinations/__init__.py +3 -0
  155. aws_cdk/aws_lambda_event_sources/__init__.py +45 -18
  156. aws_cdk/aws_lambda_nodejs/__init__.py +3 -0
  157. aws_cdk/aws_lex/__init__.py +3 -0
  158. aws_cdk/aws_licensemanager/__init__.py +3 -0
  159. aws_cdk/aws_lightsail/__init__.py +3 -0
  160. aws_cdk/aws_location/__init__.py +3 -0
  161. aws_cdk/aws_logs/__init__.py +3 -0
  162. aws_cdk/aws_logs_destinations/__init__.py +3 -0
  163. aws_cdk/aws_lookoutequipment/__init__.py +3 -0
  164. aws_cdk/aws_lookoutmetrics/__init__.py +3 -0
  165. aws_cdk/aws_lookoutvision/__init__.py +3 -0
  166. aws_cdk/aws_m2/__init__.py +3 -0
  167. aws_cdk/aws_macie/__init__.py +3 -0
  168. aws_cdk/aws_managedblockchain/__init__.py +5 -3
  169. aws_cdk/aws_mediaconnect/__init__.py +3 -0
  170. aws_cdk/aws_mediaconvert/__init__.py +3 -0
  171. aws_cdk/aws_medialive/__init__.py +3 -0
  172. aws_cdk/aws_mediapackage/__init__.py +3 -0
  173. aws_cdk/aws_mediapackagev2/__init__.py +3 -0
  174. aws_cdk/aws_mediastore/__init__.py +3 -0
  175. aws_cdk/aws_mediatailor/__init__.py +3 -0
  176. aws_cdk/aws_memorydb/__init__.py +3 -0
  177. aws_cdk/aws_msk/__init__.py +3 -0
  178. aws_cdk/aws_mwaa/__init__.py +3 -0
  179. aws_cdk/aws_neptune/__init__.py +3 -0
  180. aws_cdk/aws_neptunegraph/__init__.py +3 -0
  181. aws_cdk/aws_networkfirewall/__init__.py +3 -0
  182. aws_cdk/aws_networkmanager/__init__.py +3 -0
  183. aws_cdk/aws_nimblestudio/__init__.py +3 -0
  184. aws_cdk/aws_oam/__init__.py +6 -3
  185. aws_cdk/aws_omics/__init__.py +3 -0
  186. aws_cdk/aws_opensearchserverless/__init__.py +3 -0
  187. aws_cdk/aws_opensearchservice/__init__.py +8 -2
  188. aws_cdk/aws_opsworks/__init__.py +3 -0
  189. aws_cdk/aws_opsworkscm/__init__.py +3 -0
  190. aws_cdk/aws_organizations/__init__.py +3 -0
  191. aws_cdk/aws_osis/__init__.py +3 -0
  192. aws_cdk/aws_panorama/__init__.py +3 -0
  193. aws_cdk/aws_pcaconnectorad/__init__.py +3 -0
  194. aws_cdk/aws_personalize/__init__.py +3 -0
  195. aws_cdk/aws_pinpoint/__init__.py +3 -0
  196. aws_cdk/aws_pinpointemail/__init__.py +3 -0
  197. aws_cdk/aws_pipes/__init__.py +3 -0
  198. aws_cdk/aws_proton/__init__.py +3 -0
  199. aws_cdk/aws_qldb/__init__.py +3 -0
  200. aws_cdk/aws_quicksight/__init__.py +3 -0
  201. aws_cdk/aws_ram/__init__.py +3 -0
  202. aws_cdk/aws_rds/__init__.py +102 -13
  203. aws_cdk/aws_redshift/__init__.py +3 -0
  204. aws_cdk/aws_redshiftserverless/__init__.py +3 -0
  205. aws_cdk/aws_refactorspaces/__init__.py +3 -0
  206. aws_cdk/aws_rekognition/__init__.py +3 -0
  207. aws_cdk/aws_resiliencehub/__init__.py +3 -0
  208. aws_cdk/aws_resourceexplorer2/__init__.py +3 -0
  209. aws_cdk/aws_resourcegroups/__init__.py +3 -0
  210. aws_cdk/aws_robomaker/__init__.py +3 -0
  211. aws_cdk/aws_rolesanywhere/__init__.py +3 -0
  212. aws_cdk/aws_route53/__init__.py +52 -0
  213. aws_cdk/aws_route53_patterns/__init__.py +3 -0
  214. aws_cdk/aws_route53_targets/__init__.py +3 -0
  215. aws_cdk/aws_route53recoverycontrol/__init__.py +3 -0
  216. aws_cdk/aws_route53recoveryreadiness/__init__.py +3 -0
  217. aws_cdk/aws_route53resolver/__init__.py +3 -0
  218. aws_cdk/aws_rum/__init__.py +3 -0
  219. aws_cdk/aws_s3/__init__.py +3 -0
  220. aws_cdk/aws_s3_assets/__init__.py +3 -0
  221. aws_cdk/aws_s3_deployment/__init__.py +3 -0
  222. aws_cdk/aws_s3_notifications/__init__.py +3 -0
  223. aws_cdk/aws_s3express/__init__.py +3 -0
  224. aws_cdk/aws_s3objectlambda/__init__.py +3 -0
  225. aws_cdk/aws_s3outposts/__init__.py +3 -0
  226. aws_cdk/aws_sagemaker/__init__.py +3 -0
  227. aws_cdk/aws_sam/__init__.py +3 -0
  228. aws_cdk/aws_scheduler/__init__.py +3 -0
  229. aws_cdk/aws_sdb/__init__.py +3 -0
  230. aws_cdk/aws_secretsmanager/__init__.py +3 -0
  231. aws_cdk/aws_securityhub/__init__.py +59 -14
  232. aws_cdk/aws_securitylake/__init__.py +859 -0
  233. aws_cdk/aws_servicecatalog/__init__.py +3 -0
  234. aws_cdk/aws_servicecatalogappregistry/__init__.py +3 -0
  235. aws_cdk/aws_servicediscovery/__init__.py +3 -0
  236. aws_cdk/aws_ses/__init__.py +3 -0
  237. aws_cdk/aws_ses_actions/__init__.py +3 -0
  238. aws_cdk/aws_shield/__init__.py +3 -0
  239. aws_cdk/aws_signer/__init__.py +3 -0
  240. aws_cdk/aws_simspaceweaver/__init__.py +3 -0
  241. aws_cdk/aws_sns/__init__.py +48 -13
  242. aws_cdk/aws_sns_subscriptions/__init__.py +3 -0
  243. aws_cdk/aws_sqs/__init__.py +3 -0
  244. aws_cdk/aws_ssm/__init__.py +3 -0
  245. aws_cdk/aws_ssmcontacts/__init__.py +3 -0
  246. aws_cdk/aws_ssmincidents/__init__.py +3 -0
  247. aws_cdk/aws_sso/__init__.py +3 -0
  248. aws_cdk/aws_stepfunctions/__init__.py +3 -0
  249. aws_cdk/aws_stepfunctions_tasks/__init__.py +3 -0
  250. aws_cdk/aws_supportapp/__init__.py +3 -0
  251. aws_cdk/aws_synthetics/__init__.py +3 -0
  252. aws_cdk/aws_systemsmanagersap/__init__.py +3 -0
  253. aws_cdk/aws_timestream/__init__.py +3 -0
  254. aws_cdk/aws_transfer/__init__.py +3 -0
  255. aws_cdk/aws_verifiedpermissions/__init__.py +3 -0
  256. aws_cdk/aws_voiceid/__init__.py +3 -0
  257. aws_cdk/aws_vpclattice/__init__.py +3 -0
  258. aws_cdk/aws_waf/__init__.py +3 -0
  259. aws_cdk/aws_wafregional/__init__.py +3 -0
  260. aws_cdk/aws_wafv2/__init__.py +3 -0
  261. aws_cdk/aws_wisdom/__init__.py +3 -0
  262. aws_cdk/aws_workspaces/__init__.py +3 -0
  263. aws_cdk/aws_workspacesthinclient/__init__.py +3 -0
  264. aws_cdk/aws_workspacesweb/__init__.py +3 -0
  265. aws_cdk/aws_xray/__init__.py +3 -0
  266. aws_cdk/cloud_assembly_schema/__init__.py +3 -0
  267. aws_cdk/cloudformation_include/__init__.py +3 -0
  268. aws_cdk/custom_resources/__init__.py +7 -4
  269. aws_cdk/cx_api/__init__.py +3 -0
  270. aws_cdk/lambda_layer_awscli/__init__.py +3 -0
  271. aws_cdk/lambda_layer_kubectl/__init__.py +3 -0
  272. aws_cdk/lambda_layer_node_proxy_agent/__init__.py +3 -0
  273. aws_cdk/pipelines/__init__.py +3 -0
  274. aws_cdk/region_info/__init__.py +3 -0
  275. aws_cdk/triggers/__init__.py +3 -0
  276. {aws_cdk_lib-2.134.0.dist-info → aws_cdk_lib-2.135.0.dist-info}/METADATA +2 -2
  277. aws_cdk_lib-2.135.0.dist-info/RECORD +282 -0
  278. aws_cdk_lib-2.134.0.dist-info/RECORD +0 -281
  279. {aws_cdk_lib-2.134.0.dist-info → aws_cdk_lib-2.135.0.dist-info}/LICENSE +0 -0
  280. {aws_cdk_lib-2.134.0.dist-info → aws_cdk_lib-2.135.0.dist-info}/NOTICE +0 -0
  281. {aws_cdk_lib-2.134.0.dist-info → aws_cdk_lib-2.135.0.dist-info}/WHEEL +0 -0
  282. {aws_cdk_lib-2.134.0.dist-info → aws_cdk_lib-2.135.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,859 @@
1
+ '''
2
+ # AWS::SecurityLake Construct Library
3
+
4
+ <!--BEGIN STABILITY BANNER-->---
5
+
6
+
7
+ ![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge)
8
+
9
+ > All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use.
10
+
11
+ ---
12
+ <!--END STABILITY BANNER-->
13
+
14
+ This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project.
15
+
16
+ ```python
17
+ import aws_cdk.aws_securitylake as securitylake
18
+ ```
19
+
20
+ <!--BEGIN CFNONLY DISCLAIMER-->
21
+
22
+ There are no official hand-written ([L2](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) constructs for this service yet. Here are some suggestions on how to proceed:
23
+
24
+ * Search [Construct Hub for SecurityLake construct libraries](https://constructs.dev/search?q=securitylake)
25
+ * Use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, in the same way you would use [the CloudFormation AWS::SecurityLake resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_SecurityLake.html) directly.
26
+
27
+ <!--BEGIN CFNONLY DISCLAIMER-->
28
+
29
+ There are no hand-written ([L2](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) constructs for this service yet.
30
+ However, you can still use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, and use this service exactly as you would using CloudFormation directly.
31
+
32
+ For more information on the resources and properties available for this service, see the [CloudFormation documentation for AWS::SecurityLake](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_SecurityLake.html).
33
+
34
+ (Read the [CDK Contributing Guide](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and submit an RFC if you are interested in contributing to this construct library.)
35
+
36
+ <!--END CFNONLY DISCLAIMER-->
37
+ '''
38
+ from pkgutil import extend_path
39
+ __path__ = extend_path(__path__, __name__)
40
+
41
+ import abc
42
+ import builtins
43
+ import datetime
44
+ import enum
45
+ import typing
46
+
47
+ import jsii
48
+ import publication
49
+ import typing_extensions
50
+
51
+ from typeguard import check_type
52
+
53
+ from .._jsii import *
54
+
55
+ import constructs as _constructs_77d1e7e8
56
+ from .. import (
57
+ CfnResource as _CfnResource_9df397a6,
58
+ CfnTag as _CfnTag_f6864754,
59
+ IInspectable as _IInspectable_c2943556,
60
+ IResolvable as _IResolvable_da3f097b,
61
+ ITaggableV2 as _ITaggableV2_4e6798f8,
62
+ TagManager as _TagManager_0a598cb3,
63
+ TreeInspector as _TreeInspector_488e0dd5,
64
+ )
65
+
66
+
67
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
68
+ class CfnDataLake(
69
+ _CfnResource_9df397a6,
70
+ metaclass=jsii.JSIIMeta,
71
+ jsii_type="aws-cdk-lib.aws_securitylake.CfnDataLake",
72
+ ):
73
+ '''Resource Type definition for AWS::SecurityLake::DataLake.
74
+
75
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-datalake.html
76
+ :cloudformationResource: AWS::SecurityLake::DataLake
77
+ :exampleMetadata: fixture=_generated
78
+
79
+ Example::
80
+
81
+ # The code below shows an example of how to instantiate this type.
82
+ # The values are placeholders you should change.
83
+ from aws_cdk import aws_securitylake as securitylake
84
+
85
+ cfn_data_lake = securitylake.CfnDataLake(self, "MyCfnDataLake",
86
+ encryption_configuration=securitylake.CfnDataLake.EncryptionConfigurationProperty(
87
+ kms_key_id="kmsKeyId"
88
+ ),
89
+ lifecycle_configuration=securitylake.CfnDataLake.LifecycleConfigurationProperty(
90
+ expiration=securitylake.CfnDataLake.ExpirationProperty(
91
+ days=123
92
+ ),
93
+ transitions=[securitylake.CfnDataLake.TransitionsProperty(
94
+ days=123,
95
+ storage_class="storageClass"
96
+ )]
97
+ ),
98
+ meta_store_manager_role_arn="metaStoreManagerRoleArn",
99
+ replication_configuration=securitylake.CfnDataLake.ReplicationConfigurationProperty(
100
+ regions=["regions"],
101
+ role_arn="roleArn"
102
+ ),
103
+ tags=[CfnTag(
104
+ key="key",
105
+ value="value"
106
+ )]
107
+ )
108
+ '''
109
+
110
+ def __init__(
111
+ self,
112
+ scope: _constructs_77d1e7e8.Construct,
113
+ id: builtins.str,
114
+ *,
115
+ encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataLake.EncryptionConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
116
+ lifecycle_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataLake.LifecycleConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
117
+ meta_store_manager_role_arn: typing.Optional[builtins.str] = None,
118
+ replication_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataLake.ReplicationConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
119
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
120
+ ) -> None:
121
+ '''
122
+ :param scope: Scope in which this resource is defined.
123
+ :param id: Construct identifier for this resource (unique in its scope).
124
+ :param encryption_configuration: Provides encryption details of Amazon Security Lake object.
125
+ :param lifecycle_configuration: Provides lifecycle details of Amazon Security Lake object.
126
+ :param meta_store_manager_role_arn: The Amazon Resource Name (ARN) used to index AWS Glue table partitions that are generated by the ingestion and normalization of AWS log sources and custom sources.
127
+ :param replication_configuration: Provides replication details of Amazon Security Lake object.
128
+ :param tags:
129
+ '''
130
+ if __debug__:
131
+ type_hints = typing.get_type_hints(_typecheckingstub__ff487a50882ee11f396717fb970b445f3274af88108d1c1d390543dfb1fdf534)
132
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
133
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
134
+ props = CfnDataLakeProps(
135
+ encryption_configuration=encryption_configuration,
136
+ lifecycle_configuration=lifecycle_configuration,
137
+ meta_store_manager_role_arn=meta_store_manager_role_arn,
138
+ replication_configuration=replication_configuration,
139
+ tags=tags,
140
+ )
141
+
142
+ jsii.create(self.__class__, self, [scope, id, props])
143
+
144
+ @jsii.member(jsii_name="inspect")
145
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
146
+ '''Examines the CloudFormation resource and discloses attributes.
147
+
148
+ :param inspector: tree inspector to collect and process attributes.
149
+ '''
150
+ if __debug__:
151
+ type_hints = typing.get_type_hints(_typecheckingstub__0d7a1c25528114b19a22f7fe9e5b4213f46c37e16f22245bc3dc38ad34fc7ef6)
152
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
153
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
154
+
155
+ @jsii.member(jsii_name="renderProperties")
156
+ def _render_properties(
157
+ self,
158
+ props: typing.Mapping[builtins.str, typing.Any],
159
+ ) -> typing.Mapping[builtins.str, typing.Any]:
160
+ '''
161
+ :param props: -
162
+ '''
163
+ if __debug__:
164
+ type_hints = typing.get_type_hints(_typecheckingstub__eb852df583c773c6f5d30c27afae6f598c8606ae40f25dd1885d8fbf5013661b)
165
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
166
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
167
+
168
+ @jsii.python.classproperty
169
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
170
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
171
+ '''The CloudFormation resource type name for this resource class.'''
172
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
173
+
174
+ @builtins.property
175
+ @jsii.member(jsii_name="attrArn")
176
+ def attr_arn(self) -> builtins.str:
177
+ '''The Amazon Resource Name (ARN) created by you to provide to the subscriber.
178
+
179
+ :cloudformationAttribute: Arn
180
+ '''
181
+ return typing.cast(builtins.str, jsii.get(self, "attrArn"))
182
+
183
+ @builtins.property
184
+ @jsii.member(jsii_name="attrS3BucketArn")
185
+ def attr_s3_bucket_arn(self) -> builtins.str:
186
+ '''The ARN for the Amazon Security Lake Amazon S3 bucket.
187
+
188
+ :cloudformationAttribute: S3BucketArn
189
+ '''
190
+ return typing.cast(builtins.str, jsii.get(self, "attrS3BucketArn"))
191
+
192
+ @builtins.property
193
+ @jsii.member(jsii_name="cdkTagManager")
194
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
195
+ '''Tag Manager which manages the tags for this resource.'''
196
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
197
+
198
+ @builtins.property
199
+ @jsii.member(jsii_name="cfnProperties")
200
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
201
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
202
+
203
+ @builtins.property
204
+ @jsii.member(jsii_name="encryptionConfiguration")
205
+ def encryption_configuration(
206
+ self,
207
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataLake.EncryptionConfigurationProperty"]]:
208
+ '''Provides encryption details of Amazon Security Lake object.'''
209
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataLake.EncryptionConfigurationProperty"]], jsii.get(self, "encryptionConfiguration"))
210
+
211
+ @encryption_configuration.setter
212
+ def encryption_configuration(
213
+ self,
214
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataLake.EncryptionConfigurationProperty"]],
215
+ ) -> None:
216
+ if __debug__:
217
+ type_hints = typing.get_type_hints(_typecheckingstub__12edf08ab82b633325fe7034b3424955ea7bff566dfa00928107723a5d0f6a72)
218
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
219
+ jsii.set(self, "encryptionConfiguration", value)
220
+
221
+ @builtins.property
222
+ @jsii.member(jsii_name="lifecycleConfiguration")
223
+ def lifecycle_configuration(
224
+ self,
225
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataLake.LifecycleConfigurationProperty"]]:
226
+ '''Provides lifecycle details of Amazon Security Lake object.'''
227
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataLake.LifecycleConfigurationProperty"]], jsii.get(self, "lifecycleConfiguration"))
228
+
229
+ @lifecycle_configuration.setter
230
+ def lifecycle_configuration(
231
+ self,
232
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataLake.LifecycleConfigurationProperty"]],
233
+ ) -> None:
234
+ if __debug__:
235
+ type_hints = typing.get_type_hints(_typecheckingstub__916659d1bcdf1d6d40de689f3b334b766e1a8fb681a493926742e61ce5ba40b7)
236
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
237
+ jsii.set(self, "lifecycleConfiguration", value)
238
+
239
+ @builtins.property
240
+ @jsii.member(jsii_name="metaStoreManagerRoleArn")
241
+ def meta_store_manager_role_arn(self) -> typing.Optional[builtins.str]:
242
+ '''The Amazon Resource Name (ARN) used to index AWS Glue table partitions that are generated by the ingestion and normalization of AWS log sources and custom sources.'''
243
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "metaStoreManagerRoleArn"))
244
+
245
+ @meta_store_manager_role_arn.setter
246
+ def meta_store_manager_role_arn(self, value: typing.Optional[builtins.str]) -> None:
247
+ if __debug__:
248
+ type_hints = typing.get_type_hints(_typecheckingstub__23cd82335763114e4ff9c52f4ff2b4db4b4be68cc8f5b468e1325fa0e0e79558)
249
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
250
+ jsii.set(self, "metaStoreManagerRoleArn", value)
251
+
252
+ @builtins.property
253
+ @jsii.member(jsii_name="replicationConfiguration")
254
+ def replication_configuration(
255
+ self,
256
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataLake.ReplicationConfigurationProperty"]]:
257
+ '''Provides replication details of Amazon Security Lake object.'''
258
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataLake.ReplicationConfigurationProperty"]], jsii.get(self, "replicationConfiguration"))
259
+
260
+ @replication_configuration.setter
261
+ def replication_configuration(
262
+ self,
263
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataLake.ReplicationConfigurationProperty"]],
264
+ ) -> None:
265
+ if __debug__:
266
+ type_hints = typing.get_type_hints(_typecheckingstub__647257bd68002b29a89b3128d4883d0c748e98d2c70a5b154446993271225230)
267
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
268
+ jsii.set(self, "replicationConfiguration", value)
269
+
270
+ @builtins.property
271
+ @jsii.member(jsii_name="tags")
272
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
273
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
274
+
275
+ @tags.setter
276
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
277
+ if __debug__:
278
+ type_hints = typing.get_type_hints(_typecheckingstub__6654ce3b2fa02feedc8f03797f96ae7270d4bd79ef3c3791b522e8277fa3798c)
279
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
280
+ jsii.set(self, "tags", value)
281
+
282
+ @jsii.data_type(
283
+ jsii_type="aws-cdk-lib.aws_securitylake.CfnDataLake.EncryptionConfigurationProperty",
284
+ jsii_struct_bases=[],
285
+ name_mapping={"kms_key_id": "kmsKeyId"},
286
+ )
287
+ class EncryptionConfigurationProperty:
288
+ def __init__(self, *, kms_key_id: typing.Optional[builtins.str] = None) -> None:
289
+ '''Provides encryption details of Amazon Security Lake object.
290
+
291
+ :param kms_key_id: The id of KMS encryption key used by Amazon Security Lake to encrypt the Security Lake object.
292
+
293
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-datalake-encryptionconfiguration.html
294
+ :exampleMetadata: fixture=_generated
295
+
296
+ Example::
297
+
298
+ # The code below shows an example of how to instantiate this type.
299
+ # The values are placeholders you should change.
300
+ from aws_cdk import aws_securitylake as securitylake
301
+
302
+ encryption_configuration_property = securitylake.CfnDataLake.EncryptionConfigurationProperty(
303
+ kms_key_id="kmsKeyId"
304
+ )
305
+ '''
306
+ if __debug__:
307
+ type_hints = typing.get_type_hints(_typecheckingstub__c697088167e83d968076432c9f71877137655465afc625784270e3ba40d3f57b)
308
+ check_type(argname="argument kms_key_id", value=kms_key_id, expected_type=type_hints["kms_key_id"])
309
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
310
+ if kms_key_id is not None:
311
+ self._values["kms_key_id"] = kms_key_id
312
+
313
+ @builtins.property
314
+ def kms_key_id(self) -> typing.Optional[builtins.str]:
315
+ '''The id of KMS encryption key used by Amazon Security Lake to encrypt the Security Lake object.
316
+
317
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-datalake-encryptionconfiguration.html#cfn-securitylake-datalake-encryptionconfiguration-kmskeyid
318
+ '''
319
+ result = self._values.get("kms_key_id")
320
+ return typing.cast(typing.Optional[builtins.str], result)
321
+
322
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
323
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
324
+
325
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
326
+ return not (rhs == self)
327
+
328
+ def __repr__(self) -> str:
329
+ return "EncryptionConfigurationProperty(%s)" % ", ".join(
330
+ k + "=" + repr(v) for k, v in self._values.items()
331
+ )
332
+
333
+ @jsii.data_type(
334
+ jsii_type="aws-cdk-lib.aws_securitylake.CfnDataLake.ExpirationProperty",
335
+ jsii_struct_bases=[],
336
+ name_mapping={"days": "days"},
337
+ )
338
+ class ExpirationProperty:
339
+ def __init__(self, *, days: typing.Optional[jsii.Number] = None) -> None:
340
+ '''Provides data expiration details of Amazon Security Lake object.
341
+
342
+ :param days: Number of days before data expires in the Amazon Security Lake object.
343
+
344
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-datalake-expiration.html
345
+ :exampleMetadata: fixture=_generated
346
+
347
+ Example::
348
+
349
+ # The code below shows an example of how to instantiate this type.
350
+ # The values are placeholders you should change.
351
+ from aws_cdk import aws_securitylake as securitylake
352
+
353
+ expiration_property = securitylake.CfnDataLake.ExpirationProperty(
354
+ days=123
355
+ )
356
+ '''
357
+ if __debug__:
358
+ type_hints = typing.get_type_hints(_typecheckingstub__676fee3c866c464d5b150fd2a1553faf30ba52129224b9869203f21574e77d9f)
359
+ check_type(argname="argument days", value=days, expected_type=type_hints["days"])
360
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
361
+ if days is not None:
362
+ self._values["days"] = days
363
+
364
+ @builtins.property
365
+ def days(self) -> typing.Optional[jsii.Number]:
366
+ '''Number of days before data expires in the Amazon Security Lake object.
367
+
368
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-datalake-expiration.html#cfn-securitylake-datalake-expiration-days
369
+ '''
370
+ result = self._values.get("days")
371
+ return typing.cast(typing.Optional[jsii.Number], result)
372
+
373
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
374
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
375
+
376
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
377
+ return not (rhs == self)
378
+
379
+ def __repr__(self) -> str:
380
+ return "ExpirationProperty(%s)" % ", ".join(
381
+ k + "=" + repr(v) for k, v in self._values.items()
382
+ )
383
+
384
+ @jsii.data_type(
385
+ jsii_type="aws-cdk-lib.aws_securitylake.CfnDataLake.LifecycleConfigurationProperty",
386
+ jsii_struct_bases=[],
387
+ name_mapping={"expiration": "expiration", "transitions": "transitions"},
388
+ )
389
+ class LifecycleConfigurationProperty:
390
+ def __init__(
391
+ self,
392
+ *,
393
+ expiration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataLake.ExpirationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
394
+ transitions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDataLake.TransitionsProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
395
+ ) -> None:
396
+ '''Provides lifecycle details of Amazon Security Lake object.
397
+
398
+ :param expiration: Provides data expiration details of Amazon Security Lake object.
399
+ :param transitions: Provides data storage transition details of Amazon Security Lake object.
400
+
401
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-datalake-lifecycleconfiguration.html
402
+ :exampleMetadata: fixture=_generated
403
+
404
+ Example::
405
+
406
+ # The code below shows an example of how to instantiate this type.
407
+ # The values are placeholders you should change.
408
+ from aws_cdk import aws_securitylake as securitylake
409
+
410
+ lifecycle_configuration_property = securitylake.CfnDataLake.LifecycleConfigurationProperty(
411
+ expiration=securitylake.CfnDataLake.ExpirationProperty(
412
+ days=123
413
+ ),
414
+ transitions=[securitylake.CfnDataLake.TransitionsProperty(
415
+ days=123,
416
+ storage_class="storageClass"
417
+ )]
418
+ )
419
+ '''
420
+ if __debug__:
421
+ type_hints = typing.get_type_hints(_typecheckingstub__09cd166ed037b2c00b8a44dc0e94832b0851b09edc3ca5e9ac0de67068729149)
422
+ check_type(argname="argument expiration", value=expiration, expected_type=type_hints["expiration"])
423
+ check_type(argname="argument transitions", value=transitions, expected_type=type_hints["transitions"])
424
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
425
+ if expiration is not None:
426
+ self._values["expiration"] = expiration
427
+ if transitions is not None:
428
+ self._values["transitions"] = transitions
429
+
430
+ @builtins.property
431
+ def expiration(
432
+ self,
433
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataLake.ExpirationProperty"]]:
434
+ '''Provides data expiration details of Amazon Security Lake object.
435
+
436
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-datalake-lifecycleconfiguration.html#cfn-securitylake-datalake-lifecycleconfiguration-expiration
437
+ '''
438
+ result = self._values.get("expiration")
439
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataLake.ExpirationProperty"]], result)
440
+
441
+ @builtins.property
442
+ def transitions(
443
+ self,
444
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDataLake.TransitionsProperty"]]]]:
445
+ '''Provides data storage transition details of Amazon Security Lake object.
446
+
447
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-datalake-lifecycleconfiguration.html#cfn-securitylake-datalake-lifecycleconfiguration-transitions
448
+ '''
449
+ result = self._values.get("transitions")
450
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDataLake.TransitionsProperty"]]]], result)
451
+
452
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
453
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
454
+
455
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
456
+ return not (rhs == self)
457
+
458
+ def __repr__(self) -> str:
459
+ return "LifecycleConfigurationProperty(%s)" % ", ".join(
460
+ k + "=" + repr(v) for k, v in self._values.items()
461
+ )
462
+
463
+ @jsii.data_type(
464
+ jsii_type="aws-cdk-lib.aws_securitylake.CfnDataLake.ReplicationConfigurationProperty",
465
+ jsii_struct_bases=[],
466
+ name_mapping={"regions": "regions", "role_arn": "roleArn"},
467
+ )
468
+ class ReplicationConfigurationProperty:
469
+ def __init__(
470
+ self,
471
+ *,
472
+ regions: typing.Optional[typing.Sequence[builtins.str]] = None,
473
+ role_arn: typing.Optional[builtins.str] = None,
474
+ ) -> None:
475
+ '''Provides replication details of Amazon Security Lake object.
476
+
477
+ :param regions: Replication enables automatic, asynchronous copying of objects across Amazon S3 buckets. Amazon S3 buckets that are configured for object replication can be owned by the same AWS account or by different accounts. You can replicate objects to a single destination bucket or to multiple destination buckets. The destination buckets can be in different AWS Regions or within the same Region as the source bucket.
478
+ :param role_arn: Replication settings for the Amazon S3 buckets. This parameter uses the AWS Identity and Access Management (IAM) role you created that is managed by Security Lake, to ensure the replication setting is correct.
479
+
480
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-datalake-replicationconfiguration.html
481
+ :exampleMetadata: fixture=_generated
482
+
483
+ Example::
484
+
485
+ # The code below shows an example of how to instantiate this type.
486
+ # The values are placeholders you should change.
487
+ from aws_cdk import aws_securitylake as securitylake
488
+
489
+ replication_configuration_property = securitylake.CfnDataLake.ReplicationConfigurationProperty(
490
+ regions=["regions"],
491
+ role_arn="roleArn"
492
+ )
493
+ '''
494
+ if __debug__:
495
+ type_hints = typing.get_type_hints(_typecheckingstub__f5e309ce471c0b5b94d10c5cf8d75ece96a70a7112aa8396372449cae02d7005)
496
+ check_type(argname="argument regions", value=regions, expected_type=type_hints["regions"])
497
+ check_type(argname="argument role_arn", value=role_arn, expected_type=type_hints["role_arn"])
498
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
499
+ if regions is not None:
500
+ self._values["regions"] = regions
501
+ if role_arn is not None:
502
+ self._values["role_arn"] = role_arn
503
+
504
+ @builtins.property
505
+ def regions(self) -> typing.Optional[typing.List[builtins.str]]:
506
+ '''Replication enables automatic, asynchronous copying of objects across Amazon S3 buckets.
507
+
508
+ Amazon S3 buckets that are configured for object replication can be owned by the same AWS account or by different accounts. You can replicate objects to a single destination bucket or to multiple destination buckets. The destination buckets can be in different AWS Regions or within the same Region as the source bucket.
509
+
510
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-datalake-replicationconfiguration.html#cfn-securitylake-datalake-replicationconfiguration-regions
511
+ '''
512
+ result = self._values.get("regions")
513
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
514
+
515
+ @builtins.property
516
+ def role_arn(self) -> typing.Optional[builtins.str]:
517
+ '''Replication settings for the Amazon S3 buckets.
518
+
519
+ This parameter uses the AWS Identity and Access Management (IAM) role you created that is managed by Security Lake, to ensure the replication setting is correct.
520
+
521
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-datalake-replicationconfiguration.html#cfn-securitylake-datalake-replicationconfiguration-rolearn
522
+ '''
523
+ result = self._values.get("role_arn")
524
+ return typing.cast(typing.Optional[builtins.str], result)
525
+
526
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
527
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
528
+
529
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
530
+ return not (rhs == self)
531
+
532
+ def __repr__(self) -> str:
533
+ return "ReplicationConfigurationProperty(%s)" % ", ".join(
534
+ k + "=" + repr(v) for k, v in self._values.items()
535
+ )
536
+
537
+ @jsii.data_type(
538
+ jsii_type="aws-cdk-lib.aws_securitylake.CfnDataLake.TransitionsProperty",
539
+ jsii_struct_bases=[],
540
+ name_mapping={"days": "days", "storage_class": "storageClass"},
541
+ )
542
+ class TransitionsProperty:
543
+ def __init__(
544
+ self,
545
+ *,
546
+ days: typing.Optional[jsii.Number] = None,
547
+ storage_class: typing.Optional[builtins.str] = None,
548
+ ) -> None:
549
+ '''
550
+ :param days: Number of days before data transitions to a different S3 Storage Class in the Amazon Security Lake object.
551
+ :param storage_class: The range of storage classes that you can choose from based on the data access, resiliency, and cost requirements of your workloads.
552
+
553
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-datalake-transitions.html
554
+ :exampleMetadata: fixture=_generated
555
+
556
+ Example::
557
+
558
+ # The code below shows an example of how to instantiate this type.
559
+ # The values are placeholders you should change.
560
+ from aws_cdk import aws_securitylake as securitylake
561
+
562
+ transitions_property = securitylake.CfnDataLake.TransitionsProperty(
563
+ days=123,
564
+ storage_class="storageClass"
565
+ )
566
+ '''
567
+ if __debug__:
568
+ type_hints = typing.get_type_hints(_typecheckingstub__aaac67133f980ed118f75aa7447b8e2c8f6a4e8d8fce97491e407d04b2924302)
569
+ check_type(argname="argument days", value=days, expected_type=type_hints["days"])
570
+ check_type(argname="argument storage_class", value=storage_class, expected_type=type_hints["storage_class"])
571
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
572
+ if days is not None:
573
+ self._values["days"] = days
574
+ if storage_class is not None:
575
+ self._values["storage_class"] = storage_class
576
+
577
+ @builtins.property
578
+ def days(self) -> typing.Optional[jsii.Number]:
579
+ '''Number of days before data transitions to a different S3 Storage Class in the Amazon Security Lake object.
580
+
581
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-datalake-transitions.html#cfn-securitylake-datalake-transitions-days
582
+ '''
583
+ result = self._values.get("days")
584
+ return typing.cast(typing.Optional[jsii.Number], result)
585
+
586
+ @builtins.property
587
+ def storage_class(self) -> typing.Optional[builtins.str]:
588
+ '''The range of storage classes that you can choose from based on the data access, resiliency, and cost requirements of your workloads.
589
+
590
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-datalake-transitions.html#cfn-securitylake-datalake-transitions-storageclass
591
+ '''
592
+ result = self._values.get("storage_class")
593
+ return typing.cast(typing.Optional[builtins.str], result)
594
+
595
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
596
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
597
+
598
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
599
+ return not (rhs == self)
600
+
601
+ def __repr__(self) -> str:
602
+ return "TransitionsProperty(%s)" % ", ".join(
603
+ k + "=" + repr(v) for k, v in self._values.items()
604
+ )
605
+
606
+
607
+ @jsii.data_type(
608
+ jsii_type="aws-cdk-lib.aws_securitylake.CfnDataLakeProps",
609
+ jsii_struct_bases=[],
610
+ name_mapping={
611
+ "encryption_configuration": "encryptionConfiguration",
612
+ "lifecycle_configuration": "lifecycleConfiguration",
613
+ "meta_store_manager_role_arn": "metaStoreManagerRoleArn",
614
+ "replication_configuration": "replicationConfiguration",
615
+ "tags": "tags",
616
+ },
617
+ )
618
+ class CfnDataLakeProps:
619
+ def __init__(
620
+ self,
621
+ *,
622
+ encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataLake.EncryptionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
623
+ lifecycle_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataLake.LifecycleConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
624
+ meta_store_manager_role_arn: typing.Optional[builtins.str] = None,
625
+ replication_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataLake.ReplicationConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
626
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
627
+ ) -> None:
628
+ '''Properties for defining a ``CfnDataLake``.
629
+
630
+ :param encryption_configuration: Provides encryption details of Amazon Security Lake object.
631
+ :param lifecycle_configuration: Provides lifecycle details of Amazon Security Lake object.
632
+ :param meta_store_manager_role_arn: The Amazon Resource Name (ARN) used to index AWS Glue table partitions that are generated by the ingestion and normalization of AWS log sources and custom sources.
633
+ :param replication_configuration: Provides replication details of Amazon Security Lake object.
634
+ :param tags:
635
+
636
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-datalake.html
637
+ :exampleMetadata: fixture=_generated
638
+
639
+ Example::
640
+
641
+ # The code below shows an example of how to instantiate this type.
642
+ # The values are placeholders you should change.
643
+ from aws_cdk import aws_securitylake as securitylake
644
+
645
+ cfn_data_lake_props = securitylake.CfnDataLakeProps(
646
+ encryption_configuration=securitylake.CfnDataLake.EncryptionConfigurationProperty(
647
+ kms_key_id="kmsKeyId"
648
+ ),
649
+ lifecycle_configuration=securitylake.CfnDataLake.LifecycleConfigurationProperty(
650
+ expiration=securitylake.CfnDataLake.ExpirationProperty(
651
+ days=123
652
+ ),
653
+ transitions=[securitylake.CfnDataLake.TransitionsProperty(
654
+ days=123,
655
+ storage_class="storageClass"
656
+ )]
657
+ ),
658
+ meta_store_manager_role_arn="metaStoreManagerRoleArn",
659
+ replication_configuration=securitylake.CfnDataLake.ReplicationConfigurationProperty(
660
+ regions=["regions"],
661
+ role_arn="roleArn"
662
+ ),
663
+ tags=[CfnTag(
664
+ key="key",
665
+ value="value"
666
+ )]
667
+ )
668
+ '''
669
+ if __debug__:
670
+ type_hints = typing.get_type_hints(_typecheckingstub__f98044af937b493e98dc654fc28cbeccbd1ee2f339cd00c1cc59056847b8fb37)
671
+ check_type(argname="argument encryption_configuration", value=encryption_configuration, expected_type=type_hints["encryption_configuration"])
672
+ check_type(argname="argument lifecycle_configuration", value=lifecycle_configuration, expected_type=type_hints["lifecycle_configuration"])
673
+ check_type(argname="argument meta_store_manager_role_arn", value=meta_store_manager_role_arn, expected_type=type_hints["meta_store_manager_role_arn"])
674
+ check_type(argname="argument replication_configuration", value=replication_configuration, expected_type=type_hints["replication_configuration"])
675
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
676
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
677
+ if encryption_configuration is not None:
678
+ self._values["encryption_configuration"] = encryption_configuration
679
+ if lifecycle_configuration is not None:
680
+ self._values["lifecycle_configuration"] = lifecycle_configuration
681
+ if meta_store_manager_role_arn is not None:
682
+ self._values["meta_store_manager_role_arn"] = meta_store_manager_role_arn
683
+ if replication_configuration is not None:
684
+ self._values["replication_configuration"] = replication_configuration
685
+ if tags is not None:
686
+ self._values["tags"] = tags
687
+
688
+ @builtins.property
689
+ def encryption_configuration(
690
+ self,
691
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDataLake.EncryptionConfigurationProperty]]:
692
+ '''Provides encryption details of Amazon Security Lake object.
693
+
694
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-datalake.html#cfn-securitylake-datalake-encryptionconfiguration
695
+ '''
696
+ result = self._values.get("encryption_configuration")
697
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDataLake.EncryptionConfigurationProperty]], result)
698
+
699
+ @builtins.property
700
+ def lifecycle_configuration(
701
+ self,
702
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDataLake.LifecycleConfigurationProperty]]:
703
+ '''Provides lifecycle details of Amazon Security Lake object.
704
+
705
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-datalake.html#cfn-securitylake-datalake-lifecycleconfiguration
706
+ '''
707
+ result = self._values.get("lifecycle_configuration")
708
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDataLake.LifecycleConfigurationProperty]], result)
709
+
710
+ @builtins.property
711
+ def meta_store_manager_role_arn(self) -> typing.Optional[builtins.str]:
712
+ '''The Amazon Resource Name (ARN) used to index AWS Glue table partitions that are generated by the ingestion and normalization of AWS log sources and custom sources.
713
+
714
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-datalake.html#cfn-securitylake-datalake-metastoremanagerrolearn
715
+ '''
716
+ result = self._values.get("meta_store_manager_role_arn")
717
+ return typing.cast(typing.Optional[builtins.str], result)
718
+
719
+ @builtins.property
720
+ def replication_configuration(
721
+ self,
722
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDataLake.ReplicationConfigurationProperty]]:
723
+ '''Provides replication details of Amazon Security Lake object.
724
+
725
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-datalake.html#cfn-securitylake-datalake-replicationconfiguration
726
+ '''
727
+ result = self._values.get("replication_configuration")
728
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDataLake.ReplicationConfigurationProperty]], result)
729
+
730
+ @builtins.property
731
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
732
+ '''
733
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-datalake.html#cfn-securitylake-datalake-tags
734
+ '''
735
+ result = self._values.get("tags")
736
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
737
+
738
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
739
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
740
+
741
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
742
+ return not (rhs == self)
743
+
744
+ def __repr__(self) -> str:
745
+ return "CfnDataLakeProps(%s)" % ", ".join(
746
+ k + "=" + repr(v) for k, v in self._values.items()
747
+ )
748
+
749
+
750
+ __all__ = [
751
+ "CfnDataLake",
752
+ "CfnDataLakeProps",
753
+ ]
754
+
755
+ publication.publish()
756
+
757
+ def _typecheckingstub__ff487a50882ee11f396717fb970b445f3274af88108d1c1d390543dfb1fdf534(
758
+ scope: _constructs_77d1e7e8.Construct,
759
+ id: builtins.str,
760
+ *,
761
+ encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataLake.EncryptionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
762
+ lifecycle_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataLake.LifecycleConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
763
+ meta_store_manager_role_arn: typing.Optional[builtins.str] = None,
764
+ replication_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataLake.ReplicationConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
765
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
766
+ ) -> None:
767
+ """Type checking stubs"""
768
+ pass
769
+
770
+ def _typecheckingstub__0d7a1c25528114b19a22f7fe9e5b4213f46c37e16f22245bc3dc38ad34fc7ef6(
771
+ inspector: _TreeInspector_488e0dd5,
772
+ ) -> None:
773
+ """Type checking stubs"""
774
+ pass
775
+
776
+ def _typecheckingstub__eb852df583c773c6f5d30c27afae6f598c8606ae40f25dd1885d8fbf5013661b(
777
+ props: typing.Mapping[builtins.str, typing.Any],
778
+ ) -> None:
779
+ """Type checking stubs"""
780
+ pass
781
+
782
+ def _typecheckingstub__12edf08ab82b633325fe7034b3424955ea7bff566dfa00928107723a5d0f6a72(
783
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDataLake.EncryptionConfigurationProperty]],
784
+ ) -> None:
785
+ """Type checking stubs"""
786
+ pass
787
+
788
+ def _typecheckingstub__916659d1bcdf1d6d40de689f3b334b766e1a8fb681a493926742e61ce5ba40b7(
789
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDataLake.LifecycleConfigurationProperty]],
790
+ ) -> None:
791
+ """Type checking stubs"""
792
+ pass
793
+
794
+ def _typecheckingstub__23cd82335763114e4ff9c52f4ff2b4db4b4be68cc8f5b468e1325fa0e0e79558(
795
+ value: typing.Optional[builtins.str],
796
+ ) -> None:
797
+ """Type checking stubs"""
798
+ pass
799
+
800
+ def _typecheckingstub__647257bd68002b29a89b3128d4883d0c748e98d2c70a5b154446993271225230(
801
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDataLake.ReplicationConfigurationProperty]],
802
+ ) -> None:
803
+ """Type checking stubs"""
804
+ pass
805
+
806
+ def _typecheckingstub__6654ce3b2fa02feedc8f03797f96ae7270d4bd79ef3c3791b522e8277fa3798c(
807
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
808
+ ) -> None:
809
+ """Type checking stubs"""
810
+ pass
811
+
812
+ def _typecheckingstub__c697088167e83d968076432c9f71877137655465afc625784270e3ba40d3f57b(
813
+ *,
814
+ kms_key_id: typing.Optional[builtins.str] = None,
815
+ ) -> None:
816
+ """Type checking stubs"""
817
+ pass
818
+
819
+ def _typecheckingstub__676fee3c866c464d5b150fd2a1553faf30ba52129224b9869203f21574e77d9f(
820
+ *,
821
+ days: typing.Optional[jsii.Number] = None,
822
+ ) -> None:
823
+ """Type checking stubs"""
824
+ pass
825
+
826
+ def _typecheckingstub__09cd166ed037b2c00b8a44dc0e94832b0851b09edc3ca5e9ac0de67068729149(
827
+ *,
828
+ expiration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataLake.ExpirationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
829
+ transitions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataLake.TransitionsProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
830
+ ) -> None:
831
+ """Type checking stubs"""
832
+ pass
833
+
834
+ def _typecheckingstub__f5e309ce471c0b5b94d10c5cf8d75ece96a70a7112aa8396372449cae02d7005(
835
+ *,
836
+ regions: typing.Optional[typing.Sequence[builtins.str]] = None,
837
+ role_arn: typing.Optional[builtins.str] = None,
838
+ ) -> None:
839
+ """Type checking stubs"""
840
+ pass
841
+
842
+ def _typecheckingstub__aaac67133f980ed118f75aa7447b8e2c8f6a4e8d8fce97491e407d04b2924302(
843
+ *,
844
+ days: typing.Optional[jsii.Number] = None,
845
+ storage_class: typing.Optional[builtins.str] = None,
846
+ ) -> None:
847
+ """Type checking stubs"""
848
+ pass
849
+
850
+ def _typecheckingstub__f98044af937b493e98dc654fc28cbeccbd1ee2f339cd00c1cc59056847b8fb37(
851
+ *,
852
+ encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataLake.EncryptionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
853
+ lifecycle_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataLake.LifecycleConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
854
+ meta_store_manager_role_arn: typing.Optional[builtins.str] = None,
855
+ replication_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataLake.ReplicationConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
856
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
857
+ ) -> None:
858
+ """Type checking stubs"""
859
+ pass