aws-cdk-lib 2.137.0__py3-none-any.whl → 2.139.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 (73) hide show
  1. aws_cdk/__init__.py +8 -0
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.137.0.jsii.tgz → aws-cdk-lib@2.139.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amplify/__init__.py +29 -113
  5. aws_cdk/aws_apigateway/__init__.py +29 -16
  6. aws_cdk/aws_appconfig/__init__.py +315 -77
  7. aws_cdk/aws_appintegrations/__init__.py +55 -6
  8. aws_cdk/aws_apprunner/__init__.py +5 -2
  9. aws_cdk/aws_appsync/__init__.py +400 -13
  10. aws_cdk/aws_aps/__init__.py +64 -47
  11. aws_cdk/aws_autoscaling/__init__.py +62 -60
  12. aws_cdk/aws_b2bi/__init__.py +2 -6
  13. aws_cdk/aws_backup/__init__.py +53 -57
  14. aws_cdk/aws_batch/__init__.py +109 -0
  15. aws_cdk/aws_bcmdataexports/__init__.py +1114 -0
  16. aws_cdk/aws_bedrock/__init__.py +4144 -0
  17. aws_cdk/aws_chatbot/__init__.py +6 -4
  18. aws_cdk/aws_cleanrooms/__init__.py +526 -3
  19. aws_cdk/aws_cleanroomsml/__init__.py +960 -0
  20. aws_cdk/aws_cloudtrail/__init__.py +10 -10
  21. aws_cdk/aws_cloudwatch/__init__.py +244 -8
  22. aws_cdk/aws_codebuild/__init__.py +27 -22
  23. aws_cdk/aws_codeconnections/__init__.py +435 -0
  24. aws_cdk/aws_cognito/__init__.py +175 -79
  25. aws_cdk/aws_datazone/__init__.py +22 -0
  26. aws_cdk/aws_deadline/__init__.py +5394 -0
  27. aws_cdk/aws_dms/__init__.py +2 -4
  28. aws_cdk/aws_ec2/__init__.py +402 -247
  29. aws_cdk/aws_ecr/__init__.py +630 -0
  30. aws_cdk/aws_ecs/__init__.py +361 -20
  31. aws_cdk/aws_efs/__init__.py +594 -2
  32. aws_cdk/aws_elasticache/__init__.py +86 -32
  33. aws_cdk/aws_elasticloadbalancingv2/__init__.py +75 -10
  34. aws_cdk/aws_emr/__init__.py +2 -2
  35. aws_cdk/aws_entityresolution/__init__.py +1982 -773
  36. aws_cdk/aws_events_targets/__init__.py +17 -4
  37. aws_cdk/aws_globalaccelerator/__init__.py +443 -0
  38. aws_cdk/aws_iam/__init__.py +1 -2
  39. aws_cdk/aws_internetmonitor/__init__.py +14 -6
  40. aws_cdk/aws_ivs/__init__.py +1273 -71
  41. aws_cdk/aws_kms/__init__.py +44 -0
  42. aws_cdk/aws_lambda/__init__.py +9 -0
  43. aws_cdk/aws_mediatailor/__init__.py +41 -0
  44. aws_cdk/aws_oam/__init__.py +204 -0
  45. aws_cdk/aws_personalize/__init__.py +8 -6
  46. aws_cdk/aws_pinpoint/__init__.py +5 -3
  47. aws_cdk/aws_pipes/__init__.py +5 -1
  48. aws_cdk/aws_quicksight/__init__.py +12 -6
  49. aws_cdk/aws_rds/__init__.py +370 -96
  50. aws_cdk/aws_redshiftserverless/__init__.py +157 -0
  51. aws_cdk/aws_route53/__init__.py +587 -14
  52. aws_cdk/aws_sagemaker/__init__.py +233 -2
  53. aws_cdk/aws_securityhub/__init__.py +4940 -102
  54. aws_cdk/aws_securitylake/__init__.py +1326 -89
  55. aws_cdk/aws_ses_actions/__init__.py +155 -0
  56. aws_cdk/aws_sns/__init__.py +61 -4
  57. aws_cdk/aws_ssm/__init__.py +5 -2
  58. aws_cdk/aws_ssmcontacts/__init__.py +11 -4
  59. aws_cdk/aws_stepfunctions/__init__.py +8 -16
  60. aws_cdk/aws_stepfunctions_tasks/__init__.py +676 -1
  61. aws_cdk/aws_timestream/__init__.py +1045 -0
  62. aws_cdk/aws_transfer/__init__.py +19 -10
  63. aws_cdk/aws_verifiedpermissions/__init__.py +114 -37
  64. aws_cdk/aws_wisdom/__init__.py +2 -2
  65. aws_cdk/aws_workspacesthinclient/__init__.py +8 -8
  66. aws_cdk/custom_resources/__init__.py +688 -26
  67. aws_cdk/cx_api/__init__.py +17 -0
  68. {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/METADATA +3 -3
  69. {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/RECORD +73 -69
  70. {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/LICENSE +0 -0
  71. {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/NOTICE +0 -0
  72. {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/WHEEL +0 -0
  73. {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/top_level.txt +0 -0
@@ -64,13 +64,282 @@ from .. import (
64
64
  )
65
65
 
66
66
 
67
+ @jsii.implements(_IInspectable_c2943556)
68
+ class CfnAwsLogSource(
69
+ _CfnResource_9df397a6,
70
+ metaclass=jsii.JSIIMeta,
71
+ jsii_type="aws-cdk-lib.aws_securitylake.CfnAwsLogSource",
72
+ ):
73
+ '''Adds a natively supported AWS service as an AWS source.
74
+
75
+ Enables source types for member accounts in required AWS Regions, based on the parameters you specify. You can choose any source type in any Region for either accounts that are part of a trusted organization or standalone accounts. Once you add an AWS service as a source, Security Lake starts collecting logs and events from it.
76
+ .. epigraph::
77
+
78
+ If you want to create multiple sources using ``AWS::SecurityLake::AwsLogSource`` , you must use the ``DependsOn`` attribute to create the sources sequentially. With the ``DependsOn`` attribute you can specify that the creation of a specific ``AWSLogSource`` follows another. When you add a ``DependsOn`` attribute to a resource, that resource is created only after the creation of the resource specified in the ``DependsOn`` attribute. For an example, see `Add AWS log sources <https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-awslogsource.html#aws-resource-securitylake-awslogsource--examples>`_ .
79
+
80
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-awslogsource.html
81
+ :cloudformationResource: AWS::SecurityLake::AwsLogSource
82
+ :exampleMetadata: fixture=_generated
83
+
84
+ Example::
85
+
86
+ # The code below shows an example of how to instantiate this type.
87
+ # The values are placeholders you should change.
88
+ from aws_cdk import aws_securitylake as securitylake
89
+
90
+ cfn_aws_log_source = securitylake.CfnAwsLogSource(self, "MyCfnAwsLogSource",
91
+ data_lake_arn="dataLakeArn",
92
+ source_name="sourceName",
93
+ source_version="sourceVersion",
94
+
95
+ # the properties below are optional
96
+ accounts=["accounts"]
97
+ )
98
+ '''
99
+
100
+ def __init__(
101
+ self,
102
+ scope: _constructs_77d1e7e8.Construct,
103
+ id: builtins.str,
104
+ *,
105
+ data_lake_arn: builtins.str,
106
+ source_name: builtins.str,
107
+ source_version: builtins.str,
108
+ accounts: typing.Optional[typing.Sequence[builtins.str]] = None,
109
+ ) -> None:
110
+ '''
111
+ :param scope: Scope in which this resource is defined.
112
+ :param id: Construct identifier for this resource (unique in its scope).
113
+ :param data_lake_arn: The Amazon Resource Name (ARN) used to create the data lake.
114
+ :param source_name: The name for a AWS source. This must be a Regionally unique value. For the list of sources supported by Amazon Security Lake see `Collecting data from AWS services <https://docs.aws.amazon.com//security-lake/latest/userguide/internal-sources.html>`_ in the Amazon Security Lake User Guide.
115
+ :param source_version: The version for a AWS source. For more details about source versions supported by Amazon Security Lake see `OCSF source identification <https://docs.aws.amazon.com//security-lake/latest/userguide/open-cybersecurity-schema-framework.html#ocsf-source-identification>`_ in the Amazon Security Lake User Guide. This must be a Regionally unique value.
116
+ :param accounts: Specify the AWS account information where you want to enable Security Lake.
117
+ '''
118
+ if __debug__:
119
+ type_hints = typing.get_type_hints(_typecheckingstub__c67fc1d68d61ef9dead7d443499c1a142da192386efc06474b3758994937de6b)
120
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
121
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
122
+ props = CfnAwsLogSourceProps(
123
+ data_lake_arn=data_lake_arn,
124
+ source_name=source_name,
125
+ source_version=source_version,
126
+ accounts=accounts,
127
+ )
128
+
129
+ jsii.create(self.__class__, self, [scope, id, props])
130
+
131
+ @jsii.member(jsii_name="inspect")
132
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
133
+ '''Examines the CloudFormation resource and discloses attributes.
134
+
135
+ :param inspector: tree inspector to collect and process attributes.
136
+ '''
137
+ if __debug__:
138
+ type_hints = typing.get_type_hints(_typecheckingstub__2f493097d98865e82cabeeb80dd31577169140709170903a313d3bc579da5bcb)
139
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
140
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
141
+
142
+ @jsii.member(jsii_name="renderProperties")
143
+ def _render_properties(
144
+ self,
145
+ props: typing.Mapping[builtins.str, typing.Any],
146
+ ) -> typing.Mapping[builtins.str, typing.Any]:
147
+ '''
148
+ :param props: -
149
+ '''
150
+ if __debug__:
151
+ type_hints = typing.get_type_hints(_typecheckingstub__d4b08275c623e99b1c0cca9f7d97a78cf719804d590ae90e5af151255c42753a)
152
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
153
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
154
+
155
+ @jsii.python.classproperty
156
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
157
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
158
+ '''The CloudFormation resource type name for this resource class.'''
159
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
160
+
161
+ @builtins.property
162
+ @jsii.member(jsii_name="cfnProperties")
163
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
164
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
165
+
166
+ @builtins.property
167
+ @jsii.member(jsii_name="dataLakeArn")
168
+ def data_lake_arn(self) -> builtins.str:
169
+ '''The Amazon Resource Name (ARN) used to create the data lake.'''
170
+ return typing.cast(builtins.str, jsii.get(self, "dataLakeArn"))
171
+
172
+ @data_lake_arn.setter
173
+ def data_lake_arn(self, value: builtins.str) -> None:
174
+ if __debug__:
175
+ type_hints = typing.get_type_hints(_typecheckingstub__ed09f296c9b906f7011ea796fce3b42122e1c0490eb544e941f5953a5b0f8403)
176
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
177
+ jsii.set(self, "dataLakeArn", value)
178
+
179
+ @builtins.property
180
+ @jsii.member(jsii_name="sourceName")
181
+ def source_name(self) -> builtins.str:
182
+ '''The name for a AWS source.'''
183
+ return typing.cast(builtins.str, jsii.get(self, "sourceName"))
184
+
185
+ @source_name.setter
186
+ def source_name(self, value: builtins.str) -> None:
187
+ if __debug__:
188
+ type_hints = typing.get_type_hints(_typecheckingstub__786699bc5ed670115ad16fc2d5cab658ddb4c20d9afccc0010adb67c796143ba)
189
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
190
+ jsii.set(self, "sourceName", value)
191
+
192
+ @builtins.property
193
+ @jsii.member(jsii_name="sourceVersion")
194
+ def source_version(self) -> builtins.str:
195
+ '''The version for a AWS source.'''
196
+ return typing.cast(builtins.str, jsii.get(self, "sourceVersion"))
197
+
198
+ @source_version.setter
199
+ def source_version(self, value: builtins.str) -> None:
200
+ if __debug__:
201
+ type_hints = typing.get_type_hints(_typecheckingstub__2369f0ca541c99625731d8a7db77fa2a9f1346eab63190644c2695d471ddda46)
202
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
203
+ jsii.set(self, "sourceVersion", value)
204
+
205
+ @builtins.property
206
+ @jsii.member(jsii_name="accounts")
207
+ def accounts(self) -> typing.Optional[typing.List[builtins.str]]:
208
+ '''Specify the AWS account information where you want to enable Security Lake.'''
209
+ return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "accounts"))
210
+
211
+ @accounts.setter
212
+ def accounts(self, value: typing.Optional[typing.List[builtins.str]]) -> None:
213
+ if __debug__:
214
+ type_hints = typing.get_type_hints(_typecheckingstub__a1f564a49d096390f47538b02cc909d2927202e7d6b998b761aaf21810dcf11c)
215
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
216
+ jsii.set(self, "accounts", value)
217
+
218
+
219
+ @jsii.data_type(
220
+ jsii_type="aws-cdk-lib.aws_securitylake.CfnAwsLogSourceProps",
221
+ jsii_struct_bases=[],
222
+ name_mapping={
223
+ "data_lake_arn": "dataLakeArn",
224
+ "source_name": "sourceName",
225
+ "source_version": "sourceVersion",
226
+ "accounts": "accounts",
227
+ },
228
+ )
229
+ class CfnAwsLogSourceProps:
230
+ def __init__(
231
+ self,
232
+ *,
233
+ data_lake_arn: builtins.str,
234
+ source_name: builtins.str,
235
+ source_version: builtins.str,
236
+ accounts: typing.Optional[typing.Sequence[builtins.str]] = None,
237
+ ) -> None:
238
+ '''Properties for defining a ``CfnAwsLogSource``.
239
+
240
+ :param data_lake_arn: The Amazon Resource Name (ARN) used to create the data lake.
241
+ :param source_name: The name for a AWS source. This must be a Regionally unique value. For the list of sources supported by Amazon Security Lake see `Collecting data from AWS services <https://docs.aws.amazon.com//security-lake/latest/userguide/internal-sources.html>`_ in the Amazon Security Lake User Guide.
242
+ :param source_version: The version for a AWS source. For more details about source versions supported by Amazon Security Lake see `OCSF source identification <https://docs.aws.amazon.com//security-lake/latest/userguide/open-cybersecurity-schema-framework.html#ocsf-source-identification>`_ in the Amazon Security Lake User Guide. This must be a Regionally unique value.
243
+ :param accounts: Specify the AWS account information where you want to enable Security Lake.
244
+
245
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-awslogsource.html
246
+ :exampleMetadata: fixture=_generated
247
+
248
+ Example::
249
+
250
+ # The code below shows an example of how to instantiate this type.
251
+ # The values are placeholders you should change.
252
+ from aws_cdk import aws_securitylake as securitylake
253
+
254
+ cfn_aws_log_source_props = securitylake.CfnAwsLogSourceProps(
255
+ data_lake_arn="dataLakeArn",
256
+ source_name="sourceName",
257
+ source_version="sourceVersion",
258
+
259
+ # the properties below are optional
260
+ accounts=["accounts"]
261
+ )
262
+ '''
263
+ if __debug__:
264
+ type_hints = typing.get_type_hints(_typecheckingstub__56ae11383caeefb7587043503a4fd999d42e30184765bd5e736dcae60c5b3b94)
265
+ check_type(argname="argument data_lake_arn", value=data_lake_arn, expected_type=type_hints["data_lake_arn"])
266
+ check_type(argname="argument source_name", value=source_name, expected_type=type_hints["source_name"])
267
+ check_type(argname="argument source_version", value=source_version, expected_type=type_hints["source_version"])
268
+ check_type(argname="argument accounts", value=accounts, expected_type=type_hints["accounts"])
269
+ self._values: typing.Dict[builtins.str, typing.Any] = {
270
+ "data_lake_arn": data_lake_arn,
271
+ "source_name": source_name,
272
+ "source_version": source_version,
273
+ }
274
+ if accounts is not None:
275
+ self._values["accounts"] = accounts
276
+
277
+ @builtins.property
278
+ def data_lake_arn(self) -> builtins.str:
279
+ '''The Amazon Resource Name (ARN) used to create the data lake.
280
+
281
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-awslogsource.html#cfn-securitylake-awslogsource-datalakearn
282
+ '''
283
+ result = self._values.get("data_lake_arn")
284
+ assert result is not None, "Required property 'data_lake_arn' is missing"
285
+ return typing.cast(builtins.str, result)
286
+
287
+ @builtins.property
288
+ def source_name(self) -> builtins.str:
289
+ '''The name for a AWS source.
290
+
291
+ This must be a Regionally unique value. For the list of sources supported by Amazon Security Lake see `Collecting data from AWS services <https://docs.aws.amazon.com//security-lake/latest/userguide/internal-sources.html>`_ in the Amazon Security Lake User Guide.
292
+
293
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-awslogsource.html#cfn-securitylake-awslogsource-sourcename
294
+ '''
295
+ result = self._values.get("source_name")
296
+ assert result is not None, "Required property 'source_name' is missing"
297
+ return typing.cast(builtins.str, result)
298
+
299
+ @builtins.property
300
+ def source_version(self) -> builtins.str:
301
+ '''The version for a AWS source.
302
+
303
+ For more details about source versions supported by Amazon Security Lake see `OCSF source identification <https://docs.aws.amazon.com//security-lake/latest/userguide/open-cybersecurity-schema-framework.html#ocsf-source-identification>`_ in the Amazon Security Lake User Guide. This must be a Regionally unique value.
304
+
305
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-awslogsource.html#cfn-securitylake-awslogsource-sourceversion
306
+ '''
307
+ result = self._values.get("source_version")
308
+ assert result is not None, "Required property 'source_version' is missing"
309
+ return typing.cast(builtins.str, result)
310
+
311
+ @builtins.property
312
+ def accounts(self) -> typing.Optional[typing.List[builtins.str]]:
313
+ '''Specify the AWS account information where you want to enable Security Lake.
314
+
315
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-awslogsource.html#cfn-securitylake-awslogsource-accounts
316
+ '''
317
+ result = self._values.get("accounts")
318
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
319
+
320
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
321
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
322
+
323
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
324
+ return not (rhs == self)
325
+
326
+ def __repr__(self) -> str:
327
+ return "CfnAwsLogSourceProps(%s)" % ", ".join(
328
+ k + "=" + repr(v) for k, v in self._values.items()
329
+ )
330
+
331
+
67
332
  @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
68
333
  class CfnDataLake(
69
334
  _CfnResource_9df397a6,
70
335
  metaclass=jsii.JSIIMeta,
71
336
  jsii_type="aws-cdk-lib.aws_securitylake.CfnDataLake",
72
337
  ):
73
- '''Resource Type definition for AWS::SecurityLake::DataLake.
338
+ '''Initializes an Amazon Security Lake instance with the provided (or default) configuration.
339
+
340
+ You can enable Security Lake in AWS Regions with customized settings before enabling log collection in Regions. To specify particular Regions, configure these Regions using the ``configurations`` parameter. If you have already enabled Security Lake in a Region when you call this command, the command will update the Region if you provide new configuration parameters. If you have not already enabled Security Lake in the Region when you call this API, it will set up the data lake in the Region with the specified configurations.
341
+
342
+ When you enable Security Lake , it starts ingesting security data after the ``CreateAwsLogSource`` call. This includes ingesting security data from sources, storing data, and making data accessible to subscribers. Security Lake also enables all the existing settings and resources that it stores or maintains for your AWS account in the current Region, including security log and event data. For more information, see the `Amazon Security Lake User Guide <https://docs.aws.amazon.com//security-lake/latest/userguide/what-is-security-lake.html>`_ .
74
343
 
75
344
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-datalake.html
76
345
  :cloudformationResource: AWS::SecurityLake::DataLake
@@ -121,11 +390,11 @@ class CfnDataLake(
121
390
  '''
122
391
  :param scope: Scope in which this resource is defined.
123
392
  :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.
393
+ :param encryption_configuration: Provides encryption details of the Amazon Security Lake object.
394
+ :param lifecycle_configuration: You can customize Security Lake to store data in your preferred AWS Regions for your preferred amount of time. Lifecycle management can help you comply with different compliance requirements. For more details, see `Lifecycle management <https://docs.aws.amazon.com//security-lake/latest/userguide/lifecycle-management.html>`_ in the Amazon Security Lake User Guide.
395
+ :param meta_store_manager_role_arn: The Amazon Resource Name (ARN) used to create and update the AWS Glue table. This table contains partitions generated by the ingestion and normalization of AWS log sources and custom sources.
127
396
  :param replication_configuration: Provides replication details of Amazon Security Lake object.
128
- :param tags:
397
+ :param tags: An array of objects, one for each tag to associate with the data lake configuration. For each tag, you must specify both a tag key and a tag value. A tag value cannot be null, but it can be an empty string.
129
398
  '''
130
399
  if __debug__:
131
400
  type_hints = typing.get_type_hints(_typecheckingstub__ff487a50882ee11f396717fb970b445f3274af88108d1c1d390543dfb1fdf534)
@@ -174,7 +443,7 @@ class CfnDataLake(
174
443
  @builtins.property
175
444
  @jsii.member(jsii_name="attrArn")
176
445
  def attr_arn(self) -> builtins.str:
177
- '''The Amazon Resource Name (ARN) created by you to provide to the subscriber.
446
+ '''The Amazon Resource Name (ARN) of the data lake.
178
447
 
179
448
  :cloudformationAttribute: Arn
180
449
  '''
@@ -183,7 +452,7 @@ class CfnDataLake(
183
452
  @builtins.property
184
453
  @jsii.member(jsii_name="attrS3BucketArn")
185
454
  def attr_s3_bucket_arn(self) -> builtins.str:
186
- '''The ARN for the Amazon Security Lake Amazon S3 bucket.
455
+ '''The Amazon Resource Name (ARN) of the Amazon S3 bucket.
187
456
 
188
457
  :cloudformationAttribute: S3BucketArn
189
458
  '''
@@ -205,7 +474,7 @@ class CfnDataLake(
205
474
  def encryption_configuration(
206
475
  self,
207
476
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataLake.EncryptionConfigurationProperty"]]:
208
- '''Provides encryption details of Amazon Security Lake object.'''
477
+ '''Provides encryption details of the Amazon Security Lake object.'''
209
478
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataLake.EncryptionConfigurationProperty"]], jsii.get(self, "encryptionConfiguration"))
210
479
 
211
480
  @encryption_configuration.setter
@@ -223,7 +492,7 @@ class CfnDataLake(
223
492
  def lifecycle_configuration(
224
493
  self,
225
494
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataLake.LifecycleConfigurationProperty"]]:
226
- '''Provides lifecycle details of Amazon Security Lake object.'''
495
+ '''You can customize Security Lake to store data in your preferred AWS Regions for your preferred amount of time.'''
227
496
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataLake.LifecycleConfigurationProperty"]], jsii.get(self, "lifecycleConfiguration"))
228
497
 
229
498
  @lifecycle_configuration.setter
@@ -239,7 +508,7 @@ class CfnDataLake(
239
508
  @builtins.property
240
509
  @jsii.member(jsii_name="metaStoreManagerRoleArn")
241
510
  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.'''
511
+ '''The Amazon Resource Name (ARN) used to create and update the AWS Glue table.'''
243
512
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "metaStoreManagerRoleArn"))
244
513
 
245
514
  @meta_store_manager_role_arn.setter
@@ -270,6 +539,7 @@ class CfnDataLake(
270
539
  @builtins.property
271
540
  @jsii.member(jsii_name="tags")
272
541
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
542
+ '''An array of objects, one for each tag to associate with the data lake configuration.'''
273
543
  return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
274
544
 
275
545
  @tags.setter
@@ -286,9 +556,11 @@ class CfnDataLake(
286
556
  )
287
557
  class EncryptionConfigurationProperty:
288
558
  def __init__(self, *, kms_key_id: typing.Optional[builtins.str] = None) -> None:
289
- '''Provides encryption details of Amazon Security Lake object.
559
+ '''Provides encryption details of the Amazon Security Lake object.
290
560
 
291
- :param kms_key_id: The id of KMS encryption key used by Amazon Security Lake to encrypt the Security Lake object.
561
+ The AWS shared responsibility model applies to data protection in Amazon Security Lake . As described in this model, AWS is responsible for protecting the global infrastructure that runs all of the AWS Cloud. You are responsible for maintaining control over your content that is hosted on this infrastructure. For more details, see `Data protection <https://docs.aws.amazon.com//security-lake/latest/userguide/data-protection.html>`_ in the Amazon Security Lake User Guide.
562
+
563
+ :param kms_key_id: The ID of KMS encryption key used by Amazon Security Lake to encrypt the Security Lake object.
292
564
 
293
565
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-datalake-encryptionconfiguration.html
294
566
  :exampleMetadata: fixture=_generated
@@ -312,7 +584,7 @@ class CfnDataLake(
312
584
 
313
585
  @builtins.property
314
586
  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.
587
+ '''The ID of KMS encryption key used by Amazon Security Lake to encrypt the Security Lake object.
316
588
 
317
589
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-datalake-encryptionconfiguration.html#cfn-securitylake-datalake-encryptionconfiguration-kmskeyid
318
590
  '''
@@ -337,9 +609,11 @@ class CfnDataLake(
337
609
  )
338
610
  class ExpirationProperty:
339
611
  def __init__(self, *, days: typing.Optional[jsii.Number] = None) -> None:
340
- '''Provides data expiration details of Amazon Security Lake object.
612
+ '''Provides data expiration details of the Amazon Security Lake object.
613
+
614
+ You can specify your preferred Amazon S3 storage class and the time period for S3 objects to stay in that storage class before they expire. For more information about Amazon S3 Lifecycle configurations, see `Managing your storage lifecycle <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html>`_ in the *Amazon Simple Storage Service User Guide* .
341
615
 
342
- :param days: Number of days before data expires in the Amazon Security Lake object.
616
+ :param days: The number of days before data expires in the Amazon Security Lake object.
343
617
 
344
618
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-datalake-expiration.html
345
619
  :exampleMetadata: fixture=_generated
@@ -363,7 +637,7 @@ class CfnDataLake(
363
637
 
364
638
  @builtins.property
365
639
  def days(self) -> typing.Optional[jsii.Number]:
366
- '''Number of days before data expires in the Amazon Security Lake object.
640
+ '''The number of days before data expires in the Amazon Security Lake object.
367
641
 
368
642
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-datalake-expiration.html#cfn-securitylake-datalake-expiration-days
369
643
  '''
@@ -395,8 +669,15 @@ class CfnDataLake(
395
669
  ) -> None:
396
670
  '''Provides lifecycle details of Amazon Security Lake object.
397
671
 
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.
672
+ To manage your data so that it is stored cost effectively, you can configure retention settings for the data. You can specify your preferred Amazon S3 storage class and the time period for Amazon S3 objects to stay in that storage class before they transition to a different storage class or expire. For more information about Amazon S3 Lifecycle configurations, see `Managing your storage lifecycle <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html>`_ in the *Amazon Simple Storage Service User Guide* .
673
+
674
+ In Security Lake , you specify retention settings at the Region level. For example, you might choose to transition all S3 objects in a specific AWS Region to the ``S3 Standard-IA`` storage class 30 days after they're written to the data lake. The default Amazon S3 storage class is S3 Standard.
675
+ .. epigraph::
676
+
677
+ Security Lake doesn't support Amazon S3 Object Lock. When the data lake buckets are created, S3 Object Lock is disabled by default. Enabling S3 Object Lock with default retention mode interrupts the delivery of normalized log data to the data lake.
678
+
679
+ :param expiration: Provides data expiration details of the Amazon Security Lake object.
680
+ :param transitions: Provides data storage transition details of Amazon Security Lake object. By configuring these settings, you can specify your preferred Amazon S3 storage class and the time period for S3 objects to stay in that storage class before they transition to a different storage class.
400
681
 
401
682
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-datalake-lifecycleconfiguration.html
402
683
  :exampleMetadata: fixture=_generated
@@ -431,7 +712,7 @@ class CfnDataLake(
431
712
  def expiration(
432
713
  self,
433
714
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDataLake.ExpirationProperty"]]:
434
- '''Provides data expiration details of Amazon Security Lake object.
715
+ '''Provides data expiration details of the Amazon Security Lake object.
435
716
 
436
717
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-datalake-lifecycleconfiguration.html#cfn-securitylake-datalake-lifecycleconfiguration-expiration
437
718
  '''
@@ -444,6 +725,8 @@ class CfnDataLake(
444
725
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDataLake.TransitionsProperty"]]]]:
445
726
  '''Provides data storage transition details of Amazon Security Lake object.
446
727
 
728
+ By configuring these settings, you can specify your preferred Amazon S3 storage class and the time period for S3 objects to stay in that storage class before they transition to a different storage class.
729
+
447
730
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-datalake-lifecycleconfiguration.html#cfn-securitylake-datalake-lifecycleconfiguration-transitions
448
731
  '''
449
732
  result = self._values.get("transitions")
@@ -472,10 +755,10 @@ class CfnDataLake(
472
755
  regions: typing.Optional[typing.Sequence[builtins.str]] = None,
473
756
  role_arn: typing.Optional[builtins.str] = None,
474
757
  ) -> None:
475
- '''Provides replication details of Amazon Security Lake object.
758
+ '''Provides replication configuration details for objects stored in the Amazon Security Lake data lake.
476
759
 
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.
760
+ :param regions: Specifies one or more centralized rollup Regions. The AWS Region specified in the region parameter of the ``CreateDataLake`` or ``UpdateDataLake`` operations contributes data to the rollup Region or Regions specified in this parameter. Replication enables automatic, asynchronous copying of objects across Amazon S3 buckets. 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 Regions or within the same Region as the source bucket.
761
+ :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
762
 
480
763
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-datalake-replicationconfiguration.html
481
764
  :exampleMetadata: fixture=_generated
@@ -503,9 +786,11 @@ class CfnDataLake(
503
786
 
504
787
  @builtins.property
505
788
  def regions(self) -> typing.Optional[typing.List[builtins.str]]:
506
- '''Replication enables automatic, asynchronous copying of objects across Amazon S3 buckets.
789
+ '''Specifies one or more centralized rollup Regions.
507
790
 
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.
791
+ The AWS Region specified in the region parameter of the ``CreateDataLake`` or ``UpdateDataLake`` operations contributes data to the rollup Region or Regions specified in this parameter.
792
+
793
+ Replication enables automatic, asynchronous copying of objects across Amazon S3 buckets. 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 Regions or within the same Region as the source bucket.
509
794
 
510
795
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-datalake-replicationconfiguration.html#cfn-securitylake-datalake-replicationconfiguration-regions
511
796
  '''
@@ -516,7 +801,7 @@ class CfnDataLake(
516
801
  def role_arn(self) -> typing.Optional[builtins.str]:
517
802
  '''Replication settings for the Amazon S3 buckets.
518
803
 
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.
804
+ 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
805
 
521
806
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-datalake-replicationconfiguration.html#cfn-securitylake-datalake-replicationconfiguration-rolearn
522
807
  '''
@@ -546,9 +831,12 @@ class CfnDataLake(
546
831
  days: typing.Optional[jsii.Number] = None,
547
832
  storage_class: typing.Optional[builtins.str] = None,
548
833
  ) -> 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.
834
+ '''Provides transition lifecycle details of the Amazon Security Lake object.
835
+
836
+ For more information about Amazon S3 Lifecycle configurations, see `Managing your storage lifecycle <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html>`_ in the *Amazon Simple Storage Service User Guide* .
837
+
838
+ :param days: The number of days before data transitions to a different S3 Storage Class in the Amazon Security Lake object.
839
+ :param storage_class: The list of storage classes that you can choose from based on the data access, resiliency, and cost requirements of your workloads. The default storage class is S3 Standard.
552
840
 
553
841
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-datalake-transitions.html
554
842
  :exampleMetadata: fixture=_generated
@@ -576,7 +864,7 @@ class CfnDataLake(
576
864
 
577
865
  @builtins.property
578
866
  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.
867
+ '''The number of days before data transitions to a different S3 Storage Class in the Amazon Security Lake object.
580
868
 
581
869
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-datalake-transitions.html#cfn-securitylake-datalake-transitions-days
582
870
  '''
@@ -585,7 +873,9 @@ class CfnDataLake(
585
873
 
586
874
  @builtins.property
587
875
  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.
876
+ '''The list of storage classes that you can choose from based on the data access, resiliency, and cost requirements of your workloads.
877
+
878
+ The default storage class is S3 Standard.
589
879
 
590
880
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-datalake-transitions.html#cfn-securitylake-datalake-transitions-storageclass
591
881
  '''
@@ -627,11 +917,11 @@ class CfnDataLakeProps:
627
917
  ) -> None:
628
918
  '''Properties for defining a ``CfnDataLake``.
629
919
 
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.
920
+ :param encryption_configuration: Provides encryption details of the Amazon Security Lake object.
921
+ :param lifecycle_configuration: You can customize Security Lake to store data in your preferred AWS Regions for your preferred amount of time. Lifecycle management can help you comply with different compliance requirements. For more details, see `Lifecycle management <https://docs.aws.amazon.com//security-lake/latest/userguide/lifecycle-management.html>`_ in the Amazon Security Lake User Guide.
922
+ :param meta_store_manager_role_arn: The Amazon Resource Name (ARN) used to create and update the AWS Glue table. This table contains partitions generated by the ingestion and normalization of AWS log sources and custom sources.
633
923
  :param replication_configuration: Provides replication details of Amazon Security Lake object.
634
- :param tags:
924
+ :param tags: An array of objects, one for each tag to associate with the data lake configuration. For each tag, you must specify both a tag key and a tag value. A tag value cannot be null, but it can be an empty string.
635
925
 
636
926
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-datalake.html
637
927
  :exampleMetadata: fixture=_generated
@@ -689,7 +979,7 @@ class CfnDataLakeProps:
689
979
  def encryption_configuration(
690
980
  self,
691
981
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDataLake.EncryptionConfigurationProperty]]:
692
- '''Provides encryption details of Amazon Security Lake object.
982
+ '''Provides encryption details of the Amazon Security Lake object.
693
983
 
694
984
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-datalake.html#cfn-securitylake-datalake-encryptionconfiguration
695
985
  '''
@@ -700,7 +990,9 @@ class CfnDataLakeProps:
700
990
  def lifecycle_configuration(
701
991
  self,
702
992
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDataLake.LifecycleConfigurationProperty]]:
703
- '''Provides lifecycle details of Amazon Security Lake object.
993
+ '''You can customize Security Lake to store data in your preferred AWS Regions for your preferred amount of time.
994
+
995
+ Lifecycle management can help you comply with different compliance requirements. For more details, see `Lifecycle management <https://docs.aws.amazon.com//security-lake/latest/userguide/lifecycle-management.html>`_ in the Amazon Security Lake User Guide.
704
996
 
705
997
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-datalake.html#cfn-securitylake-datalake-lifecycleconfiguration
706
998
  '''
@@ -709,7 +1001,9 @@ class CfnDataLakeProps:
709
1001
 
710
1002
  @builtins.property
711
1003
  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.
1004
+ '''The Amazon Resource Name (ARN) used to create and update the AWS Glue table.
1005
+
1006
+ This table contains partitions generated by the ingestion and normalization of AWS log sources and custom sources.
713
1007
 
714
1008
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-datalake.html#cfn-securitylake-datalake-metastoremanagerrolearn
715
1009
  '''
@@ -729,7 +1023,10 @@ class CfnDataLakeProps:
729
1023
 
730
1024
  @builtins.property
731
1025
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
732
- '''
1026
+ '''An array of objects, one for each tag to associate with the data lake configuration.
1027
+
1028
+ For each tag, you must specify both a tag key and a tag value. A tag value cannot be null, but it can be an empty string.
1029
+
733
1030
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-datalake.html#cfn-securitylake-datalake-tags
734
1031
  '''
735
1032
  result = self._values.get("tags")
@@ -747,66 +1044,892 @@ class CfnDataLakeProps:
747
1044
  )
748
1045
 
749
1046
 
750
- __all__ = [
751
- "CfnDataLake",
752
- "CfnDataLakeProps",
753
- ]
1047
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
1048
+ class CfnSubscriber(
1049
+ _CfnResource_9df397a6,
1050
+ metaclass=jsii.JSIIMeta,
1051
+ jsii_type="aws-cdk-lib.aws_securitylake.CfnSubscriber",
1052
+ ):
1053
+ '''Creates a subscriber for accounts that are already enabled in Amazon Security Lake.
754
1054
 
755
- publication.publish()
1055
+ You can create a subscriber with access to data in the current AWS Region.
756
1056
 
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
1057
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-subscriber.html
1058
+ :cloudformationResource: AWS::SecurityLake::Subscriber
1059
+ :exampleMetadata: fixture=_generated
769
1060
 
770
- def _typecheckingstub__0d7a1c25528114b19a22f7fe9e5b4213f46c37e16f22245bc3dc38ad34fc7ef6(
771
- inspector: _TreeInspector_488e0dd5,
772
- ) -> None:
773
- """Type checking stubs"""
774
- pass
1061
+ Example::
775
1062
 
776
- def _typecheckingstub__eb852df583c773c6f5d30c27afae6f598c8606ae40f25dd1885d8fbf5013661b(
777
- props: typing.Mapping[builtins.str, typing.Any],
778
- ) -> None:
779
- """Type checking stubs"""
780
- pass
1063
+ # The code below shows an example of how to instantiate this type.
1064
+ # The values are placeholders you should change.
1065
+ from aws_cdk import aws_securitylake as securitylake
1066
+
1067
+ cfn_subscriber = securitylake.CfnSubscriber(self, "MyCfnSubscriber",
1068
+ access_types=["accessTypes"],
1069
+ data_lake_arn="dataLakeArn",
1070
+ sources=[securitylake.CfnSubscriber.SourceProperty(
1071
+ aws_log_source=securitylake.CfnSubscriber.AwsLogSourceProperty(
1072
+ source_name="sourceName",
1073
+ source_version="sourceVersion"
1074
+ ),
1075
+ custom_log_source=securitylake.CfnSubscriber.CustomLogSourceProperty(
1076
+ source_name="sourceName",
1077
+ source_version="sourceVersion"
1078
+ )
1079
+ )],
1080
+ subscriber_identity=securitylake.CfnSubscriber.SubscriberIdentityProperty(
1081
+ external_id="externalId",
1082
+ principal="principal"
1083
+ ),
1084
+ subscriber_name="subscriberName",
1085
+
1086
+ # the properties below are optional
1087
+ subscriber_description="subscriberDescription",
1088
+ tags=[CfnTag(
1089
+ key="key",
1090
+ value="value"
1091
+ )]
1092
+ )
1093
+ '''
781
1094
 
782
- def _typecheckingstub__12edf08ab82b633325fe7034b3424955ea7bff566dfa00928107723a5d0f6a72(
783
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDataLake.EncryptionConfigurationProperty]],
784
- ) -> None:
785
- """Type checking stubs"""
786
- pass
1095
+ def __init__(
1096
+ self,
1097
+ scope: _constructs_77d1e7e8.Construct,
1098
+ id: builtins.str,
1099
+ *,
1100
+ access_types: typing.Sequence[builtins.str],
1101
+ data_lake_arn: builtins.str,
1102
+ sources: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnSubscriber.SourceProperty", typing.Dict[builtins.str, typing.Any]]]]],
1103
+ subscriber_identity: typing.Union[_IResolvable_da3f097b, typing.Union["CfnSubscriber.SubscriberIdentityProperty", typing.Dict[builtins.str, typing.Any]]],
1104
+ subscriber_name: builtins.str,
1105
+ subscriber_description: typing.Optional[builtins.str] = None,
1106
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1107
+ ) -> None:
1108
+ '''
1109
+ :param scope: Scope in which this resource is defined.
1110
+ :param id: Construct identifier for this resource (unique in its scope).
1111
+ :param access_types: You can choose to notify subscribers of new objects with an Amazon Simple Queue Service (Amazon SQS) queue or through messaging to an HTTPS endpoint provided by the subscriber. Subscribers can consume data by directly querying AWS Lake Formation tables in your Amazon S3 bucket through services like Amazon Athena. This subscription type is defined as ``LAKEFORMATION`` .
1112
+ :param data_lake_arn: The Amazon Resource Name (ARN) used to create the data lake.
1113
+ :param sources: Amazon Security Lake supports log and event collection for natively supported AWS services . For more information, see the `Amazon Security Lake User Guide <https://docs.aws.amazon.com//security-lake/latest/userguide/source-management.html>`_ .
1114
+ :param subscriber_identity: The AWS identity used to access your data.
1115
+ :param subscriber_name: The name of your Amazon Security Lake subscriber account.
1116
+ :param subscriber_description: The subscriber descriptions for a subscriber account. The description for a subscriber includes ``subscriberName`` , ``accountID`` , ``externalID`` , and ``subscriberId`` .
1117
+ :param tags: An array of objects, one for each tag to associate with the subscriber. For each tag, you must specify both a tag key and a tag value. A tag value cannot be null, but it can be an empty string.
1118
+ '''
1119
+ if __debug__:
1120
+ type_hints = typing.get_type_hints(_typecheckingstub__7cfdc1f6a6f3c553e914b6e8b917c7abd1db0a1142db24f189c29526acaaea39)
1121
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1122
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1123
+ props = CfnSubscriberProps(
1124
+ access_types=access_types,
1125
+ data_lake_arn=data_lake_arn,
1126
+ sources=sources,
1127
+ subscriber_identity=subscriber_identity,
1128
+ subscriber_name=subscriber_name,
1129
+ subscriber_description=subscriber_description,
1130
+ tags=tags,
1131
+ )
787
1132
 
788
- def _typecheckingstub__916659d1bcdf1d6d40de689f3b334b766e1a8fb681a493926742e61ce5ba40b7(
789
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDataLake.LifecycleConfigurationProperty]],
790
- ) -> None:
791
- """Type checking stubs"""
792
- pass
1133
+ jsii.create(self.__class__, self, [scope, id, props])
793
1134
 
794
- def _typecheckingstub__23cd82335763114e4ff9c52f4ff2b4db4b4be68cc8f5b468e1325fa0e0e79558(
795
- value: typing.Optional[builtins.str],
796
- ) -> None:
797
- """Type checking stubs"""
798
- pass
1135
+ @jsii.member(jsii_name="inspect")
1136
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
1137
+ '''Examines the CloudFormation resource and discloses attributes.
799
1138
 
800
- def _typecheckingstub__647257bd68002b29a89b3128d4883d0c748e98d2c70a5b154446993271225230(
801
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDataLake.ReplicationConfigurationProperty]],
802
- ) -> None:
803
- """Type checking stubs"""
804
- pass
1139
+ :param inspector: tree inspector to collect and process attributes.
1140
+ '''
1141
+ if __debug__:
1142
+ type_hints = typing.get_type_hints(_typecheckingstub__a8615499628b1f4753ef250f307567474c9df890e5c028af197e02c5372c550c)
1143
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
1144
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
805
1145
 
806
- def _typecheckingstub__6654ce3b2fa02feedc8f03797f96ae7270d4bd79ef3c3791b522e8277fa3798c(
807
- value: typing.Optional[typing.List[_CfnTag_f6864754]],
808
- ) -> None:
809
- """Type checking stubs"""
1146
+ @jsii.member(jsii_name="renderProperties")
1147
+ def _render_properties(
1148
+ self,
1149
+ props: typing.Mapping[builtins.str, typing.Any],
1150
+ ) -> typing.Mapping[builtins.str, typing.Any]:
1151
+ '''
1152
+ :param props: -
1153
+ '''
1154
+ if __debug__:
1155
+ type_hints = typing.get_type_hints(_typecheckingstub__3790e1b87c269e951008aa5f293e263e93c06977e1eeed2a69dfca58c409514a)
1156
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
1157
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
1158
+
1159
+ @jsii.python.classproperty
1160
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
1161
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
1162
+ '''The CloudFormation resource type name for this resource class.'''
1163
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
1164
+
1165
+ @builtins.property
1166
+ @jsii.member(jsii_name="attrResourceShareArn")
1167
+ def attr_resource_share_arn(self) -> builtins.str:
1168
+ '''The Amazon Resource Name (ARN) of the Amazon Security Lake subscriber.
1169
+
1170
+ :cloudformationAttribute: ResourceShareArn
1171
+ '''
1172
+ return typing.cast(builtins.str, jsii.get(self, "attrResourceShareArn"))
1173
+
1174
+ @builtins.property
1175
+ @jsii.member(jsii_name="attrResourceShareName")
1176
+ def attr_resource_share_name(self) -> builtins.str:
1177
+ '''The ARN name of the Amazon Security Lake subscriber.
1178
+
1179
+ :cloudformationAttribute: ResourceShareName
1180
+ '''
1181
+ return typing.cast(builtins.str, jsii.get(self, "attrResourceShareName"))
1182
+
1183
+ @builtins.property
1184
+ @jsii.member(jsii_name="attrS3BucketArn")
1185
+ def attr_s3_bucket_arn(self) -> builtins.str:
1186
+ '''The Amazon Resource Name (ARN) of the S3 bucket.
1187
+
1188
+ :cloudformationAttribute: S3BucketArn
1189
+ '''
1190
+ return typing.cast(builtins.str, jsii.get(self, "attrS3BucketArn"))
1191
+
1192
+ @builtins.property
1193
+ @jsii.member(jsii_name="attrSubscriberArn")
1194
+ def attr_subscriber_arn(self) -> builtins.str:
1195
+ '''The Amazon Resource Name (ARN) of the Security Lake subscriber.
1196
+
1197
+ :cloudformationAttribute: SubscriberArn
1198
+ '''
1199
+ return typing.cast(builtins.str, jsii.get(self, "attrSubscriberArn"))
1200
+
1201
+ @builtins.property
1202
+ @jsii.member(jsii_name="attrSubscriberRoleArn")
1203
+ def attr_subscriber_role_arn(self) -> builtins.str:
1204
+ '''The Amazon Resource Name (ARN) of the role used to create the Security Lake subscriber.
1205
+
1206
+ :cloudformationAttribute: SubscriberRoleArn
1207
+ '''
1208
+ return typing.cast(builtins.str, jsii.get(self, "attrSubscriberRoleArn"))
1209
+
1210
+ @builtins.property
1211
+ @jsii.member(jsii_name="cdkTagManager")
1212
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
1213
+ '''Tag Manager which manages the tags for this resource.'''
1214
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
1215
+
1216
+ @builtins.property
1217
+ @jsii.member(jsii_name="cfnProperties")
1218
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
1219
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1220
+
1221
+ @builtins.property
1222
+ @jsii.member(jsii_name="accessTypes")
1223
+ def access_types(self) -> typing.List[builtins.str]:
1224
+ '''You can choose to notify subscribers of new objects with an Amazon Simple Queue Service (Amazon SQS) queue or through messaging to an HTTPS endpoint provided by the subscriber.'''
1225
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "accessTypes"))
1226
+
1227
+ @access_types.setter
1228
+ def access_types(self, value: typing.List[builtins.str]) -> None:
1229
+ if __debug__:
1230
+ type_hints = typing.get_type_hints(_typecheckingstub__3f5e7268ca27d6f9f4f7235ed5dc11031e3dcfecbb97acb334a181ffa62b0550)
1231
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1232
+ jsii.set(self, "accessTypes", value)
1233
+
1234
+ @builtins.property
1235
+ @jsii.member(jsii_name="dataLakeArn")
1236
+ def data_lake_arn(self) -> builtins.str:
1237
+ '''The Amazon Resource Name (ARN) used to create the data lake.'''
1238
+ return typing.cast(builtins.str, jsii.get(self, "dataLakeArn"))
1239
+
1240
+ @data_lake_arn.setter
1241
+ def data_lake_arn(self, value: builtins.str) -> None:
1242
+ if __debug__:
1243
+ type_hints = typing.get_type_hints(_typecheckingstub__6b6df05258f367a78b9fe1e83d93bbb4170db63eebfcfcaf47743e3795fdea19)
1244
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1245
+ jsii.set(self, "dataLakeArn", value)
1246
+
1247
+ @builtins.property
1248
+ @jsii.member(jsii_name="sources")
1249
+ def sources(
1250
+ self,
1251
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnSubscriber.SourceProperty"]]]:
1252
+ '''Amazon Security Lake supports log and event collection for natively supported AWS services .'''
1253
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnSubscriber.SourceProperty"]]], jsii.get(self, "sources"))
1254
+
1255
+ @sources.setter
1256
+ def sources(
1257
+ self,
1258
+ value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnSubscriber.SourceProperty"]]],
1259
+ ) -> None:
1260
+ if __debug__:
1261
+ type_hints = typing.get_type_hints(_typecheckingstub__bc932de85d8e0823efeb32cd9962639ee0df5d9caf72a0cc1bd8a74abd3853f1)
1262
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1263
+ jsii.set(self, "sources", value)
1264
+
1265
+ @builtins.property
1266
+ @jsii.member(jsii_name="subscriberIdentity")
1267
+ def subscriber_identity(
1268
+ self,
1269
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnSubscriber.SubscriberIdentityProperty"]:
1270
+ '''The AWS identity used to access your data.'''
1271
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnSubscriber.SubscriberIdentityProperty"], jsii.get(self, "subscriberIdentity"))
1272
+
1273
+ @subscriber_identity.setter
1274
+ def subscriber_identity(
1275
+ self,
1276
+ value: typing.Union[_IResolvable_da3f097b, "CfnSubscriber.SubscriberIdentityProperty"],
1277
+ ) -> None:
1278
+ if __debug__:
1279
+ type_hints = typing.get_type_hints(_typecheckingstub__844ac1bd9005c05fc49f39ac053da7c40f778e558a2e4cf96983161b114d88a7)
1280
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1281
+ jsii.set(self, "subscriberIdentity", value)
1282
+
1283
+ @builtins.property
1284
+ @jsii.member(jsii_name="subscriberName")
1285
+ def subscriber_name(self) -> builtins.str:
1286
+ '''The name of your Amazon Security Lake subscriber account.'''
1287
+ return typing.cast(builtins.str, jsii.get(self, "subscriberName"))
1288
+
1289
+ @subscriber_name.setter
1290
+ def subscriber_name(self, value: builtins.str) -> None:
1291
+ if __debug__:
1292
+ type_hints = typing.get_type_hints(_typecheckingstub__cd9beb9187d8345c4ae00d2ee6483cd5f3841d1801dffe9de561ed1934ddd965)
1293
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1294
+ jsii.set(self, "subscriberName", value)
1295
+
1296
+ @builtins.property
1297
+ @jsii.member(jsii_name="subscriberDescription")
1298
+ def subscriber_description(self) -> typing.Optional[builtins.str]:
1299
+ '''The subscriber descriptions for a subscriber account.'''
1300
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "subscriberDescription"))
1301
+
1302
+ @subscriber_description.setter
1303
+ def subscriber_description(self, value: typing.Optional[builtins.str]) -> None:
1304
+ if __debug__:
1305
+ type_hints = typing.get_type_hints(_typecheckingstub__3147cb4779ff5832faddc8bdeac62a5ff6db17ddc1eddee78b4f5ca463a0ed76)
1306
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1307
+ jsii.set(self, "subscriberDescription", value)
1308
+
1309
+ @builtins.property
1310
+ @jsii.member(jsii_name="tags")
1311
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1312
+ '''An array of objects, one for each tag to associate with the subscriber.'''
1313
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
1314
+
1315
+ @tags.setter
1316
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
1317
+ if __debug__:
1318
+ type_hints = typing.get_type_hints(_typecheckingstub__b8f06145c3b30c94dc03a8f547df3132c6f47f465dc815eb5282aab9542906c1)
1319
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1320
+ jsii.set(self, "tags", value)
1321
+
1322
+ @jsii.data_type(
1323
+ jsii_type="aws-cdk-lib.aws_securitylake.CfnSubscriber.AwsLogSourceProperty",
1324
+ jsii_struct_bases=[],
1325
+ name_mapping={"source_name": "sourceName", "source_version": "sourceVersion"},
1326
+ )
1327
+ class AwsLogSourceProperty:
1328
+ def __init__(
1329
+ self,
1330
+ *,
1331
+ source_name: typing.Optional[builtins.str] = None,
1332
+ source_version: typing.Optional[builtins.str] = None,
1333
+ ) -> None:
1334
+ '''Adds a natively supported AWS service as an Amazon Security Lake source.
1335
+
1336
+ Enables source types for member accounts in required AWS Regions, based on the parameters you specify. You can choose any source type in any Region for either accounts that are part of a trusted organization or standalone accounts. Once you add an AWS service as a source, Security Lake starts collecting logs and events from it.
1337
+
1338
+ :param source_name: Source name of the natively supported AWS service that is supported as an Amazon Security Lake source. For the list of sources supported by Amazon Security Lake see `Collecting data from AWS services <https://docs.aws.amazon.com//security-lake/latest/userguide/internal-sources.html>`_ in the Amazon Security Lake User Guide.
1339
+ :param source_version: Source version of the natively supported AWS service that is supported as an Amazon Security Lake source. For more details about source versions supported by Amazon Security Lake see `OCSF source identification <https://docs.aws.amazon.com//security-lake/latest/userguide/open-cybersecurity-schema-framework.html#ocsf-source-identification>`_ in the Amazon Security Lake User Guide.
1340
+
1341
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-subscriber-awslogsource.html
1342
+ :exampleMetadata: fixture=_generated
1343
+
1344
+ Example::
1345
+
1346
+ # The code below shows an example of how to instantiate this type.
1347
+ # The values are placeholders you should change.
1348
+ from aws_cdk import aws_securitylake as securitylake
1349
+
1350
+ aws_log_source_property = securitylake.CfnSubscriber.AwsLogSourceProperty(
1351
+ source_name="sourceName",
1352
+ source_version="sourceVersion"
1353
+ )
1354
+ '''
1355
+ if __debug__:
1356
+ type_hints = typing.get_type_hints(_typecheckingstub__f7b68bdff72d0a83be28cc208139e37398a7b328722b97984e752440b8b9b167)
1357
+ check_type(argname="argument source_name", value=source_name, expected_type=type_hints["source_name"])
1358
+ check_type(argname="argument source_version", value=source_version, expected_type=type_hints["source_version"])
1359
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1360
+ if source_name is not None:
1361
+ self._values["source_name"] = source_name
1362
+ if source_version is not None:
1363
+ self._values["source_version"] = source_version
1364
+
1365
+ @builtins.property
1366
+ def source_name(self) -> typing.Optional[builtins.str]:
1367
+ '''Source name of the natively supported AWS service that is supported as an Amazon Security Lake source.
1368
+
1369
+ For the list of sources supported by Amazon Security Lake see `Collecting data from AWS services <https://docs.aws.amazon.com//security-lake/latest/userguide/internal-sources.html>`_ in the Amazon Security Lake User Guide.
1370
+
1371
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-subscriber-awslogsource.html#cfn-securitylake-subscriber-awslogsource-sourcename
1372
+ '''
1373
+ result = self._values.get("source_name")
1374
+ return typing.cast(typing.Optional[builtins.str], result)
1375
+
1376
+ @builtins.property
1377
+ def source_version(self) -> typing.Optional[builtins.str]:
1378
+ '''Source version of the natively supported AWS service that is supported as an Amazon Security Lake source.
1379
+
1380
+ For more details about source versions supported by Amazon Security Lake see `OCSF source identification <https://docs.aws.amazon.com//security-lake/latest/userguide/open-cybersecurity-schema-framework.html#ocsf-source-identification>`_ in the Amazon Security Lake User Guide.
1381
+
1382
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-subscriber-awslogsource.html#cfn-securitylake-subscriber-awslogsource-sourceversion
1383
+ '''
1384
+ result = self._values.get("source_version")
1385
+ return typing.cast(typing.Optional[builtins.str], result)
1386
+
1387
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1388
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1389
+
1390
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1391
+ return not (rhs == self)
1392
+
1393
+ def __repr__(self) -> str:
1394
+ return "AwsLogSourceProperty(%s)" % ", ".join(
1395
+ k + "=" + repr(v) for k, v in self._values.items()
1396
+ )
1397
+
1398
+ @jsii.data_type(
1399
+ jsii_type="aws-cdk-lib.aws_securitylake.CfnSubscriber.CustomLogSourceProperty",
1400
+ jsii_struct_bases=[],
1401
+ name_mapping={"source_name": "sourceName", "source_version": "sourceVersion"},
1402
+ )
1403
+ class CustomLogSourceProperty:
1404
+ def __init__(
1405
+ self,
1406
+ *,
1407
+ source_name: typing.Optional[builtins.str] = None,
1408
+ source_version: typing.Optional[builtins.str] = None,
1409
+ ) -> None:
1410
+ '''Third-party custom log source that meets the requirements to be added to Amazon Security Lake .
1411
+
1412
+ For more details, see `Custom log source <https://docs.aws.amazon.com//security-lake/latest/userguide/custom-sources.html#iam-roles-custom-sources>`_ in the *Amazon Security Lake User Guide* .
1413
+
1414
+ :param source_name: The name of the custom log source.
1415
+ :param source_version: The source version of the custom log source.
1416
+
1417
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-subscriber-customlogsource.html
1418
+ :exampleMetadata: fixture=_generated
1419
+
1420
+ Example::
1421
+
1422
+ # The code below shows an example of how to instantiate this type.
1423
+ # The values are placeholders you should change.
1424
+ from aws_cdk import aws_securitylake as securitylake
1425
+
1426
+ custom_log_source_property = securitylake.CfnSubscriber.CustomLogSourceProperty(
1427
+ source_name="sourceName",
1428
+ source_version="sourceVersion"
1429
+ )
1430
+ '''
1431
+ if __debug__:
1432
+ type_hints = typing.get_type_hints(_typecheckingstub__be7ff1808e2250d74fc3f0286676c85a2ac63ab562fb09265ceb5138256bdb3a)
1433
+ check_type(argname="argument source_name", value=source_name, expected_type=type_hints["source_name"])
1434
+ check_type(argname="argument source_version", value=source_version, expected_type=type_hints["source_version"])
1435
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1436
+ if source_name is not None:
1437
+ self._values["source_name"] = source_name
1438
+ if source_version is not None:
1439
+ self._values["source_version"] = source_version
1440
+
1441
+ @builtins.property
1442
+ def source_name(self) -> typing.Optional[builtins.str]:
1443
+ '''The name of the custom log source.
1444
+
1445
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-subscriber-customlogsource.html#cfn-securitylake-subscriber-customlogsource-sourcename
1446
+ '''
1447
+ result = self._values.get("source_name")
1448
+ return typing.cast(typing.Optional[builtins.str], result)
1449
+
1450
+ @builtins.property
1451
+ def source_version(self) -> typing.Optional[builtins.str]:
1452
+ '''The source version of the custom log source.
1453
+
1454
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-subscriber-customlogsource.html#cfn-securitylake-subscriber-customlogsource-sourceversion
1455
+ '''
1456
+ result = self._values.get("source_version")
1457
+ return typing.cast(typing.Optional[builtins.str], result)
1458
+
1459
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1460
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1461
+
1462
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1463
+ return not (rhs == self)
1464
+
1465
+ def __repr__(self) -> str:
1466
+ return "CustomLogSourceProperty(%s)" % ", ".join(
1467
+ k + "=" + repr(v) for k, v in self._values.items()
1468
+ )
1469
+
1470
+ @jsii.data_type(
1471
+ jsii_type="aws-cdk-lib.aws_securitylake.CfnSubscriber.SourceProperty",
1472
+ jsii_struct_bases=[],
1473
+ name_mapping={
1474
+ "aws_log_source": "awsLogSource",
1475
+ "custom_log_source": "customLogSource",
1476
+ },
1477
+ )
1478
+ class SourceProperty:
1479
+ def __init__(
1480
+ self,
1481
+ *,
1482
+ aws_log_source: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnSubscriber.AwsLogSourceProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1483
+ custom_log_source: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnSubscriber.CustomLogSourceProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1484
+ ) -> None:
1485
+ '''Sources are logs and events generated from a single system that match a specific event class in the Open Cybersecurity Schema Framework (OCSF) schema.
1486
+
1487
+ Amazon Security Lake can collect logs and events from a variety of sources, including natively supported AWS services and third-party custom sources.
1488
+
1489
+ :param aws_log_source: The natively supported AWS service which is used a Amazon Security Lake source to collect logs and events from.
1490
+ :param custom_log_source: The custom log source AWS which is used a Amazon Security Lake source to collect logs and events from.
1491
+
1492
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-subscriber-source.html
1493
+ :exampleMetadata: fixture=_generated
1494
+
1495
+ Example::
1496
+
1497
+ # The code below shows an example of how to instantiate this type.
1498
+ # The values are placeholders you should change.
1499
+ from aws_cdk import aws_securitylake as securitylake
1500
+
1501
+ source_property = securitylake.CfnSubscriber.SourceProperty(
1502
+ aws_log_source=securitylake.CfnSubscriber.AwsLogSourceProperty(
1503
+ source_name="sourceName",
1504
+ source_version="sourceVersion"
1505
+ ),
1506
+ custom_log_source=securitylake.CfnSubscriber.CustomLogSourceProperty(
1507
+ source_name="sourceName",
1508
+ source_version="sourceVersion"
1509
+ )
1510
+ )
1511
+ '''
1512
+ if __debug__:
1513
+ type_hints = typing.get_type_hints(_typecheckingstub__09624bc0a82e7efd60186ff6e6eeff97f2daca3d7d705b8e7e3451a7add8d126)
1514
+ check_type(argname="argument aws_log_source", value=aws_log_source, expected_type=type_hints["aws_log_source"])
1515
+ check_type(argname="argument custom_log_source", value=custom_log_source, expected_type=type_hints["custom_log_source"])
1516
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1517
+ if aws_log_source is not None:
1518
+ self._values["aws_log_source"] = aws_log_source
1519
+ if custom_log_source is not None:
1520
+ self._values["custom_log_source"] = custom_log_source
1521
+
1522
+ @builtins.property
1523
+ def aws_log_source(
1524
+ self,
1525
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnSubscriber.AwsLogSourceProperty"]]:
1526
+ '''The natively supported AWS service which is used a Amazon Security Lake source to collect logs and events from.
1527
+
1528
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-subscriber-source.html#cfn-securitylake-subscriber-source-awslogsource
1529
+ '''
1530
+ result = self._values.get("aws_log_source")
1531
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnSubscriber.AwsLogSourceProperty"]], result)
1532
+
1533
+ @builtins.property
1534
+ def custom_log_source(
1535
+ self,
1536
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnSubscriber.CustomLogSourceProperty"]]:
1537
+ '''The custom log source AWS which is used a Amazon Security Lake source to collect logs and events from.
1538
+
1539
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-subscriber-source.html#cfn-securitylake-subscriber-source-customlogsource
1540
+ '''
1541
+ result = self._values.get("custom_log_source")
1542
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnSubscriber.CustomLogSourceProperty"]], result)
1543
+
1544
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1545
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1546
+
1547
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1548
+ return not (rhs == self)
1549
+
1550
+ def __repr__(self) -> str:
1551
+ return "SourceProperty(%s)" % ", ".join(
1552
+ k + "=" + repr(v) for k, v in self._values.items()
1553
+ )
1554
+
1555
+ @jsii.data_type(
1556
+ jsii_type="aws-cdk-lib.aws_securitylake.CfnSubscriber.SubscriberIdentityProperty",
1557
+ jsii_struct_bases=[],
1558
+ name_mapping={"external_id": "externalId", "principal": "principal"},
1559
+ )
1560
+ class SubscriberIdentityProperty:
1561
+ def __init__(
1562
+ self,
1563
+ *,
1564
+ external_id: builtins.str,
1565
+ principal: builtins.str,
1566
+ ) -> None:
1567
+ '''Specify the AWS account ID and external ID that the subscriber will use to access source data.
1568
+
1569
+ :param external_id: The external ID is a unique identifier that the subscriber provides to you.
1570
+ :param principal: Principals can include accounts, users, roles, federated users, or AWS services.
1571
+
1572
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-subscriber-subscriberidentity.html
1573
+ :exampleMetadata: fixture=_generated
1574
+
1575
+ Example::
1576
+
1577
+ # The code below shows an example of how to instantiate this type.
1578
+ # The values are placeholders you should change.
1579
+ from aws_cdk import aws_securitylake as securitylake
1580
+
1581
+ subscriber_identity_property = securitylake.CfnSubscriber.SubscriberIdentityProperty(
1582
+ external_id="externalId",
1583
+ principal="principal"
1584
+ )
1585
+ '''
1586
+ if __debug__:
1587
+ type_hints = typing.get_type_hints(_typecheckingstub__a2dd3305d7b56ebd933e9b9e7b243865a7a5c734ed08bef308334f82a70d692e)
1588
+ check_type(argname="argument external_id", value=external_id, expected_type=type_hints["external_id"])
1589
+ check_type(argname="argument principal", value=principal, expected_type=type_hints["principal"])
1590
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1591
+ "external_id": external_id,
1592
+ "principal": principal,
1593
+ }
1594
+
1595
+ @builtins.property
1596
+ def external_id(self) -> builtins.str:
1597
+ '''The external ID is a unique identifier that the subscriber provides to you.
1598
+
1599
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-subscriber-subscriberidentity.html#cfn-securitylake-subscriber-subscriberidentity-externalid
1600
+ '''
1601
+ result = self._values.get("external_id")
1602
+ assert result is not None, "Required property 'external_id' is missing"
1603
+ return typing.cast(builtins.str, result)
1604
+
1605
+ @builtins.property
1606
+ def principal(self) -> builtins.str:
1607
+ '''Principals can include accounts, users, roles, federated users, or AWS services.
1608
+
1609
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securitylake-subscriber-subscriberidentity.html#cfn-securitylake-subscriber-subscriberidentity-principal
1610
+ '''
1611
+ result = self._values.get("principal")
1612
+ assert result is not None, "Required property 'principal' is missing"
1613
+ return typing.cast(builtins.str, result)
1614
+
1615
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1616
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1617
+
1618
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1619
+ return not (rhs == self)
1620
+
1621
+ def __repr__(self) -> str:
1622
+ return "SubscriberIdentityProperty(%s)" % ", ".join(
1623
+ k + "=" + repr(v) for k, v in self._values.items()
1624
+ )
1625
+
1626
+
1627
+ @jsii.data_type(
1628
+ jsii_type="aws-cdk-lib.aws_securitylake.CfnSubscriberProps",
1629
+ jsii_struct_bases=[],
1630
+ name_mapping={
1631
+ "access_types": "accessTypes",
1632
+ "data_lake_arn": "dataLakeArn",
1633
+ "sources": "sources",
1634
+ "subscriber_identity": "subscriberIdentity",
1635
+ "subscriber_name": "subscriberName",
1636
+ "subscriber_description": "subscriberDescription",
1637
+ "tags": "tags",
1638
+ },
1639
+ )
1640
+ class CfnSubscriberProps:
1641
+ def __init__(
1642
+ self,
1643
+ *,
1644
+ access_types: typing.Sequence[builtins.str],
1645
+ data_lake_arn: builtins.str,
1646
+ sources: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSubscriber.SourceProperty, typing.Dict[builtins.str, typing.Any]]]]],
1647
+ subscriber_identity: typing.Union[_IResolvable_da3f097b, typing.Union[CfnSubscriber.SubscriberIdentityProperty, typing.Dict[builtins.str, typing.Any]]],
1648
+ subscriber_name: builtins.str,
1649
+ subscriber_description: typing.Optional[builtins.str] = None,
1650
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1651
+ ) -> None:
1652
+ '''Properties for defining a ``CfnSubscriber``.
1653
+
1654
+ :param access_types: You can choose to notify subscribers of new objects with an Amazon Simple Queue Service (Amazon SQS) queue or through messaging to an HTTPS endpoint provided by the subscriber. Subscribers can consume data by directly querying AWS Lake Formation tables in your Amazon S3 bucket through services like Amazon Athena. This subscription type is defined as ``LAKEFORMATION`` .
1655
+ :param data_lake_arn: The Amazon Resource Name (ARN) used to create the data lake.
1656
+ :param sources: Amazon Security Lake supports log and event collection for natively supported AWS services . For more information, see the `Amazon Security Lake User Guide <https://docs.aws.amazon.com//security-lake/latest/userguide/source-management.html>`_ .
1657
+ :param subscriber_identity: The AWS identity used to access your data.
1658
+ :param subscriber_name: The name of your Amazon Security Lake subscriber account.
1659
+ :param subscriber_description: The subscriber descriptions for a subscriber account. The description for a subscriber includes ``subscriberName`` , ``accountID`` , ``externalID`` , and ``subscriberId`` .
1660
+ :param tags: An array of objects, one for each tag to associate with the subscriber. For each tag, you must specify both a tag key and a tag value. A tag value cannot be null, but it can be an empty string.
1661
+
1662
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-subscriber.html
1663
+ :exampleMetadata: fixture=_generated
1664
+
1665
+ Example::
1666
+
1667
+ # The code below shows an example of how to instantiate this type.
1668
+ # The values are placeholders you should change.
1669
+ from aws_cdk import aws_securitylake as securitylake
1670
+
1671
+ cfn_subscriber_props = securitylake.CfnSubscriberProps(
1672
+ access_types=["accessTypes"],
1673
+ data_lake_arn="dataLakeArn",
1674
+ sources=[securitylake.CfnSubscriber.SourceProperty(
1675
+ aws_log_source=securitylake.CfnSubscriber.AwsLogSourceProperty(
1676
+ source_name="sourceName",
1677
+ source_version="sourceVersion"
1678
+ ),
1679
+ custom_log_source=securitylake.CfnSubscriber.CustomLogSourceProperty(
1680
+ source_name="sourceName",
1681
+ source_version="sourceVersion"
1682
+ )
1683
+ )],
1684
+ subscriber_identity=securitylake.CfnSubscriber.SubscriberIdentityProperty(
1685
+ external_id="externalId",
1686
+ principal="principal"
1687
+ ),
1688
+ subscriber_name="subscriberName",
1689
+
1690
+ # the properties below are optional
1691
+ subscriber_description="subscriberDescription",
1692
+ tags=[CfnTag(
1693
+ key="key",
1694
+ value="value"
1695
+ )]
1696
+ )
1697
+ '''
1698
+ if __debug__:
1699
+ type_hints = typing.get_type_hints(_typecheckingstub__48b4dffc39d9aeba296ada6ed3b12f7273758033f731faa94da735c639fb2f10)
1700
+ check_type(argname="argument access_types", value=access_types, expected_type=type_hints["access_types"])
1701
+ check_type(argname="argument data_lake_arn", value=data_lake_arn, expected_type=type_hints["data_lake_arn"])
1702
+ check_type(argname="argument sources", value=sources, expected_type=type_hints["sources"])
1703
+ check_type(argname="argument subscriber_identity", value=subscriber_identity, expected_type=type_hints["subscriber_identity"])
1704
+ check_type(argname="argument subscriber_name", value=subscriber_name, expected_type=type_hints["subscriber_name"])
1705
+ check_type(argname="argument subscriber_description", value=subscriber_description, expected_type=type_hints["subscriber_description"])
1706
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
1707
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1708
+ "access_types": access_types,
1709
+ "data_lake_arn": data_lake_arn,
1710
+ "sources": sources,
1711
+ "subscriber_identity": subscriber_identity,
1712
+ "subscriber_name": subscriber_name,
1713
+ }
1714
+ if subscriber_description is not None:
1715
+ self._values["subscriber_description"] = subscriber_description
1716
+ if tags is not None:
1717
+ self._values["tags"] = tags
1718
+
1719
+ @builtins.property
1720
+ def access_types(self) -> typing.List[builtins.str]:
1721
+ '''You can choose to notify subscribers of new objects with an Amazon Simple Queue Service (Amazon SQS) queue or through messaging to an HTTPS endpoint provided by the subscriber.
1722
+
1723
+ Subscribers can consume data by directly querying AWS Lake Formation tables in your Amazon S3 bucket through services like Amazon Athena. This subscription type is defined as ``LAKEFORMATION`` .
1724
+
1725
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-subscriber.html#cfn-securitylake-subscriber-accesstypes
1726
+ '''
1727
+ result = self._values.get("access_types")
1728
+ assert result is not None, "Required property 'access_types' is missing"
1729
+ return typing.cast(typing.List[builtins.str], result)
1730
+
1731
+ @builtins.property
1732
+ def data_lake_arn(self) -> builtins.str:
1733
+ '''The Amazon Resource Name (ARN) used to create the data lake.
1734
+
1735
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-subscriber.html#cfn-securitylake-subscriber-datalakearn
1736
+ '''
1737
+ result = self._values.get("data_lake_arn")
1738
+ assert result is not None, "Required property 'data_lake_arn' is missing"
1739
+ return typing.cast(builtins.str, result)
1740
+
1741
+ @builtins.property
1742
+ def sources(
1743
+ self,
1744
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnSubscriber.SourceProperty]]]:
1745
+ '''Amazon Security Lake supports log and event collection for natively supported AWS services .
1746
+
1747
+ For more information, see the `Amazon Security Lake User Guide <https://docs.aws.amazon.com//security-lake/latest/userguide/source-management.html>`_ .
1748
+
1749
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-subscriber.html#cfn-securitylake-subscriber-sources
1750
+ '''
1751
+ result = self._values.get("sources")
1752
+ assert result is not None, "Required property 'sources' is missing"
1753
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnSubscriber.SourceProperty]]], result)
1754
+
1755
+ @builtins.property
1756
+ def subscriber_identity(
1757
+ self,
1758
+ ) -> typing.Union[_IResolvable_da3f097b, CfnSubscriber.SubscriberIdentityProperty]:
1759
+ '''The AWS identity used to access your data.
1760
+
1761
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-subscriber.html#cfn-securitylake-subscriber-subscriberidentity
1762
+ '''
1763
+ result = self._values.get("subscriber_identity")
1764
+ assert result is not None, "Required property 'subscriber_identity' is missing"
1765
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnSubscriber.SubscriberIdentityProperty], result)
1766
+
1767
+ @builtins.property
1768
+ def subscriber_name(self) -> builtins.str:
1769
+ '''The name of your Amazon Security Lake subscriber account.
1770
+
1771
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-subscriber.html#cfn-securitylake-subscriber-subscribername
1772
+ '''
1773
+ result = self._values.get("subscriber_name")
1774
+ assert result is not None, "Required property 'subscriber_name' is missing"
1775
+ return typing.cast(builtins.str, result)
1776
+
1777
+ @builtins.property
1778
+ def subscriber_description(self) -> typing.Optional[builtins.str]:
1779
+ '''The subscriber descriptions for a subscriber account.
1780
+
1781
+ The description for a subscriber includes ``subscriberName`` , ``accountID`` , ``externalID`` , and ``subscriberId`` .
1782
+
1783
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-subscriber.html#cfn-securitylake-subscriber-subscriberdescription
1784
+ '''
1785
+ result = self._values.get("subscriber_description")
1786
+ return typing.cast(typing.Optional[builtins.str], result)
1787
+
1788
+ @builtins.property
1789
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1790
+ '''An array of objects, one for each tag to associate with the subscriber.
1791
+
1792
+ For each tag, you must specify both a tag key and a tag value. A tag value cannot be null, but it can be an empty string.
1793
+
1794
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securitylake-subscriber.html#cfn-securitylake-subscriber-tags
1795
+ '''
1796
+ result = self._values.get("tags")
1797
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
1798
+
1799
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1800
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1801
+
1802
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1803
+ return not (rhs == self)
1804
+
1805
+ def __repr__(self) -> str:
1806
+ return "CfnSubscriberProps(%s)" % ", ".join(
1807
+ k + "=" + repr(v) for k, v in self._values.items()
1808
+ )
1809
+
1810
+
1811
+ __all__ = [
1812
+ "CfnAwsLogSource",
1813
+ "CfnAwsLogSourceProps",
1814
+ "CfnDataLake",
1815
+ "CfnDataLakeProps",
1816
+ "CfnSubscriber",
1817
+ "CfnSubscriberProps",
1818
+ ]
1819
+
1820
+ publication.publish()
1821
+
1822
+ def _typecheckingstub__c67fc1d68d61ef9dead7d443499c1a142da192386efc06474b3758994937de6b(
1823
+ scope: _constructs_77d1e7e8.Construct,
1824
+ id: builtins.str,
1825
+ *,
1826
+ data_lake_arn: builtins.str,
1827
+ source_name: builtins.str,
1828
+ source_version: builtins.str,
1829
+ accounts: typing.Optional[typing.Sequence[builtins.str]] = None,
1830
+ ) -> None:
1831
+ """Type checking stubs"""
1832
+ pass
1833
+
1834
+ def _typecheckingstub__2f493097d98865e82cabeeb80dd31577169140709170903a313d3bc579da5bcb(
1835
+ inspector: _TreeInspector_488e0dd5,
1836
+ ) -> None:
1837
+ """Type checking stubs"""
1838
+ pass
1839
+
1840
+ def _typecheckingstub__d4b08275c623e99b1c0cca9f7d97a78cf719804d590ae90e5af151255c42753a(
1841
+ props: typing.Mapping[builtins.str, typing.Any],
1842
+ ) -> None:
1843
+ """Type checking stubs"""
1844
+ pass
1845
+
1846
+ def _typecheckingstub__ed09f296c9b906f7011ea796fce3b42122e1c0490eb544e941f5953a5b0f8403(
1847
+ value: builtins.str,
1848
+ ) -> None:
1849
+ """Type checking stubs"""
1850
+ pass
1851
+
1852
+ def _typecheckingstub__786699bc5ed670115ad16fc2d5cab658ddb4c20d9afccc0010adb67c796143ba(
1853
+ value: builtins.str,
1854
+ ) -> None:
1855
+ """Type checking stubs"""
1856
+ pass
1857
+
1858
+ def _typecheckingstub__2369f0ca541c99625731d8a7db77fa2a9f1346eab63190644c2695d471ddda46(
1859
+ value: builtins.str,
1860
+ ) -> None:
1861
+ """Type checking stubs"""
1862
+ pass
1863
+
1864
+ def _typecheckingstub__a1f564a49d096390f47538b02cc909d2927202e7d6b998b761aaf21810dcf11c(
1865
+ value: typing.Optional[typing.List[builtins.str]],
1866
+ ) -> None:
1867
+ """Type checking stubs"""
1868
+ pass
1869
+
1870
+ def _typecheckingstub__56ae11383caeefb7587043503a4fd999d42e30184765bd5e736dcae60c5b3b94(
1871
+ *,
1872
+ data_lake_arn: builtins.str,
1873
+ source_name: builtins.str,
1874
+ source_version: builtins.str,
1875
+ accounts: typing.Optional[typing.Sequence[builtins.str]] = None,
1876
+ ) -> None:
1877
+ """Type checking stubs"""
1878
+ pass
1879
+
1880
+ def _typecheckingstub__ff487a50882ee11f396717fb970b445f3274af88108d1c1d390543dfb1fdf534(
1881
+ scope: _constructs_77d1e7e8.Construct,
1882
+ id: builtins.str,
1883
+ *,
1884
+ encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataLake.EncryptionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1885
+ lifecycle_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataLake.LifecycleConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1886
+ meta_store_manager_role_arn: typing.Optional[builtins.str] = None,
1887
+ replication_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDataLake.ReplicationConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1888
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1889
+ ) -> None:
1890
+ """Type checking stubs"""
1891
+ pass
1892
+
1893
+ def _typecheckingstub__0d7a1c25528114b19a22f7fe9e5b4213f46c37e16f22245bc3dc38ad34fc7ef6(
1894
+ inspector: _TreeInspector_488e0dd5,
1895
+ ) -> None:
1896
+ """Type checking stubs"""
1897
+ pass
1898
+
1899
+ def _typecheckingstub__eb852df583c773c6f5d30c27afae6f598c8606ae40f25dd1885d8fbf5013661b(
1900
+ props: typing.Mapping[builtins.str, typing.Any],
1901
+ ) -> None:
1902
+ """Type checking stubs"""
1903
+ pass
1904
+
1905
+ def _typecheckingstub__12edf08ab82b633325fe7034b3424955ea7bff566dfa00928107723a5d0f6a72(
1906
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDataLake.EncryptionConfigurationProperty]],
1907
+ ) -> None:
1908
+ """Type checking stubs"""
1909
+ pass
1910
+
1911
+ def _typecheckingstub__916659d1bcdf1d6d40de689f3b334b766e1a8fb681a493926742e61ce5ba40b7(
1912
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDataLake.LifecycleConfigurationProperty]],
1913
+ ) -> None:
1914
+ """Type checking stubs"""
1915
+ pass
1916
+
1917
+ def _typecheckingstub__23cd82335763114e4ff9c52f4ff2b4db4b4be68cc8f5b468e1325fa0e0e79558(
1918
+ value: typing.Optional[builtins.str],
1919
+ ) -> None:
1920
+ """Type checking stubs"""
1921
+ pass
1922
+
1923
+ def _typecheckingstub__647257bd68002b29a89b3128d4883d0c748e98d2c70a5b154446993271225230(
1924
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDataLake.ReplicationConfigurationProperty]],
1925
+ ) -> None:
1926
+ """Type checking stubs"""
1927
+ pass
1928
+
1929
+ def _typecheckingstub__6654ce3b2fa02feedc8f03797f96ae7270d4bd79ef3c3791b522e8277fa3798c(
1930
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
1931
+ ) -> None:
1932
+ """Type checking stubs"""
810
1933
  pass
811
1934
 
812
1935
  def _typecheckingstub__c697088167e83d968076432c9f71877137655465afc625784270e3ba40d3f57b(
@@ -857,3 +1980,117 @@ def _typecheckingstub__f98044af937b493e98dc654fc28cbeccbd1ee2f339cd00c1cc5905684
857
1980
  ) -> None:
858
1981
  """Type checking stubs"""
859
1982
  pass
1983
+
1984
+ def _typecheckingstub__7cfdc1f6a6f3c553e914b6e8b917c7abd1db0a1142db24f189c29526acaaea39(
1985
+ scope: _constructs_77d1e7e8.Construct,
1986
+ id: builtins.str,
1987
+ *,
1988
+ access_types: typing.Sequence[builtins.str],
1989
+ data_lake_arn: builtins.str,
1990
+ sources: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSubscriber.SourceProperty, typing.Dict[builtins.str, typing.Any]]]]],
1991
+ subscriber_identity: typing.Union[_IResolvable_da3f097b, typing.Union[CfnSubscriber.SubscriberIdentityProperty, typing.Dict[builtins.str, typing.Any]]],
1992
+ subscriber_name: builtins.str,
1993
+ subscriber_description: typing.Optional[builtins.str] = None,
1994
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1995
+ ) -> None:
1996
+ """Type checking stubs"""
1997
+ pass
1998
+
1999
+ def _typecheckingstub__a8615499628b1f4753ef250f307567474c9df890e5c028af197e02c5372c550c(
2000
+ inspector: _TreeInspector_488e0dd5,
2001
+ ) -> None:
2002
+ """Type checking stubs"""
2003
+ pass
2004
+
2005
+ def _typecheckingstub__3790e1b87c269e951008aa5f293e263e93c06977e1eeed2a69dfca58c409514a(
2006
+ props: typing.Mapping[builtins.str, typing.Any],
2007
+ ) -> None:
2008
+ """Type checking stubs"""
2009
+ pass
2010
+
2011
+ def _typecheckingstub__3f5e7268ca27d6f9f4f7235ed5dc11031e3dcfecbb97acb334a181ffa62b0550(
2012
+ value: typing.List[builtins.str],
2013
+ ) -> None:
2014
+ """Type checking stubs"""
2015
+ pass
2016
+
2017
+ def _typecheckingstub__6b6df05258f367a78b9fe1e83d93bbb4170db63eebfcfcaf47743e3795fdea19(
2018
+ value: builtins.str,
2019
+ ) -> None:
2020
+ """Type checking stubs"""
2021
+ pass
2022
+
2023
+ def _typecheckingstub__bc932de85d8e0823efeb32cd9962639ee0df5d9caf72a0cc1bd8a74abd3853f1(
2024
+ value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnSubscriber.SourceProperty]]],
2025
+ ) -> None:
2026
+ """Type checking stubs"""
2027
+ pass
2028
+
2029
+ def _typecheckingstub__844ac1bd9005c05fc49f39ac053da7c40f778e558a2e4cf96983161b114d88a7(
2030
+ value: typing.Union[_IResolvable_da3f097b, CfnSubscriber.SubscriberIdentityProperty],
2031
+ ) -> None:
2032
+ """Type checking stubs"""
2033
+ pass
2034
+
2035
+ def _typecheckingstub__cd9beb9187d8345c4ae00d2ee6483cd5f3841d1801dffe9de561ed1934ddd965(
2036
+ value: builtins.str,
2037
+ ) -> None:
2038
+ """Type checking stubs"""
2039
+ pass
2040
+
2041
+ def _typecheckingstub__3147cb4779ff5832faddc8bdeac62a5ff6db17ddc1eddee78b4f5ca463a0ed76(
2042
+ value: typing.Optional[builtins.str],
2043
+ ) -> None:
2044
+ """Type checking stubs"""
2045
+ pass
2046
+
2047
+ def _typecheckingstub__b8f06145c3b30c94dc03a8f547df3132c6f47f465dc815eb5282aab9542906c1(
2048
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
2049
+ ) -> None:
2050
+ """Type checking stubs"""
2051
+ pass
2052
+
2053
+ def _typecheckingstub__f7b68bdff72d0a83be28cc208139e37398a7b328722b97984e752440b8b9b167(
2054
+ *,
2055
+ source_name: typing.Optional[builtins.str] = None,
2056
+ source_version: typing.Optional[builtins.str] = None,
2057
+ ) -> None:
2058
+ """Type checking stubs"""
2059
+ pass
2060
+
2061
+ def _typecheckingstub__be7ff1808e2250d74fc3f0286676c85a2ac63ab562fb09265ceb5138256bdb3a(
2062
+ *,
2063
+ source_name: typing.Optional[builtins.str] = None,
2064
+ source_version: typing.Optional[builtins.str] = None,
2065
+ ) -> None:
2066
+ """Type checking stubs"""
2067
+ pass
2068
+
2069
+ def _typecheckingstub__09624bc0a82e7efd60186ff6e6eeff97f2daca3d7d705b8e7e3451a7add8d126(
2070
+ *,
2071
+ aws_log_source: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSubscriber.AwsLogSourceProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2072
+ custom_log_source: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSubscriber.CustomLogSourceProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2073
+ ) -> None:
2074
+ """Type checking stubs"""
2075
+ pass
2076
+
2077
+ def _typecheckingstub__a2dd3305d7b56ebd933e9b9e7b243865a7a5c734ed08bef308334f82a70d692e(
2078
+ *,
2079
+ external_id: builtins.str,
2080
+ principal: builtins.str,
2081
+ ) -> None:
2082
+ """Type checking stubs"""
2083
+ pass
2084
+
2085
+ def _typecheckingstub__48b4dffc39d9aeba296ada6ed3b12f7273758033f731faa94da735c639fb2f10(
2086
+ *,
2087
+ access_types: typing.Sequence[builtins.str],
2088
+ data_lake_arn: builtins.str,
2089
+ sources: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnSubscriber.SourceProperty, typing.Dict[builtins.str, typing.Any]]]]],
2090
+ subscriber_identity: typing.Union[_IResolvable_da3f097b, typing.Union[CfnSubscriber.SubscriberIdentityProperty, typing.Dict[builtins.str, typing.Any]]],
2091
+ subscriber_name: builtins.str,
2092
+ subscriber_description: typing.Optional[builtins.str] = None,
2093
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2094
+ ) -> None:
2095
+ """Type checking stubs"""
2096
+ pass