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
@@ -0,0 +1,960 @@
1
+ '''
2
+ # AWS::CleanRoomsML Construct Library
3
+
4
+ <!--BEGIN STABILITY BANNER-->---
5
+
6
+
7
+ ![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge)
8
+
9
+ > All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use.
10
+
11
+ ---
12
+ <!--END STABILITY BANNER-->
13
+
14
+ This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project.
15
+
16
+ ```python
17
+ import aws_cdk.aws_cleanroomsml as cleanroomsml
18
+ ```
19
+
20
+ <!--BEGIN CFNONLY DISCLAIMER-->
21
+
22
+ There are no official hand-written ([L2](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) constructs for this service yet. Here are some suggestions on how to proceed:
23
+
24
+ * Search [Construct Hub for CleanRoomsML construct libraries](https://constructs.dev/search?q=cleanroomsml)
25
+ * Use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, in the same way you would use [the CloudFormation AWS::CleanRoomsML resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_CleanRoomsML.html) directly.
26
+
27
+ <!--BEGIN CFNONLY DISCLAIMER-->
28
+
29
+ There are no hand-written ([L2](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) constructs for this service yet.
30
+ However, you can still use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, and use this service exactly as you would using CloudFormation directly.
31
+
32
+ For more information on the resources and properties available for this service, see the [CloudFormation documentation for AWS::CleanRoomsML](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_CleanRoomsML.html).
33
+
34
+ (Read the [CDK Contributing Guide](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and submit an RFC if you are interested in contributing to this construct library.)
35
+
36
+ <!--END CFNONLY DISCLAIMER-->
37
+ '''
38
+ from pkgutil import extend_path
39
+ __path__ = extend_path(__path__, __name__)
40
+
41
+ import abc
42
+ import builtins
43
+ import datetime
44
+ import enum
45
+ import typing
46
+
47
+ import jsii
48
+ import publication
49
+ import typing_extensions
50
+
51
+ from typeguard import check_type
52
+
53
+ from .._jsii import *
54
+
55
+ import constructs as _constructs_77d1e7e8
56
+ from .. import (
57
+ CfnResource as _CfnResource_9df397a6,
58
+ CfnTag as _CfnTag_f6864754,
59
+ IInspectable as _IInspectable_c2943556,
60
+ IResolvable as _IResolvable_da3f097b,
61
+ ITaggableV2 as _ITaggableV2_4e6798f8,
62
+ TagManager as _TagManager_0a598cb3,
63
+ TreeInspector as _TreeInspector_488e0dd5,
64
+ )
65
+
66
+
67
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
68
+ class CfnTrainingDataset(
69
+ _CfnResource_9df397a6,
70
+ metaclass=jsii.JSIIMeta,
71
+ jsii_type="aws-cdk-lib.aws_cleanroomsml.CfnTrainingDataset",
72
+ ):
73
+ '''Defines the information necessary to create a training dataset.
74
+
75
+ In Clean Rooms ML, the ``TrainingDataset`` is metadata that points to a Glue table, which is read only during ``AudienceModel`` creation.
76
+
77
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanroomsml-trainingdataset.html
78
+ :cloudformationResource: AWS::CleanRoomsML::TrainingDataset
79
+ :exampleMetadata: fixture=_generated
80
+
81
+ Example::
82
+
83
+ # The code below shows an example of how to instantiate this type.
84
+ # The values are placeholders you should change.
85
+ from aws_cdk import aws_cleanroomsml as cleanroomsml
86
+
87
+ cfn_training_dataset = cleanroomsml.CfnTrainingDataset(self, "MyCfnTrainingDataset",
88
+ name="name",
89
+ role_arn="roleArn",
90
+ training_data=[cleanroomsml.CfnTrainingDataset.DatasetProperty(
91
+ input_config=cleanroomsml.CfnTrainingDataset.DatasetInputConfigProperty(
92
+ data_source=cleanroomsml.CfnTrainingDataset.DataSourceProperty(
93
+ glue_data_source=cleanroomsml.CfnTrainingDataset.GlueDataSourceProperty(
94
+ database_name="databaseName",
95
+ table_name="tableName",
96
+
97
+ # the properties below are optional
98
+ catalog_id="catalogId"
99
+ )
100
+ ),
101
+ schema=[cleanroomsml.CfnTrainingDataset.ColumnSchemaProperty(
102
+ column_name="columnName",
103
+ column_types=["columnTypes"]
104
+ )]
105
+ ),
106
+ type="type"
107
+ )],
108
+
109
+ # the properties below are optional
110
+ description="description",
111
+ tags=[CfnTag(
112
+ key="key",
113
+ value="value"
114
+ )]
115
+ )
116
+ '''
117
+
118
+ def __init__(
119
+ self,
120
+ scope: _constructs_77d1e7e8.Construct,
121
+ id: builtins.str,
122
+ *,
123
+ name: builtins.str,
124
+ role_arn: builtins.str,
125
+ training_data: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTrainingDataset.DatasetProperty", typing.Dict[builtins.str, typing.Any]]]]],
126
+ description: typing.Optional[builtins.str] = None,
127
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
128
+ ) -> None:
129
+ '''
130
+ :param scope: Scope in which this resource is defined.
131
+ :param id: Construct identifier for this resource (unique in its scope).
132
+ :param name: The name of the training dataset.
133
+ :param role_arn: The ARN of the IAM role that Clean Rooms ML can assume to read the data referred to in the ``dataSource`` field of each dataset. Passing a role across accounts is not allowed. If you pass a role that isn't in your account, you get an ``AccessDeniedException`` error.
134
+ :param training_data: An array of information that lists the Dataset objects, which specifies the dataset type and details on its location and schema. You must provide a role that has read access to these tables.
135
+ :param description: The description of the training dataset.
136
+ :param tags: The optional metadata that you apply to the resource to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. The following basic restrictions apply to tags: - Maximum number of tags per resource - 50. - For each resource, each tag key must be unique, and each tag key can have only one value. - Maximum key length - 128 Unicode characters in UTF-8. - Maximum value length - 256 Unicode characters in UTF-8. - If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : /
137
+ '''
138
+ if __debug__:
139
+ type_hints = typing.get_type_hints(_typecheckingstub__038c489df01bd94323363a194424fbe900aac226689cefa852a1f05e78d3bf55)
140
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
141
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
142
+ props = CfnTrainingDatasetProps(
143
+ name=name,
144
+ role_arn=role_arn,
145
+ training_data=training_data,
146
+ description=description,
147
+ tags=tags,
148
+ )
149
+
150
+ jsii.create(self.__class__, self, [scope, id, props])
151
+
152
+ @jsii.member(jsii_name="inspect")
153
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
154
+ '''Examines the CloudFormation resource and discloses attributes.
155
+
156
+ :param inspector: tree inspector to collect and process attributes.
157
+ '''
158
+ if __debug__:
159
+ type_hints = typing.get_type_hints(_typecheckingstub__9028b0a86b67eeece54985e3b32f00cd36517f094fd9d81836504af70a287532)
160
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
161
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
162
+
163
+ @jsii.member(jsii_name="renderProperties")
164
+ def _render_properties(
165
+ self,
166
+ props: typing.Mapping[builtins.str, typing.Any],
167
+ ) -> typing.Mapping[builtins.str, typing.Any]:
168
+ '''
169
+ :param props: -
170
+ '''
171
+ if __debug__:
172
+ type_hints = typing.get_type_hints(_typecheckingstub__9a85a48fae07d74ac7e0c59e9b85c0b8f0441d9c407bfe3085fc7206894045b9)
173
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
174
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
175
+
176
+ @jsii.python.classproperty
177
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
178
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
179
+ '''The CloudFormation resource type name for this resource class.'''
180
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
181
+
182
+ @builtins.property
183
+ @jsii.member(jsii_name="attrStatus")
184
+ def attr_status(self) -> builtins.str:
185
+ '''The status of the training dataset.
186
+
187
+ :cloudformationAttribute: Status
188
+ '''
189
+ return typing.cast(builtins.str, jsii.get(self, "attrStatus"))
190
+
191
+ @builtins.property
192
+ @jsii.member(jsii_name="attrTrainingDatasetArn")
193
+ def attr_training_dataset_arn(self) -> builtins.str:
194
+ '''The Amazon Resource Name (ARN) of the training dataset.
195
+
196
+ :cloudformationAttribute: TrainingDatasetArn
197
+ '''
198
+ return typing.cast(builtins.str, jsii.get(self, "attrTrainingDatasetArn"))
199
+
200
+ @builtins.property
201
+ @jsii.member(jsii_name="cdkTagManager")
202
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
203
+ '''Tag Manager which manages the tags for this resource.'''
204
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
205
+
206
+ @builtins.property
207
+ @jsii.member(jsii_name="cfnProperties")
208
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
209
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
210
+
211
+ @builtins.property
212
+ @jsii.member(jsii_name="name")
213
+ def name(self) -> builtins.str:
214
+ '''The name of the training dataset.'''
215
+ return typing.cast(builtins.str, jsii.get(self, "name"))
216
+
217
+ @name.setter
218
+ def name(self, value: builtins.str) -> None:
219
+ if __debug__:
220
+ type_hints = typing.get_type_hints(_typecheckingstub__494f55ff0a6978c4165f5d363cd591484cf83133d7818ceede53e907d0c936c8)
221
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
222
+ jsii.set(self, "name", value)
223
+
224
+ @builtins.property
225
+ @jsii.member(jsii_name="roleArn")
226
+ def role_arn(self) -> builtins.str:
227
+ '''The ARN of the IAM role that Clean Rooms ML can assume to read the data referred to in the ``dataSource`` field of each dataset.'''
228
+ return typing.cast(builtins.str, jsii.get(self, "roleArn"))
229
+
230
+ @role_arn.setter
231
+ def role_arn(self, value: builtins.str) -> None:
232
+ if __debug__:
233
+ type_hints = typing.get_type_hints(_typecheckingstub__5dd3ad8ea8435bdf184f933dfcef7f130800d9b2a40eae3e2318bb9c9a09e4e6)
234
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
235
+ jsii.set(self, "roleArn", value)
236
+
237
+ @builtins.property
238
+ @jsii.member(jsii_name="trainingData")
239
+ def training_data(
240
+ self,
241
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnTrainingDataset.DatasetProperty"]]]:
242
+ '''An array of information that lists the Dataset objects, which specifies the dataset type and details on its location and schema.'''
243
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnTrainingDataset.DatasetProperty"]]], jsii.get(self, "trainingData"))
244
+
245
+ @training_data.setter
246
+ def training_data(
247
+ self,
248
+ value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnTrainingDataset.DatasetProperty"]]],
249
+ ) -> None:
250
+ if __debug__:
251
+ type_hints = typing.get_type_hints(_typecheckingstub__dc1942d638c495e8ce078a6ab83bfe20a886d72c3fb786c501cd684c593146ac)
252
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
253
+ jsii.set(self, "trainingData", value)
254
+
255
+ @builtins.property
256
+ @jsii.member(jsii_name="description")
257
+ def description(self) -> typing.Optional[builtins.str]:
258
+ '''The description of the training dataset.'''
259
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "description"))
260
+
261
+ @description.setter
262
+ def description(self, value: typing.Optional[builtins.str]) -> None:
263
+ if __debug__:
264
+ type_hints = typing.get_type_hints(_typecheckingstub__1072b383b65b621f0fc0b4b9426fe6c12552a36489cacafc4d1d23d46a07fc1f)
265
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
266
+ jsii.set(self, "description", value)
267
+
268
+ @builtins.property
269
+ @jsii.member(jsii_name="tags")
270
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
271
+ '''The optional metadata that you apply to the resource to help you categorize and organize them.'''
272
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
273
+
274
+ @tags.setter
275
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
276
+ if __debug__:
277
+ type_hints = typing.get_type_hints(_typecheckingstub__a3b6f50dc896f0f57ebfe75a224d400087cca80791cfac1f7d4afe9d1151d747)
278
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
279
+ jsii.set(self, "tags", value)
280
+
281
+ @jsii.data_type(
282
+ jsii_type="aws-cdk-lib.aws_cleanroomsml.CfnTrainingDataset.ColumnSchemaProperty",
283
+ jsii_struct_bases=[],
284
+ name_mapping={"column_name": "columnName", "column_types": "columnTypes"},
285
+ )
286
+ class ColumnSchemaProperty:
287
+ def __init__(
288
+ self,
289
+ *,
290
+ column_name: builtins.str,
291
+ column_types: typing.Sequence[builtins.str],
292
+ ) -> None:
293
+ '''Metadata for a column.
294
+
295
+ :param column_name: The name of a column.
296
+ :param column_types: The data type of column.
297
+
298
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanroomsml-trainingdataset-columnschema.html
299
+ :exampleMetadata: fixture=_generated
300
+
301
+ Example::
302
+
303
+ # The code below shows an example of how to instantiate this type.
304
+ # The values are placeholders you should change.
305
+ from aws_cdk import aws_cleanroomsml as cleanroomsml
306
+
307
+ column_schema_property = cleanroomsml.CfnTrainingDataset.ColumnSchemaProperty(
308
+ column_name="columnName",
309
+ column_types=["columnTypes"]
310
+ )
311
+ '''
312
+ if __debug__:
313
+ type_hints = typing.get_type_hints(_typecheckingstub__15de5d6643671de2a88fad9d9afaad1a33eaa500023772c59a4b9d5f2c0e5ca5)
314
+ check_type(argname="argument column_name", value=column_name, expected_type=type_hints["column_name"])
315
+ check_type(argname="argument column_types", value=column_types, expected_type=type_hints["column_types"])
316
+ self._values: typing.Dict[builtins.str, typing.Any] = {
317
+ "column_name": column_name,
318
+ "column_types": column_types,
319
+ }
320
+
321
+ @builtins.property
322
+ def column_name(self) -> builtins.str:
323
+ '''The name of a column.
324
+
325
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanroomsml-trainingdataset-columnschema.html#cfn-cleanroomsml-trainingdataset-columnschema-columnname
326
+ '''
327
+ result = self._values.get("column_name")
328
+ assert result is not None, "Required property 'column_name' is missing"
329
+ return typing.cast(builtins.str, result)
330
+
331
+ @builtins.property
332
+ def column_types(self) -> typing.List[builtins.str]:
333
+ '''The data type of column.
334
+
335
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanroomsml-trainingdataset-columnschema.html#cfn-cleanroomsml-trainingdataset-columnschema-columntypes
336
+ '''
337
+ result = self._values.get("column_types")
338
+ assert result is not None, "Required property 'column_types' is missing"
339
+ return typing.cast(typing.List[builtins.str], result)
340
+
341
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
342
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
343
+
344
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
345
+ return not (rhs == self)
346
+
347
+ def __repr__(self) -> str:
348
+ return "ColumnSchemaProperty(%s)" % ", ".join(
349
+ k + "=" + repr(v) for k, v in self._values.items()
350
+ )
351
+
352
+ @jsii.data_type(
353
+ jsii_type="aws-cdk-lib.aws_cleanroomsml.CfnTrainingDataset.DataSourceProperty",
354
+ jsii_struct_bases=[],
355
+ name_mapping={"glue_data_source": "glueDataSource"},
356
+ )
357
+ class DataSourceProperty:
358
+ def __init__(
359
+ self,
360
+ *,
361
+ glue_data_source: typing.Union[_IResolvable_da3f097b, typing.Union["CfnTrainingDataset.GlueDataSourceProperty", typing.Dict[builtins.str, typing.Any]]],
362
+ ) -> None:
363
+ '''Defines information about the Glue data source that contains the training data.
364
+
365
+ :param glue_data_source: A GlueDataSource object that defines the catalog ID, database name, and table name for the training data.
366
+
367
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanroomsml-trainingdataset-datasource.html
368
+ :exampleMetadata: fixture=_generated
369
+
370
+ Example::
371
+
372
+ # The code below shows an example of how to instantiate this type.
373
+ # The values are placeholders you should change.
374
+ from aws_cdk import aws_cleanroomsml as cleanroomsml
375
+
376
+ data_source_property = cleanroomsml.CfnTrainingDataset.DataSourceProperty(
377
+ glue_data_source=cleanroomsml.CfnTrainingDataset.GlueDataSourceProperty(
378
+ database_name="databaseName",
379
+ table_name="tableName",
380
+
381
+ # the properties below are optional
382
+ catalog_id="catalogId"
383
+ )
384
+ )
385
+ '''
386
+ if __debug__:
387
+ type_hints = typing.get_type_hints(_typecheckingstub__d605167b33212652a5badb6d4db40ca8e474bafedbd9c8b5354317bb8e696966)
388
+ check_type(argname="argument glue_data_source", value=glue_data_source, expected_type=type_hints["glue_data_source"])
389
+ self._values: typing.Dict[builtins.str, typing.Any] = {
390
+ "glue_data_source": glue_data_source,
391
+ }
392
+
393
+ @builtins.property
394
+ def glue_data_source(
395
+ self,
396
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnTrainingDataset.GlueDataSourceProperty"]:
397
+ '''A GlueDataSource object that defines the catalog ID, database name, and table name for the training data.
398
+
399
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanroomsml-trainingdataset-datasource.html#cfn-cleanroomsml-trainingdataset-datasource-gluedatasource
400
+ '''
401
+ result = self._values.get("glue_data_source")
402
+ assert result is not None, "Required property 'glue_data_source' is missing"
403
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnTrainingDataset.GlueDataSourceProperty"], result)
404
+
405
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
406
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
407
+
408
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
409
+ return not (rhs == self)
410
+
411
+ def __repr__(self) -> str:
412
+ return "DataSourceProperty(%s)" % ", ".join(
413
+ k + "=" + repr(v) for k, v in self._values.items()
414
+ )
415
+
416
+ @jsii.data_type(
417
+ jsii_type="aws-cdk-lib.aws_cleanroomsml.CfnTrainingDataset.DatasetInputConfigProperty",
418
+ jsii_struct_bases=[],
419
+ name_mapping={"data_source": "dataSource", "schema": "schema"},
420
+ )
421
+ class DatasetInputConfigProperty:
422
+ def __init__(
423
+ self,
424
+ *,
425
+ data_source: typing.Union[_IResolvable_da3f097b, typing.Union["CfnTrainingDataset.DataSourceProperty", typing.Dict[builtins.str, typing.Any]]],
426
+ schema: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTrainingDataset.ColumnSchemaProperty", typing.Dict[builtins.str, typing.Any]]]]],
427
+ ) -> None:
428
+ '''Defines the Glue data source and schema mapping information.
429
+
430
+ :param data_source: A DataSource object that specifies the Glue data source for the training data.
431
+ :param schema: The schema information for the training data.
432
+
433
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanroomsml-trainingdataset-datasetinputconfig.html
434
+ :exampleMetadata: fixture=_generated
435
+
436
+ Example::
437
+
438
+ # The code below shows an example of how to instantiate this type.
439
+ # The values are placeholders you should change.
440
+ from aws_cdk import aws_cleanroomsml as cleanroomsml
441
+
442
+ dataset_input_config_property = cleanroomsml.CfnTrainingDataset.DatasetInputConfigProperty(
443
+ data_source=cleanroomsml.CfnTrainingDataset.DataSourceProperty(
444
+ glue_data_source=cleanroomsml.CfnTrainingDataset.GlueDataSourceProperty(
445
+ database_name="databaseName",
446
+ table_name="tableName",
447
+
448
+ # the properties below are optional
449
+ catalog_id="catalogId"
450
+ )
451
+ ),
452
+ schema=[cleanroomsml.CfnTrainingDataset.ColumnSchemaProperty(
453
+ column_name="columnName",
454
+ column_types=["columnTypes"]
455
+ )]
456
+ )
457
+ '''
458
+ if __debug__:
459
+ type_hints = typing.get_type_hints(_typecheckingstub__ab93d97f5b26accc73a8c37bd47a1cbf272dd2d33e0ff1a267931c622072b676)
460
+ check_type(argname="argument data_source", value=data_source, expected_type=type_hints["data_source"])
461
+ check_type(argname="argument schema", value=schema, expected_type=type_hints["schema"])
462
+ self._values: typing.Dict[builtins.str, typing.Any] = {
463
+ "data_source": data_source,
464
+ "schema": schema,
465
+ }
466
+
467
+ @builtins.property
468
+ def data_source(
469
+ self,
470
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnTrainingDataset.DataSourceProperty"]:
471
+ '''A DataSource object that specifies the Glue data source for the training data.
472
+
473
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanroomsml-trainingdataset-datasetinputconfig.html#cfn-cleanroomsml-trainingdataset-datasetinputconfig-datasource
474
+ '''
475
+ result = self._values.get("data_source")
476
+ assert result is not None, "Required property 'data_source' is missing"
477
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnTrainingDataset.DataSourceProperty"], result)
478
+
479
+ @builtins.property
480
+ def schema(
481
+ self,
482
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnTrainingDataset.ColumnSchemaProperty"]]]:
483
+ '''The schema information for the training data.
484
+
485
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanroomsml-trainingdataset-datasetinputconfig.html#cfn-cleanroomsml-trainingdataset-datasetinputconfig-schema
486
+ '''
487
+ result = self._values.get("schema")
488
+ assert result is not None, "Required property 'schema' is missing"
489
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnTrainingDataset.ColumnSchemaProperty"]]], result)
490
+
491
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
492
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
493
+
494
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
495
+ return not (rhs == self)
496
+
497
+ def __repr__(self) -> str:
498
+ return "DatasetInputConfigProperty(%s)" % ", ".join(
499
+ k + "=" + repr(v) for k, v in self._values.items()
500
+ )
501
+
502
+ @jsii.data_type(
503
+ jsii_type="aws-cdk-lib.aws_cleanroomsml.CfnTrainingDataset.DatasetProperty",
504
+ jsii_struct_bases=[],
505
+ name_mapping={"input_config": "inputConfig", "type": "type"},
506
+ )
507
+ class DatasetProperty:
508
+ def __init__(
509
+ self,
510
+ *,
511
+ input_config: typing.Union[_IResolvable_da3f097b, typing.Union["CfnTrainingDataset.DatasetInputConfigProperty", typing.Dict[builtins.str, typing.Any]]],
512
+ type: builtins.str,
513
+ ) -> None:
514
+ '''Defines where the training dataset is located, what type of data it contains, and how to access the data.
515
+
516
+ :param input_config: A DatasetInputConfig object that defines the data source and schema mapping.
517
+ :param type: What type of information is found in the dataset.
518
+
519
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanroomsml-trainingdataset-dataset.html
520
+ :exampleMetadata: fixture=_generated
521
+
522
+ Example::
523
+
524
+ # The code below shows an example of how to instantiate this type.
525
+ # The values are placeholders you should change.
526
+ from aws_cdk import aws_cleanroomsml as cleanroomsml
527
+
528
+ dataset_property = cleanroomsml.CfnTrainingDataset.DatasetProperty(
529
+ input_config=cleanroomsml.CfnTrainingDataset.DatasetInputConfigProperty(
530
+ data_source=cleanroomsml.CfnTrainingDataset.DataSourceProperty(
531
+ glue_data_source=cleanroomsml.CfnTrainingDataset.GlueDataSourceProperty(
532
+ database_name="databaseName",
533
+ table_name="tableName",
534
+
535
+ # the properties below are optional
536
+ catalog_id="catalogId"
537
+ )
538
+ ),
539
+ schema=[cleanroomsml.CfnTrainingDataset.ColumnSchemaProperty(
540
+ column_name="columnName",
541
+ column_types=["columnTypes"]
542
+ )]
543
+ ),
544
+ type="type"
545
+ )
546
+ '''
547
+ if __debug__:
548
+ type_hints = typing.get_type_hints(_typecheckingstub__38a3a37ec245bf1288fe1fb7ea7c3d9b1d3b4642f41f30639da52a4dca9bd86c)
549
+ check_type(argname="argument input_config", value=input_config, expected_type=type_hints["input_config"])
550
+ check_type(argname="argument type", value=type, expected_type=type_hints["type"])
551
+ self._values: typing.Dict[builtins.str, typing.Any] = {
552
+ "input_config": input_config,
553
+ "type": type,
554
+ }
555
+
556
+ @builtins.property
557
+ def input_config(
558
+ self,
559
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnTrainingDataset.DatasetInputConfigProperty"]:
560
+ '''A DatasetInputConfig object that defines the data source and schema mapping.
561
+
562
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanroomsml-trainingdataset-dataset.html#cfn-cleanroomsml-trainingdataset-dataset-inputconfig
563
+ '''
564
+ result = self._values.get("input_config")
565
+ assert result is not None, "Required property 'input_config' is missing"
566
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnTrainingDataset.DatasetInputConfigProperty"], result)
567
+
568
+ @builtins.property
569
+ def type(self) -> builtins.str:
570
+ '''What type of information is found in the dataset.
571
+
572
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanroomsml-trainingdataset-dataset.html#cfn-cleanroomsml-trainingdataset-dataset-type
573
+ '''
574
+ result = self._values.get("type")
575
+ assert result is not None, "Required property 'type' is missing"
576
+ return typing.cast(builtins.str, result)
577
+
578
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
579
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
580
+
581
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
582
+ return not (rhs == self)
583
+
584
+ def __repr__(self) -> str:
585
+ return "DatasetProperty(%s)" % ", ".join(
586
+ k + "=" + repr(v) for k, v in self._values.items()
587
+ )
588
+
589
+ @jsii.data_type(
590
+ jsii_type="aws-cdk-lib.aws_cleanroomsml.CfnTrainingDataset.GlueDataSourceProperty",
591
+ jsii_struct_bases=[],
592
+ name_mapping={
593
+ "database_name": "databaseName",
594
+ "table_name": "tableName",
595
+ "catalog_id": "catalogId",
596
+ },
597
+ )
598
+ class GlueDataSourceProperty:
599
+ def __init__(
600
+ self,
601
+ *,
602
+ database_name: builtins.str,
603
+ table_name: builtins.str,
604
+ catalog_id: typing.Optional[builtins.str] = None,
605
+ ) -> None:
606
+ '''Defines the Glue data source that contains the training data.
607
+
608
+ :param database_name: The Glue database that contains the training data.
609
+ :param table_name: The Glue table that contains the training data.
610
+ :param catalog_id: The Glue catalog that contains the training data.
611
+
612
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanroomsml-trainingdataset-gluedatasource.html
613
+ :exampleMetadata: fixture=_generated
614
+
615
+ Example::
616
+
617
+ # The code below shows an example of how to instantiate this type.
618
+ # The values are placeholders you should change.
619
+ from aws_cdk import aws_cleanroomsml as cleanroomsml
620
+
621
+ glue_data_source_property = cleanroomsml.CfnTrainingDataset.GlueDataSourceProperty(
622
+ database_name="databaseName",
623
+ table_name="tableName",
624
+
625
+ # the properties below are optional
626
+ catalog_id="catalogId"
627
+ )
628
+ '''
629
+ if __debug__:
630
+ type_hints = typing.get_type_hints(_typecheckingstub__960bc53c7c406ea248f393051fd58abbf5074d22e0eb6439f849d7558cb02ffd)
631
+ check_type(argname="argument database_name", value=database_name, expected_type=type_hints["database_name"])
632
+ check_type(argname="argument table_name", value=table_name, expected_type=type_hints["table_name"])
633
+ check_type(argname="argument catalog_id", value=catalog_id, expected_type=type_hints["catalog_id"])
634
+ self._values: typing.Dict[builtins.str, typing.Any] = {
635
+ "database_name": database_name,
636
+ "table_name": table_name,
637
+ }
638
+ if catalog_id is not None:
639
+ self._values["catalog_id"] = catalog_id
640
+
641
+ @builtins.property
642
+ def database_name(self) -> builtins.str:
643
+ '''The Glue database that contains the training data.
644
+
645
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanroomsml-trainingdataset-gluedatasource.html#cfn-cleanroomsml-trainingdataset-gluedatasource-databasename
646
+ '''
647
+ result = self._values.get("database_name")
648
+ assert result is not None, "Required property 'database_name' is missing"
649
+ return typing.cast(builtins.str, result)
650
+
651
+ @builtins.property
652
+ def table_name(self) -> builtins.str:
653
+ '''The Glue table that contains the training data.
654
+
655
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanroomsml-trainingdataset-gluedatasource.html#cfn-cleanroomsml-trainingdataset-gluedatasource-tablename
656
+ '''
657
+ result = self._values.get("table_name")
658
+ assert result is not None, "Required property 'table_name' is missing"
659
+ return typing.cast(builtins.str, result)
660
+
661
+ @builtins.property
662
+ def catalog_id(self) -> typing.Optional[builtins.str]:
663
+ '''The Glue catalog that contains the training data.
664
+
665
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanroomsml-trainingdataset-gluedatasource.html#cfn-cleanroomsml-trainingdataset-gluedatasource-catalogid
666
+ '''
667
+ result = self._values.get("catalog_id")
668
+ return typing.cast(typing.Optional[builtins.str], result)
669
+
670
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
671
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
672
+
673
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
674
+ return not (rhs == self)
675
+
676
+ def __repr__(self) -> str:
677
+ return "GlueDataSourceProperty(%s)" % ", ".join(
678
+ k + "=" + repr(v) for k, v in self._values.items()
679
+ )
680
+
681
+
682
+ @jsii.data_type(
683
+ jsii_type="aws-cdk-lib.aws_cleanroomsml.CfnTrainingDatasetProps",
684
+ jsii_struct_bases=[],
685
+ name_mapping={
686
+ "name": "name",
687
+ "role_arn": "roleArn",
688
+ "training_data": "trainingData",
689
+ "description": "description",
690
+ "tags": "tags",
691
+ },
692
+ )
693
+ class CfnTrainingDatasetProps:
694
+ def __init__(
695
+ self,
696
+ *,
697
+ name: builtins.str,
698
+ role_arn: builtins.str,
699
+ training_data: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTrainingDataset.DatasetProperty, typing.Dict[builtins.str, typing.Any]]]]],
700
+ description: typing.Optional[builtins.str] = None,
701
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
702
+ ) -> None:
703
+ '''Properties for defining a ``CfnTrainingDataset``.
704
+
705
+ :param name: The name of the training dataset.
706
+ :param role_arn: The ARN of the IAM role that Clean Rooms ML can assume to read the data referred to in the ``dataSource`` field of each dataset. Passing a role across accounts is not allowed. If you pass a role that isn't in your account, you get an ``AccessDeniedException`` error.
707
+ :param training_data: An array of information that lists the Dataset objects, which specifies the dataset type and details on its location and schema. You must provide a role that has read access to these tables.
708
+ :param description: The description of the training dataset.
709
+ :param tags: The optional metadata that you apply to the resource to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. The following basic restrictions apply to tags: - Maximum number of tags per resource - 50. - For each resource, each tag key must be unique, and each tag key can have only one value. - Maximum key length - 128 Unicode characters in UTF-8. - Maximum value length - 256 Unicode characters in UTF-8. - If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : /
710
+
711
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanroomsml-trainingdataset.html
712
+ :exampleMetadata: fixture=_generated
713
+
714
+ Example::
715
+
716
+ # The code below shows an example of how to instantiate this type.
717
+ # The values are placeholders you should change.
718
+ from aws_cdk import aws_cleanroomsml as cleanroomsml
719
+
720
+ cfn_training_dataset_props = cleanroomsml.CfnTrainingDatasetProps(
721
+ name="name",
722
+ role_arn="roleArn",
723
+ training_data=[cleanroomsml.CfnTrainingDataset.DatasetProperty(
724
+ input_config=cleanroomsml.CfnTrainingDataset.DatasetInputConfigProperty(
725
+ data_source=cleanroomsml.CfnTrainingDataset.DataSourceProperty(
726
+ glue_data_source=cleanroomsml.CfnTrainingDataset.GlueDataSourceProperty(
727
+ database_name="databaseName",
728
+ table_name="tableName",
729
+
730
+ # the properties below are optional
731
+ catalog_id="catalogId"
732
+ )
733
+ ),
734
+ schema=[cleanroomsml.CfnTrainingDataset.ColumnSchemaProperty(
735
+ column_name="columnName",
736
+ column_types=["columnTypes"]
737
+ )]
738
+ ),
739
+ type="type"
740
+ )],
741
+
742
+ # the properties below are optional
743
+ description="description",
744
+ tags=[CfnTag(
745
+ key="key",
746
+ value="value"
747
+ )]
748
+ )
749
+ '''
750
+ if __debug__:
751
+ type_hints = typing.get_type_hints(_typecheckingstub__a83ce04ef3c373a0c189c16bb2a7e23aea1fda52268a69a4e97e560d76564547)
752
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
753
+ check_type(argname="argument role_arn", value=role_arn, expected_type=type_hints["role_arn"])
754
+ check_type(argname="argument training_data", value=training_data, expected_type=type_hints["training_data"])
755
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
756
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
757
+ self._values: typing.Dict[builtins.str, typing.Any] = {
758
+ "name": name,
759
+ "role_arn": role_arn,
760
+ "training_data": training_data,
761
+ }
762
+ if description is not None:
763
+ self._values["description"] = description
764
+ if tags is not None:
765
+ self._values["tags"] = tags
766
+
767
+ @builtins.property
768
+ def name(self) -> builtins.str:
769
+ '''The name of the training dataset.
770
+
771
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanroomsml-trainingdataset.html#cfn-cleanroomsml-trainingdataset-name
772
+ '''
773
+ result = self._values.get("name")
774
+ assert result is not None, "Required property 'name' is missing"
775
+ return typing.cast(builtins.str, result)
776
+
777
+ @builtins.property
778
+ def role_arn(self) -> builtins.str:
779
+ '''The ARN of the IAM role that Clean Rooms ML can assume to read the data referred to in the ``dataSource`` field of each dataset.
780
+
781
+ Passing a role across accounts is not allowed. If you pass a role that isn't in your account, you get an ``AccessDeniedException`` error.
782
+
783
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanroomsml-trainingdataset.html#cfn-cleanroomsml-trainingdataset-rolearn
784
+ '''
785
+ result = self._values.get("role_arn")
786
+ assert result is not None, "Required property 'role_arn' is missing"
787
+ return typing.cast(builtins.str, result)
788
+
789
+ @builtins.property
790
+ def training_data(
791
+ self,
792
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnTrainingDataset.DatasetProperty]]]:
793
+ '''An array of information that lists the Dataset objects, which specifies the dataset type and details on its location and schema.
794
+
795
+ You must provide a role that has read access to these tables.
796
+
797
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanroomsml-trainingdataset.html#cfn-cleanroomsml-trainingdataset-trainingdata
798
+ '''
799
+ result = self._values.get("training_data")
800
+ assert result is not None, "Required property 'training_data' is missing"
801
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnTrainingDataset.DatasetProperty]]], result)
802
+
803
+ @builtins.property
804
+ def description(self) -> typing.Optional[builtins.str]:
805
+ '''The description of the training dataset.
806
+
807
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanroomsml-trainingdataset.html#cfn-cleanroomsml-trainingdataset-description
808
+ '''
809
+ result = self._values.get("description")
810
+ return typing.cast(typing.Optional[builtins.str], result)
811
+
812
+ @builtins.property
813
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
814
+ '''The optional metadata that you apply to the resource to help you categorize and organize them.
815
+
816
+ Each tag consists of a key and an optional value, both of which you define.
817
+
818
+ The following basic restrictions apply to tags:
819
+
820
+ - Maximum number of tags per resource - 50.
821
+ - For each resource, each tag key must be unique, and each tag key can have only one value.
822
+ - Maximum key length - 128 Unicode characters in UTF-8.
823
+ - Maximum value length - 256 Unicode characters in UTF-8.
824
+ - If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : /
825
+
826
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanroomsml-trainingdataset.html#cfn-cleanroomsml-trainingdataset-tags
827
+ ::
828
+
829
+ .
830
+
831
+ - Tag keys and values are case sensitive.
832
+ - Do not use ``aws:`` , ``AWS:`` , or any upper or lowercase combination of such as a prefix for keys as it is reserved. You cannot edit or delete tag keys with this prefix. Values can have this prefix. If a tag value has ``aws`` as its prefix but the key does not, then Clean Rooms ML considers it to be a user tag and will count against the limit of 50 tags. Tags with only the key prefix of ``aws`` do not count against your tags per resource limit.
833
+ '''
834
+ result = self._values.get("tags")
835
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
836
+
837
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
838
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
839
+
840
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
841
+ return not (rhs == self)
842
+
843
+ def __repr__(self) -> str:
844
+ return "CfnTrainingDatasetProps(%s)" % ", ".join(
845
+ k + "=" + repr(v) for k, v in self._values.items()
846
+ )
847
+
848
+
849
+ __all__ = [
850
+ "CfnTrainingDataset",
851
+ "CfnTrainingDatasetProps",
852
+ ]
853
+
854
+ publication.publish()
855
+
856
+ def _typecheckingstub__038c489df01bd94323363a194424fbe900aac226689cefa852a1f05e78d3bf55(
857
+ scope: _constructs_77d1e7e8.Construct,
858
+ id: builtins.str,
859
+ *,
860
+ name: builtins.str,
861
+ role_arn: builtins.str,
862
+ training_data: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTrainingDataset.DatasetProperty, typing.Dict[builtins.str, typing.Any]]]]],
863
+ description: typing.Optional[builtins.str] = None,
864
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
865
+ ) -> None:
866
+ """Type checking stubs"""
867
+ pass
868
+
869
+ def _typecheckingstub__9028b0a86b67eeece54985e3b32f00cd36517f094fd9d81836504af70a287532(
870
+ inspector: _TreeInspector_488e0dd5,
871
+ ) -> None:
872
+ """Type checking stubs"""
873
+ pass
874
+
875
+ def _typecheckingstub__9a85a48fae07d74ac7e0c59e9b85c0b8f0441d9c407bfe3085fc7206894045b9(
876
+ props: typing.Mapping[builtins.str, typing.Any],
877
+ ) -> None:
878
+ """Type checking stubs"""
879
+ pass
880
+
881
+ def _typecheckingstub__494f55ff0a6978c4165f5d363cd591484cf83133d7818ceede53e907d0c936c8(
882
+ value: builtins.str,
883
+ ) -> None:
884
+ """Type checking stubs"""
885
+ pass
886
+
887
+ def _typecheckingstub__5dd3ad8ea8435bdf184f933dfcef7f130800d9b2a40eae3e2318bb9c9a09e4e6(
888
+ value: builtins.str,
889
+ ) -> None:
890
+ """Type checking stubs"""
891
+ pass
892
+
893
+ def _typecheckingstub__dc1942d638c495e8ce078a6ab83bfe20a886d72c3fb786c501cd684c593146ac(
894
+ value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnTrainingDataset.DatasetProperty]]],
895
+ ) -> None:
896
+ """Type checking stubs"""
897
+ pass
898
+
899
+ def _typecheckingstub__1072b383b65b621f0fc0b4b9426fe6c12552a36489cacafc4d1d23d46a07fc1f(
900
+ value: typing.Optional[builtins.str],
901
+ ) -> None:
902
+ """Type checking stubs"""
903
+ pass
904
+
905
+ def _typecheckingstub__a3b6f50dc896f0f57ebfe75a224d400087cca80791cfac1f7d4afe9d1151d747(
906
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
907
+ ) -> None:
908
+ """Type checking stubs"""
909
+ pass
910
+
911
+ def _typecheckingstub__15de5d6643671de2a88fad9d9afaad1a33eaa500023772c59a4b9d5f2c0e5ca5(
912
+ *,
913
+ column_name: builtins.str,
914
+ column_types: typing.Sequence[builtins.str],
915
+ ) -> None:
916
+ """Type checking stubs"""
917
+ pass
918
+
919
+ def _typecheckingstub__d605167b33212652a5badb6d4db40ca8e474bafedbd9c8b5354317bb8e696966(
920
+ *,
921
+ glue_data_source: typing.Union[_IResolvable_da3f097b, typing.Union[CfnTrainingDataset.GlueDataSourceProperty, typing.Dict[builtins.str, typing.Any]]],
922
+ ) -> None:
923
+ """Type checking stubs"""
924
+ pass
925
+
926
+ def _typecheckingstub__ab93d97f5b26accc73a8c37bd47a1cbf272dd2d33e0ff1a267931c622072b676(
927
+ *,
928
+ data_source: typing.Union[_IResolvable_da3f097b, typing.Union[CfnTrainingDataset.DataSourceProperty, typing.Dict[builtins.str, typing.Any]]],
929
+ schema: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTrainingDataset.ColumnSchemaProperty, typing.Dict[builtins.str, typing.Any]]]]],
930
+ ) -> None:
931
+ """Type checking stubs"""
932
+ pass
933
+
934
+ def _typecheckingstub__38a3a37ec245bf1288fe1fb7ea7c3d9b1d3b4642f41f30639da52a4dca9bd86c(
935
+ *,
936
+ input_config: typing.Union[_IResolvable_da3f097b, typing.Union[CfnTrainingDataset.DatasetInputConfigProperty, typing.Dict[builtins.str, typing.Any]]],
937
+ type: builtins.str,
938
+ ) -> None:
939
+ """Type checking stubs"""
940
+ pass
941
+
942
+ def _typecheckingstub__960bc53c7c406ea248f393051fd58abbf5074d22e0eb6439f849d7558cb02ffd(
943
+ *,
944
+ database_name: builtins.str,
945
+ table_name: builtins.str,
946
+ catalog_id: typing.Optional[builtins.str] = None,
947
+ ) -> None:
948
+ """Type checking stubs"""
949
+ pass
950
+
951
+ def _typecheckingstub__a83ce04ef3c373a0c189c16bb2a7e23aea1fda52268a69a4e97e560d76564547(
952
+ *,
953
+ name: builtins.str,
954
+ role_arn: builtins.str,
955
+ training_data: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTrainingDataset.DatasetProperty, typing.Dict[builtins.str, typing.Any]]]]],
956
+ description: typing.Optional[builtins.str] = None,
957
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
958
+ ) -> None:
959
+ """Type checking stubs"""
960
+ pass