aws-cdk-lib 2.173.4__py3-none-any.whl → 2.174.1__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 (91) hide show
  1. aws_cdk/__init__.py +210 -181
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.173.4.jsii.tgz → aws-cdk-lib@2.174.1.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +18 -0
  5. aws_cdk/aws_apigateway/__init__.py +127 -168
  6. aws_cdk/aws_appconfig/__init__.py +498 -1
  7. aws_cdk/aws_applicationautoscaling/__init__.py +4 -1
  8. aws_cdk/aws_appsync/__init__.py +4 -0
  9. aws_cdk/aws_autoscaling/__init__.py +96 -0
  10. aws_cdk/aws_batch/__init__.py +662 -237
  11. aws_cdk/aws_bedrock/__init__.py +2122 -181
  12. aws_cdk/aws_cassandra/__init__.py +476 -4
  13. aws_cdk/aws_cleanrooms/__init__.py +1227 -20
  14. aws_cdk/aws_cloudformation/__init__.py +172 -169
  15. aws_cdk/aws_cloudfront/__init__.py +773 -26
  16. aws_cdk/aws_cloudtrail/__init__.py +8 -2
  17. aws_cdk/aws_codebuild/__init__.py +83 -0
  18. aws_cdk/aws_codepipeline/__init__.py +2 -1
  19. aws_cdk/aws_cognito/__init__.py +232 -200
  20. aws_cdk/aws_connect/__init__.py +187 -36
  21. aws_cdk/aws_connectcampaignsv2/__init__.py +106 -12
  22. aws_cdk/aws_databrew/__init__.py +69 -1
  23. aws_cdk/aws_datasync/__init__.py +33 -28
  24. aws_cdk/aws_datazone/__init__.py +141 -41
  25. aws_cdk/aws_dlm/__init__.py +20 -10
  26. aws_cdk/aws_dms/__init__.py +736 -22
  27. aws_cdk/aws_docdb/__init__.py +134 -0
  28. aws_cdk/aws_dynamodb/__init__.py +76 -4
  29. aws_cdk/aws_ec2/__init__.py +1233 -65
  30. aws_cdk/aws_ecr/__init__.py +31 -0
  31. aws_cdk/aws_ecr_assets/__init__.py +5 -0
  32. aws_cdk/aws_ecs/__init__.py +88 -11
  33. aws_cdk/aws_efs/__init__.py +15 -8
  34. aws_cdk/aws_eks/__init__.py +114 -45
  35. aws_cdk/aws_elasticloadbalancingv2/__init__.py +2 -2
  36. aws_cdk/aws_emrserverless/__init__.py +143 -0
  37. aws_cdk/aws_events/__init__.py +50 -30
  38. aws_cdk/aws_fis/__init__.py +33 -33
  39. aws_cdk/aws_fsx/__init__.py +20 -10
  40. aws_cdk/aws_glue/__init__.py +34 -11
  41. aws_cdk/aws_greengrass/__init__.py +8 -8
  42. aws_cdk/aws_guardduty/__init__.py +1 -1
  43. aws_cdk/aws_imagebuilder/__init__.py +45 -47
  44. aws_cdk/aws_internetmonitor/__init__.py +3 -3
  45. aws_cdk/aws_invoicing/__init__.py +55 -30
  46. aws_cdk/aws_iot/__init__.py +1117 -4
  47. aws_cdk/aws_iot1click/__init__.py +17 -7
  48. aws_cdk/aws_kendra/__init__.py +4 -6
  49. aws_cdk/aws_lambda/__init__.py +15 -1
  50. aws_cdk/aws_logs/__init__.py +4011 -86
  51. aws_cdk/aws_m2/__init__.py +41 -0
  52. aws_cdk/aws_mediaconnect/__init__.py +202 -7
  53. aws_cdk/aws_mediaconvert/__init__.py +39 -0
  54. aws_cdk/aws_memorydb/__init__.py +22 -22
  55. aws_cdk/aws_networkmanager/__init__.py +758 -0
  56. aws_cdk/aws_opensearchservice/__init__.py +222 -0
  57. aws_cdk/aws_organizations/__init__.py +5 -3
  58. aws_cdk/aws_pcs/__init__.py +3038 -0
  59. aws_cdk/aws_pipes/__init__.py +10 -10
  60. aws_cdk/aws_qbusiness/__init__.py +415 -140
  61. aws_cdk/aws_quicksight/__init__.py +59795 -49748
  62. aws_cdk/aws_ram/__init__.py +5 -11
  63. aws_cdk/aws_rbin/__init__.py +28 -16
  64. aws_cdk/aws_rds/__init__.py +186 -31
  65. aws_cdk/aws_redshiftserverless/__init__.py +156 -0
  66. aws_cdk/aws_resiliencehub/__init__.py +2 -1
  67. aws_cdk/aws_route53_targets/__init__.py +5 -5
  68. aws_cdk/aws_s3/__init__.py +25 -15
  69. aws_cdk/aws_s3express/__init__.py +7 -7
  70. aws_cdk/aws_s3tables/__init__.py +683 -0
  71. aws_cdk/aws_sagemaker/__init__.py +580 -195
  72. aws_cdk/aws_secretsmanager/__init__.py +2 -0
  73. aws_cdk/aws_securityhub/__init__.py +41 -165
  74. aws_cdk/aws_servicediscovery/__init__.py +10 -3
  75. aws_cdk/aws_ses/__init__.py +190 -5
  76. aws_cdk/aws_sns/__init__.py +7 -3
  77. aws_cdk/aws_synthetics/__init__.py +29 -4
  78. aws_cdk/aws_transfer/__init__.py +8 -0
  79. aws_cdk/aws_vpclattice/__init__.py +147 -77
  80. aws_cdk/aws_wafv2/__init__.py +20 -8
  81. aws_cdk/aws_wisdom/__init__.py +162 -111
  82. aws_cdk/aws_workspaces/__init__.py +10 -4
  83. aws_cdk/cloud_assembly_schema/__init__.py +22 -0
  84. aws_cdk/custom_resources/__init__.py +31 -0
  85. aws_cdk/cx_api/__init__.py +19 -0
  86. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/LICENSE +1 -1
  87. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/METADATA +2 -2
  88. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/NOTICE +1 -1
  89. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/RECORD +91 -89
  90. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/WHEEL +0 -0
  91. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/top_level.txt +0 -0
@@ -77,7 +77,7 @@ class CfnKeyspace(
77
77
  ):
78
78
  '''You can use the ``AWS::Cassandra::Keyspace`` resource to create a new keyspace in Amazon Keyspaces (for Apache Cassandra).
79
79
 
80
- For more information, see `Create a keyspace and a table <https://docs.aws.amazon.com/keyspaces/latest/devguide/getting-started.ddl.html>`_ in the *Amazon Keyspaces Developer Guide* .
80
+ For more information, see `Create a keyspace <https://docs.aws.amazon.com/keyspaces/latest/devguide/getting-started.keyspaces.html>`_ in the *Amazon Keyspaces Developer Guide* .
81
81
 
82
82
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html
83
83
  :cloudformationResource: AWS::Cassandra::Keyspace
@@ -90,6 +90,7 @@ class CfnKeyspace(
90
90
  from aws_cdk import aws_cassandra as cassandra
91
91
 
92
92
  cfn_keyspace = cassandra.CfnKeyspace(self, "MyCfnKeyspace",
93
+ client_side_timestamps_enabled=False,
93
94
  keyspace_name="keyspaceName",
94
95
  replication_specification=cassandra.CfnKeyspace.ReplicationSpecificationProperty(
95
96
  region_list=["regionList"],
@@ -107,6 +108,7 @@ class CfnKeyspace(
107
108
  scope: _constructs_77d1e7e8.Construct,
108
109
  id: builtins.str,
109
110
  *,
111
+ client_side_timestamps_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
110
112
  keyspace_name: typing.Optional[builtins.str] = None,
111
113
  replication_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnKeyspace.ReplicationSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
112
114
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -114,6 +116,7 @@ class CfnKeyspace(
114
116
  '''
115
117
  :param scope: Scope in which this resource is defined.
116
118
  :param id: Construct identifier for this resource (unique in its scope).
119
+ :param client_side_timestamps_enabled: Indicates whether client-side timestamps are enabled (true) or disabled (false) for all tables in the keyspace. To add a Region to a single-Region keyspace with at least one table, the value must be set to true. After you've enabled client-side timestamps for a table, you can’t disable it again.
117
120
  :param keyspace_name: The name of the keyspace to be created. The keyspace name is case sensitive. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the keyspace name. For more information, see `Name type <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html>`_ . *Length constraints:* Minimum length of 3. Maximum length of 255. *Pattern:* ``^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$``
118
121
  :param replication_specification: Specifies the ``ReplicationStrategy`` of a keyspace. The options are:. - ``SINGLE_REGION`` for a single Region keyspace (optional) or - ``MULTI_REGION`` for a multi-Region keyspace If no ``ReplicationStrategy`` is provided, the default is ``SINGLE_REGION`` . If you choose ``MULTI_REGION`` , you must also provide a ``RegionList`` with the AWS Regions that the keyspace is replicated in.
119
122
  :param tags: An array of key-value pairs to apply to this resource. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
@@ -123,6 +126,7 @@ class CfnKeyspace(
123
126
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
124
127
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
125
128
  props = CfnKeyspaceProps(
129
+ client_side_timestamps_enabled=client_side_timestamps_enabled,
126
130
  keyspace_name=keyspace_name,
127
131
  replication_specification=replication_specification,
128
132
  tags=tags,
@@ -171,6 +175,24 @@ class CfnKeyspace(
171
175
  '''Tag Manager which manages the tags for this resource.'''
172
176
  return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
173
177
 
178
+ @builtins.property
179
+ @jsii.member(jsii_name="clientSideTimestampsEnabled")
180
+ def client_side_timestamps_enabled(
181
+ self,
182
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
183
+ '''Indicates whether client-side timestamps are enabled (true) or disabled (false) for all tables in the keyspace.'''
184
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "clientSideTimestampsEnabled"))
185
+
186
+ @client_side_timestamps_enabled.setter
187
+ def client_side_timestamps_enabled(
188
+ self,
189
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
190
+ ) -> None:
191
+ if __debug__:
192
+ type_hints = typing.get_type_hints(_typecheckingstub__fd8481bc3a8aed79ca56b1da03537eb72d1f39b5048347b1f8ac5f28b494a9e8)
193
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
194
+ jsii.set(self, "clientSideTimestampsEnabled", value) # pyright: ignore[reportArgumentType]
195
+
174
196
  @builtins.property
175
197
  @jsii.member(jsii_name="keyspaceName")
176
198
  def keyspace_name(self) -> typing.Optional[builtins.str]:
@@ -235,9 +257,11 @@ class CfnKeyspace(
235
257
  ) -> None:
236
258
  '''You can use ``ReplicationSpecification`` to configure the ``ReplicationStrategy`` of a keyspace in Amazon Keyspaces .
237
259
 
238
- The ``ReplicationSpecification`` property is ``CreateOnly`` and cannot be changed after the keyspace has been created. This property applies automatically to all tables in the keyspace.
260
+ The ``ReplicationSpecification`` property applies automatically to all tables in the keyspace.
261
+
262
+ To review the permissions that are required to add a new Region to a single-Region keyspace, see `Configure the IAM permissions required to add an AWS Region to a keyspace <https://docs.aws.amazon.com/keyspaces/latest/devguide/howitworks_replication_permissions_addReplica.html>`_ in the *Amazon Keyspaces Developer Guide* .
239
263
 
240
- For more information, see `Multi-Region Replication <https://docs.aws.amazon.com/keyspaces/latest/devguide/multiRegion-replication.html>`_ in the *Amazon Keyspaces Developer Guide* .
264
+ For more information about multi-Region replication, see `Multi-Region replication <https://docs.aws.amazon.com/keyspaces/latest/devguide/multiRegion-replication.html>`_ in the *Amazon Keyspaces Developer Guide* .
241
265
 
242
266
  :param region_list: Specifies the AWS Regions that the keyspace is replicated in. You must specify at least two and up to six Regions, including the Region that the keyspace is being created in.
243
267
  :param replication_strategy: The options are:. - ``SINGLE_REGION`` (optional) - ``MULTI_REGION`` If no value is specified, the default is ``SINGLE_REGION`` . If ``MULTI_REGION`` is specified, ``RegionList`` is required.
@@ -307,6 +331,7 @@ class CfnKeyspace(
307
331
  jsii_type="aws-cdk-lib.aws_cassandra.CfnKeyspaceProps",
308
332
  jsii_struct_bases=[],
309
333
  name_mapping={
334
+ "client_side_timestamps_enabled": "clientSideTimestampsEnabled",
310
335
  "keyspace_name": "keyspaceName",
311
336
  "replication_specification": "replicationSpecification",
312
337
  "tags": "tags",
@@ -316,12 +341,14 @@ class CfnKeyspaceProps:
316
341
  def __init__(
317
342
  self,
318
343
  *,
344
+ client_side_timestamps_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
319
345
  keyspace_name: typing.Optional[builtins.str] = None,
320
346
  replication_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnKeyspace.ReplicationSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
321
347
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
322
348
  ) -> None:
323
349
  '''Properties for defining a ``CfnKeyspace``.
324
350
 
351
+ :param client_side_timestamps_enabled: Indicates whether client-side timestamps are enabled (true) or disabled (false) for all tables in the keyspace. To add a Region to a single-Region keyspace with at least one table, the value must be set to true. After you've enabled client-side timestamps for a table, you can’t disable it again.
325
352
  :param keyspace_name: The name of the keyspace to be created. The keyspace name is case sensitive. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the keyspace name. For more information, see `Name type <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html>`_ . *Length constraints:* Minimum length of 3. Maximum length of 255. *Pattern:* ``^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$``
326
353
  :param replication_specification: Specifies the ``ReplicationStrategy`` of a keyspace. The options are:. - ``SINGLE_REGION`` for a single Region keyspace (optional) or - ``MULTI_REGION`` for a multi-Region keyspace If no ``ReplicationStrategy`` is provided, the default is ``SINGLE_REGION`` . If you choose ``MULTI_REGION`` , you must also provide a ``RegionList`` with the AWS Regions that the keyspace is replicated in.
327
354
  :param tags: An array of key-value pairs to apply to this resource. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
@@ -336,6 +363,7 @@ class CfnKeyspaceProps:
336
363
  from aws_cdk import aws_cassandra as cassandra
337
364
 
338
365
  cfn_keyspace_props = cassandra.CfnKeyspaceProps(
366
+ client_side_timestamps_enabled=False,
339
367
  keyspace_name="keyspaceName",
340
368
  replication_specification=cassandra.CfnKeyspace.ReplicationSpecificationProperty(
341
369
  region_list=["regionList"],
@@ -349,10 +377,13 @@ class CfnKeyspaceProps:
349
377
  '''
350
378
  if __debug__:
351
379
  type_hints = typing.get_type_hints(_typecheckingstub__bc0263cb98dfdfc7ed9f31cf986359bcc44c1b3f3c733ebb7d3e36b25fb4cea8)
380
+ check_type(argname="argument client_side_timestamps_enabled", value=client_side_timestamps_enabled, expected_type=type_hints["client_side_timestamps_enabled"])
352
381
  check_type(argname="argument keyspace_name", value=keyspace_name, expected_type=type_hints["keyspace_name"])
353
382
  check_type(argname="argument replication_specification", value=replication_specification, expected_type=type_hints["replication_specification"])
354
383
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
355
384
  self._values: typing.Dict[builtins.str, typing.Any] = {}
385
+ if client_side_timestamps_enabled is not None:
386
+ self._values["client_side_timestamps_enabled"] = client_side_timestamps_enabled
356
387
  if keyspace_name is not None:
357
388
  self._values["keyspace_name"] = keyspace_name
358
389
  if replication_specification is not None:
@@ -360,6 +391,19 @@ class CfnKeyspaceProps:
360
391
  if tags is not None:
361
392
  self._values["tags"] = tags
362
393
 
394
+ @builtins.property
395
+ def client_side_timestamps_enabled(
396
+ self,
397
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
398
+ '''Indicates whether client-side timestamps are enabled (true) or disabled (false) for all tables in the keyspace.
399
+
400
+ To add a Region to a single-Region keyspace with at least one table, the value must be set to true. After you've enabled client-side timestamps for a table, you can’t disable it again.
401
+
402
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html#cfn-cassandra-keyspace-clientsidetimestampsenabled
403
+ '''
404
+ result = self._values.get("client_side_timestamps_enabled")
405
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
406
+
363
407
  @builtins.property
364
408
  def keyspace_name(self) -> typing.Optional[builtins.str]:
365
409
  '''The name of the keyspace to be created.
@@ -422,7 +466,7 @@ class CfnTable(
422
466
  ):
423
467
  '''You can use the ``AWS::Cassandra::Table`` resource to create a new table in Amazon Keyspaces (for Apache Cassandra).
424
468
 
425
- For more information, see `Create a keyspace and a table <https://docs.aws.amazon.com/keyspaces/latest/devguide/getting-started.ddl.html>`_ in the *Amazon Keyspaces Developer Guide* .
469
+ For more information, see `Create a table <https://docs.aws.amazon.com/keyspaces/latest/devguide/getting-started.tables.html>`_ in the *Amazon Keyspaces Developer Guide* .
426
470
 
427
471
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html
428
472
  :cloudformationResource: AWS::Cassandra::Table
@@ -2224,11 +2268,373 @@ class CfnTableProps:
2224
2268
  )
2225
2269
 
2226
2270
 
2271
+ @jsii.implements(_IInspectable_c2943556)
2272
+ class CfnType(
2273
+ _CfnResource_9df397a6,
2274
+ metaclass=jsii.JSIIMeta,
2275
+ jsii_type="aws-cdk-lib.aws_cassandra.CfnType",
2276
+ ):
2277
+ '''The ``CreateType`` operation creates a new user-defined type in the specified keyspace.
2278
+
2279
+ To configure the required permissions, see `Permissions to create a UDT <https://docs.aws.amazon.com/keyspaces/latest/devguide/configure-udt-permissions.html#udt-permissions-create>`_ in the *Amazon Keyspaces Developer Guide* .
2280
+
2281
+ For more information, see `User-defined types (UDTs) <https://docs.aws.amazon.com/keyspaces/latest/devguide/udts.html>`_ in the *Amazon Keyspaces Developer Guide* .
2282
+
2283
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-type.html
2284
+ :cloudformationResource: AWS::Cassandra::Type
2285
+ :exampleMetadata: fixture=_generated
2286
+
2287
+ Example::
2288
+
2289
+ # The code below shows an example of how to instantiate this type.
2290
+ # The values are placeholders you should change.
2291
+ from aws_cdk import aws_cassandra as cassandra
2292
+
2293
+ cfn_type = cassandra.CfnType(self, "MyCfnType",
2294
+ fields=[cassandra.CfnType.FieldProperty(
2295
+ field_name="fieldName",
2296
+ field_type="fieldType"
2297
+ )],
2298
+ keyspace_name="keyspaceName",
2299
+ type_name="typeName"
2300
+ )
2301
+ '''
2302
+
2303
+ def __init__(
2304
+ self,
2305
+ scope: _constructs_77d1e7e8.Construct,
2306
+ id: builtins.str,
2307
+ *,
2308
+ fields: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnType.FieldProperty", typing.Dict[builtins.str, typing.Any]]]]],
2309
+ keyspace_name: builtins.str,
2310
+ type_name: builtins.str,
2311
+ ) -> None:
2312
+ '''
2313
+ :param scope: Scope in which this resource is defined.
2314
+ :param id: Construct identifier for this resource (unique in its scope).
2315
+ :param fields: A list of fields that define this type.
2316
+ :param keyspace_name: The name of the keyspace to create the type in. The keyspace must already exist.
2317
+ :param type_name: The name of the user-defined type. UDT names must contain 48 characters or less, must begin with an alphabetic character, and can only contain alpha-numeric characters and underscores. Amazon Keyspaces converts upper case characters automatically into lower case characters. For more information, see `Create a user-defined type (UDT) in Amazon Keyspaces <https://docs.aws.amazon.com/keyspaces/latest/devguide/keyspaces-create-udt.html>`_ in the *Amazon Keyspaces Developer Guide* .
2318
+ '''
2319
+ if __debug__:
2320
+ type_hints = typing.get_type_hints(_typecheckingstub__fdf5bf6ac8d9d8fc5456b7448fd00dc522384b607e1c447a244fbd1a94a7e2c3)
2321
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
2322
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
2323
+ props = CfnTypeProps(
2324
+ fields=fields, keyspace_name=keyspace_name, type_name=type_name
2325
+ )
2326
+
2327
+ jsii.create(self.__class__, self, [scope, id, props])
2328
+
2329
+ @jsii.member(jsii_name="inspect")
2330
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
2331
+ '''Examines the CloudFormation resource and discloses attributes.
2332
+
2333
+ :param inspector: tree inspector to collect and process attributes.
2334
+ '''
2335
+ if __debug__:
2336
+ type_hints = typing.get_type_hints(_typecheckingstub__d0b9082e2193b209827110d3aa56f16ca3c3a11c24cb6caeaa3fa6467e41c367)
2337
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
2338
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
2339
+
2340
+ @jsii.member(jsii_name="renderProperties")
2341
+ def _render_properties(
2342
+ self,
2343
+ props: typing.Mapping[builtins.str, typing.Any],
2344
+ ) -> typing.Mapping[builtins.str, typing.Any]:
2345
+ '''
2346
+ :param props: -
2347
+ '''
2348
+ if __debug__:
2349
+ type_hints = typing.get_type_hints(_typecheckingstub__424eac90bc15b9127c3abf068efdbd3c37e3ffacf615e7878911972302059411)
2350
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
2351
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
2352
+
2353
+ @jsii.python.classproperty
2354
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
2355
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
2356
+ '''The CloudFormation resource type name for this resource class.'''
2357
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
2358
+
2359
+ @builtins.property
2360
+ @jsii.member(jsii_name="attrDirectParentTypes")
2361
+ def attr_direct_parent_types(self) -> typing.List[builtins.str]:
2362
+ '''A list of user-defined types that use this type.
2363
+
2364
+ :cloudformationAttribute: DirectParentTypes
2365
+ '''
2366
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "attrDirectParentTypes"))
2367
+
2368
+ @builtins.property
2369
+ @jsii.member(jsii_name="attrDirectReferringTables")
2370
+ def attr_direct_referring_tables(self) -> typing.List[builtins.str]:
2371
+ '''A list of tables that use this type.
2372
+
2373
+ :cloudformationAttribute: DirectReferringTables
2374
+ '''
2375
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "attrDirectReferringTables"))
2376
+
2377
+ @builtins.property
2378
+ @jsii.member(jsii_name="attrKeyspaceArn")
2379
+ def attr_keyspace_arn(self) -> builtins.str:
2380
+ '''The unique identifier of the keyspace that contains this type in the format of Amazon Resource Name (ARN).
2381
+
2382
+ :cloudformationAttribute: KeyspaceArn
2383
+ '''
2384
+ return typing.cast(builtins.str, jsii.get(self, "attrKeyspaceArn"))
2385
+
2386
+ @builtins.property
2387
+ @jsii.member(jsii_name="attrLastModifiedTimestamp")
2388
+ def attr_last_modified_timestamp(self) -> _IResolvable_da3f097b:
2389
+ '''The last time this type was modified.
2390
+
2391
+ :cloudformationAttribute: LastModifiedTimestamp
2392
+ '''
2393
+ return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrLastModifiedTimestamp"))
2394
+
2395
+ @builtins.property
2396
+ @jsii.member(jsii_name="attrMaxNestingDepth")
2397
+ def attr_max_nesting_depth(self) -> jsii.Number:
2398
+ '''The maximum nesting depth of this type.
2399
+
2400
+ For more information, see `Amazon Keyspaces UDT quotas and default values <https://docs.aws.amazon.com/keyspaces/latest/devguide/quotas.html#quotas-udts>`_ in the *Amazon Keyspaces Developer Guide* .
2401
+
2402
+ :cloudformationAttribute: MaxNestingDepth
2403
+ '''
2404
+ return typing.cast(jsii.Number, jsii.get(self, "attrMaxNestingDepth"))
2405
+
2406
+ @builtins.property
2407
+ @jsii.member(jsii_name="cfnProperties")
2408
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
2409
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
2410
+
2411
+ @builtins.property
2412
+ @jsii.member(jsii_name="fields")
2413
+ def fields(
2414
+ self,
2415
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnType.FieldProperty"]]]:
2416
+ '''A list of fields that define this type.'''
2417
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnType.FieldProperty"]]], jsii.get(self, "fields"))
2418
+
2419
+ @fields.setter
2420
+ def fields(
2421
+ self,
2422
+ value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnType.FieldProperty"]]],
2423
+ ) -> None:
2424
+ if __debug__:
2425
+ type_hints = typing.get_type_hints(_typecheckingstub__ca4dbc25b8389c762695ecb965e0cd985e70c9dae5c5a02153927c352e82d0a4)
2426
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2427
+ jsii.set(self, "fields", value) # pyright: ignore[reportArgumentType]
2428
+
2429
+ @builtins.property
2430
+ @jsii.member(jsii_name="keyspaceName")
2431
+ def keyspace_name(self) -> builtins.str:
2432
+ '''The name of the keyspace to create the type in.'''
2433
+ return typing.cast(builtins.str, jsii.get(self, "keyspaceName"))
2434
+
2435
+ @keyspace_name.setter
2436
+ def keyspace_name(self, value: builtins.str) -> None:
2437
+ if __debug__:
2438
+ type_hints = typing.get_type_hints(_typecheckingstub__3f21da74adafb3839ebabb5326e3d975cafd05abe6458f5914d77c169be2418b)
2439
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2440
+ jsii.set(self, "keyspaceName", value) # pyright: ignore[reportArgumentType]
2441
+
2442
+ @builtins.property
2443
+ @jsii.member(jsii_name="typeName")
2444
+ def type_name(self) -> builtins.str:
2445
+ '''The name of the user-defined type.'''
2446
+ return typing.cast(builtins.str, jsii.get(self, "typeName"))
2447
+
2448
+ @type_name.setter
2449
+ def type_name(self, value: builtins.str) -> None:
2450
+ if __debug__:
2451
+ type_hints = typing.get_type_hints(_typecheckingstub__606db280be88e96db966d3665a4a5153b9ee5f616f60ff1d292682aa13ba4bd9)
2452
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2453
+ jsii.set(self, "typeName", value) # pyright: ignore[reportArgumentType]
2454
+
2455
+ @jsii.data_type(
2456
+ jsii_type="aws-cdk-lib.aws_cassandra.CfnType.FieldProperty",
2457
+ jsii_struct_bases=[],
2458
+ name_mapping={"field_name": "fieldName", "field_type": "fieldType"},
2459
+ )
2460
+ class FieldProperty:
2461
+ def __init__(
2462
+ self,
2463
+ *,
2464
+ field_name: builtins.str,
2465
+ field_type: builtins.str,
2466
+ ) -> None:
2467
+ '''The name and data type of an individual field in a user-defined type (UDT).
2468
+
2469
+ In addition to a Cassandra data type, you can also use another UDT. When you nest another UDT or collection data type, you have to declare them with the ``FROZEN`` keyword.
2470
+
2471
+ :param field_name: The name of the field.
2472
+ :param field_type: The data type of the field. This can be any Cassandra data type or another user-defined type.
2473
+
2474
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-type-field.html
2475
+ :exampleMetadata: fixture=_generated
2476
+
2477
+ Example::
2478
+
2479
+ # The code below shows an example of how to instantiate this type.
2480
+ # The values are placeholders you should change.
2481
+ from aws_cdk import aws_cassandra as cassandra
2482
+
2483
+ field_property = cassandra.CfnType.FieldProperty(
2484
+ field_name="fieldName",
2485
+ field_type="fieldType"
2486
+ )
2487
+ '''
2488
+ if __debug__:
2489
+ type_hints = typing.get_type_hints(_typecheckingstub__54b1c8332ddb6073a9eb0924c6e34b60d337092a8c288e7dba5abbe358ef2718)
2490
+ check_type(argname="argument field_name", value=field_name, expected_type=type_hints["field_name"])
2491
+ check_type(argname="argument field_type", value=field_type, expected_type=type_hints["field_type"])
2492
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2493
+ "field_name": field_name,
2494
+ "field_type": field_type,
2495
+ }
2496
+
2497
+ @builtins.property
2498
+ def field_name(self) -> builtins.str:
2499
+ '''The name of the field.
2500
+
2501
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-type-field.html#cfn-cassandra-type-field-fieldname
2502
+ '''
2503
+ result = self._values.get("field_name")
2504
+ assert result is not None, "Required property 'field_name' is missing"
2505
+ return typing.cast(builtins.str, result)
2506
+
2507
+ @builtins.property
2508
+ def field_type(self) -> builtins.str:
2509
+ '''The data type of the field.
2510
+
2511
+ This can be any Cassandra data type or another user-defined type.
2512
+
2513
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-type-field.html#cfn-cassandra-type-field-fieldtype
2514
+ '''
2515
+ result = self._values.get("field_type")
2516
+ assert result is not None, "Required property 'field_type' is missing"
2517
+ return typing.cast(builtins.str, result)
2518
+
2519
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2520
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2521
+
2522
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2523
+ return not (rhs == self)
2524
+
2525
+ def __repr__(self) -> str:
2526
+ return "FieldProperty(%s)" % ", ".join(
2527
+ k + "=" + repr(v) for k, v in self._values.items()
2528
+ )
2529
+
2530
+
2531
+ @jsii.data_type(
2532
+ jsii_type="aws-cdk-lib.aws_cassandra.CfnTypeProps",
2533
+ jsii_struct_bases=[],
2534
+ name_mapping={
2535
+ "fields": "fields",
2536
+ "keyspace_name": "keyspaceName",
2537
+ "type_name": "typeName",
2538
+ },
2539
+ )
2540
+ class CfnTypeProps:
2541
+ def __init__(
2542
+ self,
2543
+ *,
2544
+ fields: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnType.FieldProperty, typing.Dict[builtins.str, typing.Any]]]]],
2545
+ keyspace_name: builtins.str,
2546
+ type_name: builtins.str,
2547
+ ) -> None:
2548
+ '''Properties for defining a ``CfnType``.
2549
+
2550
+ :param fields: A list of fields that define this type.
2551
+ :param keyspace_name: The name of the keyspace to create the type in. The keyspace must already exist.
2552
+ :param type_name: The name of the user-defined type. UDT names must contain 48 characters or less, must begin with an alphabetic character, and can only contain alpha-numeric characters and underscores. Amazon Keyspaces converts upper case characters automatically into lower case characters. For more information, see `Create a user-defined type (UDT) in Amazon Keyspaces <https://docs.aws.amazon.com/keyspaces/latest/devguide/keyspaces-create-udt.html>`_ in the *Amazon Keyspaces Developer Guide* .
2553
+
2554
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-type.html
2555
+ :exampleMetadata: fixture=_generated
2556
+
2557
+ Example::
2558
+
2559
+ # The code below shows an example of how to instantiate this type.
2560
+ # The values are placeholders you should change.
2561
+ from aws_cdk import aws_cassandra as cassandra
2562
+
2563
+ cfn_type_props = cassandra.CfnTypeProps(
2564
+ fields=[cassandra.CfnType.FieldProperty(
2565
+ field_name="fieldName",
2566
+ field_type="fieldType"
2567
+ )],
2568
+ keyspace_name="keyspaceName",
2569
+ type_name="typeName"
2570
+ )
2571
+ '''
2572
+ if __debug__:
2573
+ type_hints = typing.get_type_hints(_typecheckingstub__bd25d8d93ed6a818dbba7d01a55023377acd68fed479388d8e01055d8b18bb90)
2574
+ check_type(argname="argument fields", value=fields, expected_type=type_hints["fields"])
2575
+ check_type(argname="argument keyspace_name", value=keyspace_name, expected_type=type_hints["keyspace_name"])
2576
+ check_type(argname="argument type_name", value=type_name, expected_type=type_hints["type_name"])
2577
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2578
+ "fields": fields,
2579
+ "keyspace_name": keyspace_name,
2580
+ "type_name": type_name,
2581
+ }
2582
+
2583
+ @builtins.property
2584
+ def fields(
2585
+ self,
2586
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnType.FieldProperty]]]:
2587
+ '''A list of fields that define this type.
2588
+
2589
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-type.html#cfn-cassandra-type-fields
2590
+ '''
2591
+ result = self._values.get("fields")
2592
+ assert result is not None, "Required property 'fields' is missing"
2593
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnType.FieldProperty]]], result)
2594
+
2595
+ @builtins.property
2596
+ def keyspace_name(self) -> builtins.str:
2597
+ '''The name of the keyspace to create the type in.
2598
+
2599
+ The keyspace must already exist.
2600
+
2601
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-type.html#cfn-cassandra-type-keyspacename
2602
+ '''
2603
+ result = self._values.get("keyspace_name")
2604
+ assert result is not None, "Required property 'keyspace_name' is missing"
2605
+ return typing.cast(builtins.str, result)
2606
+
2607
+ @builtins.property
2608
+ def type_name(self) -> builtins.str:
2609
+ '''The name of the user-defined type.
2610
+
2611
+ UDT names must contain 48 characters or less, must begin with an alphabetic character, and can only contain alpha-numeric characters and underscores. Amazon Keyspaces converts upper case characters automatically into lower case characters. For more information, see `Create a user-defined type (UDT) in Amazon Keyspaces <https://docs.aws.amazon.com/keyspaces/latest/devguide/keyspaces-create-udt.html>`_ in the *Amazon Keyspaces Developer Guide* .
2612
+
2613
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-type.html#cfn-cassandra-type-typename
2614
+ '''
2615
+ result = self._values.get("type_name")
2616
+ assert result is not None, "Required property 'type_name' is missing"
2617
+ return typing.cast(builtins.str, result)
2618
+
2619
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2620
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2621
+
2622
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2623
+ return not (rhs == self)
2624
+
2625
+ def __repr__(self) -> str:
2626
+ return "CfnTypeProps(%s)" % ", ".join(
2627
+ k + "=" + repr(v) for k, v in self._values.items()
2628
+ )
2629
+
2630
+
2227
2631
  __all__ = [
2228
2632
  "CfnKeyspace",
2229
2633
  "CfnKeyspaceProps",
2230
2634
  "CfnTable",
2231
2635
  "CfnTableProps",
2636
+ "CfnType",
2637
+ "CfnTypeProps",
2232
2638
  ]
2233
2639
 
2234
2640
  publication.publish()
@@ -2237,6 +2643,7 @@ def _typecheckingstub__9cd64888a8d1139f7fef90a6f2cad1bf287a6d09115cfa1d1147c1afd
2237
2643
  scope: _constructs_77d1e7e8.Construct,
2238
2644
  id: builtins.str,
2239
2645
  *,
2646
+ client_side_timestamps_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2240
2647
  keyspace_name: typing.Optional[builtins.str] = None,
2241
2648
  replication_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnKeyspace.ReplicationSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2242
2649
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -2256,6 +2663,12 @@ def _typecheckingstub__42f60f7b87e845a932e67441bed6a8227df77e1b7945146e65d3ba8ac
2256
2663
  """Type checking stubs"""
2257
2664
  pass
2258
2665
 
2666
+ def _typecheckingstub__fd8481bc3a8aed79ca56b1da03537eb72d1f39b5048347b1f8ac5f28b494a9e8(
2667
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
2668
+ ) -> None:
2669
+ """Type checking stubs"""
2670
+ pass
2671
+
2259
2672
  def _typecheckingstub__5fb7166642fd3aff60742c5e03d8f0094ff2d3ed08ad9f239837dfa2ef308f38(
2260
2673
  value: typing.Optional[builtins.str],
2261
2674
  ) -> None:
@@ -2284,6 +2697,7 @@ def _typecheckingstub__e5f12bad7b518911e0710e02ed64e0533c1123f35e304844dab5aaae8
2284
2697
 
2285
2698
  def _typecheckingstub__bc0263cb98dfdfc7ed9f31cf986359bcc44c1b3f3c733ebb7d3e36b25fb4cea8(
2286
2699
  *,
2700
+ client_side_timestamps_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2287
2701
  keyspace_name: typing.Optional[builtins.str] = None,
2288
2702
  replication_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnKeyspace.ReplicationSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2289
2703
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -2504,3 +2918,61 @@ def _typecheckingstub__bd1ff29b1ec22382a7c3d14031657668106b0fcd843c06a96897bcadf
2504
2918
  ) -> None:
2505
2919
  """Type checking stubs"""
2506
2920
  pass
2921
+
2922
+ def _typecheckingstub__fdf5bf6ac8d9d8fc5456b7448fd00dc522384b607e1c447a244fbd1a94a7e2c3(
2923
+ scope: _constructs_77d1e7e8.Construct,
2924
+ id: builtins.str,
2925
+ *,
2926
+ fields: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnType.FieldProperty, typing.Dict[builtins.str, typing.Any]]]]],
2927
+ keyspace_name: builtins.str,
2928
+ type_name: builtins.str,
2929
+ ) -> None:
2930
+ """Type checking stubs"""
2931
+ pass
2932
+
2933
+ def _typecheckingstub__d0b9082e2193b209827110d3aa56f16ca3c3a11c24cb6caeaa3fa6467e41c367(
2934
+ inspector: _TreeInspector_488e0dd5,
2935
+ ) -> None:
2936
+ """Type checking stubs"""
2937
+ pass
2938
+
2939
+ def _typecheckingstub__424eac90bc15b9127c3abf068efdbd3c37e3ffacf615e7878911972302059411(
2940
+ props: typing.Mapping[builtins.str, typing.Any],
2941
+ ) -> None:
2942
+ """Type checking stubs"""
2943
+ pass
2944
+
2945
+ def _typecheckingstub__ca4dbc25b8389c762695ecb965e0cd985e70c9dae5c5a02153927c352e82d0a4(
2946
+ value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnType.FieldProperty]]],
2947
+ ) -> None:
2948
+ """Type checking stubs"""
2949
+ pass
2950
+
2951
+ def _typecheckingstub__3f21da74adafb3839ebabb5326e3d975cafd05abe6458f5914d77c169be2418b(
2952
+ value: builtins.str,
2953
+ ) -> None:
2954
+ """Type checking stubs"""
2955
+ pass
2956
+
2957
+ def _typecheckingstub__606db280be88e96db966d3665a4a5153b9ee5f616f60ff1d292682aa13ba4bd9(
2958
+ value: builtins.str,
2959
+ ) -> None:
2960
+ """Type checking stubs"""
2961
+ pass
2962
+
2963
+ def _typecheckingstub__54b1c8332ddb6073a9eb0924c6e34b60d337092a8c288e7dba5abbe358ef2718(
2964
+ *,
2965
+ field_name: builtins.str,
2966
+ field_type: builtins.str,
2967
+ ) -> None:
2968
+ """Type checking stubs"""
2969
+ pass
2970
+
2971
+ def _typecheckingstub__bd25d8d93ed6a818dbba7d01a55023377acd68fed479388d8e01055d8b18bb90(
2972
+ *,
2973
+ fields: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnType.FieldProperty, typing.Dict[builtins.str, typing.Any]]]]],
2974
+ keyspace_name: builtins.str,
2975
+ type_name: builtins.str,
2976
+ ) -> None:
2977
+ """Type checking stubs"""
2978
+ pass