aws-cdk-lib 2.203.1__py3-none-any.whl → 2.205.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 (62) hide show
  1. aws_cdk/__init__.py +208 -92
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.203.1.jsii.tgz → aws-cdk-lib@2.205.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_aiops/__init__.py +89 -39
  5. aws_cdk/aws_apigateway/__init__.py +164 -0
  6. aws_cdk/aws_apigatewayv2/__init__.py +412 -0
  7. aws_cdk/aws_applicationautoscaling/__init__.py +2 -2
  8. aws_cdk/aws_arczonalshift/__init__.py +4 -1
  9. aws_cdk/aws_b2bi/__init__.py +32 -16
  10. aws_cdk/aws_bedrock/__init__.py +198 -10
  11. aws_cdk/aws_cassandra/__init__.py +156 -0
  12. aws_cdk/aws_certificatemanager/__init__.py +28 -0
  13. aws_cdk/aws_chatbot/__init__.py +28 -0
  14. aws_cdk/aws_cloudformation/__init__.py +74 -72
  15. aws_cdk/aws_cloudfront/__init__.py +1273 -485
  16. aws_cdk/aws_cloudfront/experimental/__init__.py +32 -0
  17. aws_cdk/aws_cloudfront_origins/__init__.py +26 -21
  18. aws_cdk/aws_cloudwatch/__init__.py +278 -23
  19. aws_cdk/aws_codebuild/__init__.py +300 -36
  20. aws_cdk/aws_datasync/__init__.py +2 -2
  21. aws_cdk/aws_docdb/__init__.py +78 -0
  22. aws_cdk/aws_dynamodb/__init__.py +523 -37
  23. aws_cdk/aws_ec2/__init__.py +126 -30
  24. aws_cdk/aws_ecs/__init__.py +64 -19
  25. aws_cdk/aws_elasticloadbalancingv2/__init__.py +724 -0
  26. aws_cdk/aws_elasticsearch/__init__.py +260 -0
  27. aws_cdk/aws_emrserverless/__init__.py +5 -5
  28. aws_cdk/aws_events/__init__.py +58 -3
  29. aws_cdk/aws_events_targets/__init__.py +7 -2
  30. aws_cdk/aws_evs/__init__.py +7 -7
  31. aws_cdk/aws_fsx/__init__.py +138 -78
  32. aws_cdk/aws_gamelift/__init__.py +19 -0
  33. aws_cdk/aws_glue/__init__.py +3 -3
  34. aws_cdk/aws_iot/__init__.py +1 -1
  35. aws_cdk/aws_kinesis/__init__.py +391 -13
  36. aws_cdk/aws_kinesisfirehose/__init__.py +128 -1
  37. aws_cdk/aws_lambda/__init__.py +144 -0
  38. aws_cdk/aws_lex/__init__.py +36 -19
  39. aws_cdk/aws_logs/__init__.py +58 -0
  40. aws_cdk/aws_neptune/__init__.py +12 -12
  41. aws_cdk/aws_odb/__init__.py +4049 -0
  42. aws_cdk/aws_omics/__init__.py +1 -1
  43. aws_cdk/aws_opensearchservice/__init__.py +260 -0
  44. aws_cdk/aws_qbusiness/__init__.py +471 -4
  45. aws_cdk/aws_quicksight/__init__.py +185 -16
  46. aws_cdk/aws_rds/__init__.py +553 -17
  47. aws_cdk/aws_redshiftserverless/__init__.py +72 -45
  48. aws_cdk/aws_route53/__init__.py +41 -19
  49. aws_cdk/aws_s3tables/__init__.py +1005 -0
  50. aws_cdk/aws_sagemaker/__init__.py +20 -0
  51. aws_cdk/aws_scheduler/__init__.py +210 -0
  52. aws_cdk/aws_sns/__init__.py +164 -0
  53. aws_cdk/aws_sqs/__init__.py +164 -0
  54. aws_cdk/aws_stepfunctions/__init__.py +288 -0
  55. aws_cdk/aws_synthetics/__init__.py +159 -37
  56. aws_cdk/aws_transfer/__init__.py +23 -1
  57. {aws_cdk_lib-2.203.1.dist-info → aws_cdk_lib-2.205.0.dist-info}/METADATA +2 -2
  58. {aws_cdk_lib-2.203.1.dist-info → aws_cdk_lib-2.205.0.dist-info}/RECORD +62 -61
  59. {aws_cdk_lib-2.203.1.dist-info → aws_cdk_lib-2.205.0.dist-info}/LICENSE +0 -0
  60. {aws_cdk_lib-2.203.1.dist-info → aws_cdk_lib-2.205.0.dist-info}/NOTICE +0 -0
  61. {aws_cdk_lib-2.203.1.dist-info → aws_cdk_lib-2.205.0.dist-info}/WHEEL +0 -0
  62. {aws_cdk_lib-2.203.1.dist-info → aws_cdk_lib-2.205.0.dist-info}/top_level.txt +0 -0
@@ -262,6 +262,677 @@ class CfnNamespaceProps:
262
262
  )
263
263
 
264
264
 
265
+ @jsii.implements(_IInspectable_c2943556)
266
+ class CfnTable(
267
+ _CfnResource_9df397a6,
268
+ metaclass=jsii.JSIIMeta,
269
+ jsii_type="aws-cdk-lib.aws_s3tables.CfnTable",
270
+ ):
271
+ '''Creates a new table associated with the given namespace in a table bucket.
272
+
273
+ For more information, see `Creating an Amazon S3 table <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-create.html>`_ in the *Amazon Simple Storage Service User Guide* .
274
+
275
+ - **Permissions** - - You must have the ``s3tables:CreateTable`` permission to use this operation.
276
+ - If you use this operation with the optional ``metadata`` request parameter you must have the ``s3tables:PutTableData`` permission.
277
+ - If you use this operation with the optional ``encryptionConfiguration`` request parameter you must have the ``s3tables:PutTableEncryption`` permission.
278
+
279
+ .. epigraph::
280
+
281
+ Additionally, If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see `Permissions requirements for S3 Tables SSE-KMS encryption <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-kms-permissions.html>`_ .
282
+
283
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-table.html
284
+ :cloudformationResource: AWS::S3Tables::Table
285
+ :exampleMetadata: fixture=_generated
286
+
287
+ Example::
288
+
289
+ # The code below shows an example of how to instantiate this type.
290
+ # The values are placeholders you should change.
291
+ from aws_cdk import aws_s3tables as s3tables
292
+
293
+ cfn_table = s3tables.CfnTable(self, "MyCfnTable",
294
+ namespace="namespace",
295
+ open_table_format="openTableFormat",
296
+ table_bucket_arn="tableBucketArn",
297
+ table_name="tableName",
298
+
299
+ # the properties below are optional
300
+ compaction=s3tables.CfnTable.CompactionProperty(
301
+ status="status",
302
+ target_file_size_mb=123
303
+ ),
304
+ iceberg_metadata=s3tables.CfnTable.IcebergMetadataProperty(
305
+ iceberg_schema=s3tables.CfnTable.IcebergSchemaProperty(
306
+ schema_field_list=[s3tables.CfnTable.SchemaFieldProperty(
307
+ name="name",
308
+ type="type",
309
+
310
+ # the properties below are optional
311
+ required=False
312
+ )]
313
+ )
314
+ ),
315
+ snapshot_management=s3tables.CfnTable.SnapshotManagementProperty(
316
+ max_snapshot_age_hours=123,
317
+ min_snapshots_to_keep=123,
318
+ status="status"
319
+ ),
320
+ without_metadata="withoutMetadata"
321
+ )
322
+ '''
323
+
324
+ def __init__(
325
+ self,
326
+ scope: _constructs_77d1e7e8.Construct,
327
+ id: builtins.str,
328
+ *,
329
+ namespace: builtins.str,
330
+ open_table_format: builtins.str,
331
+ table_bucket_arn: builtins.str,
332
+ table_name: builtins.str,
333
+ compaction: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.CompactionProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
334
+ iceberg_metadata: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.IcebergMetadataProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
335
+ snapshot_management: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.SnapshotManagementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
336
+ without_metadata: typing.Optional[builtins.str] = None,
337
+ ) -> None:
338
+ '''
339
+ :param scope: Scope in which this resource is defined.
340
+ :param id: Construct identifier for this resource (unique in its scope).
341
+ :param namespace: The name of the namespace.
342
+ :param open_table_format: Format of the table.
343
+ :param table_bucket_arn: The Amazon Resource Name (ARN) of the specified table bucket.
344
+ :param table_name: The name for the table.
345
+ :param compaction: Settings governing the Compaction maintenance action. Contains details about the compaction settings for an Iceberg table.
346
+ :param iceberg_metadata: Contains details about the metadata for an Iceberg table.
347
+ :param snapshot_management: Contains details about the snapshot management settings for an Iceberg table. A snapshot is expired when it exceeds MinSnapshotsToKeep and MaxSnapshotAgeHours.
348
+ :param without_metadata: Indicates that you don't want to specify a schema for the table. This property is mutually exclusive to 'IcebergMetadata', and its only possible value is 'Yes'.
349
+ '''
350
+ if __debug__:
351
+ type_hints = typing.get_type_hints(_typecheckingstub__9cb6d8b27037c33c46017d3b0b00b52a14bbd8c0a922c03aca7fff9e327b1420)
352
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
353
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
354
+ props = CfnTableProps(
355
+ namespace=namespace,
356
+ open_table_format=open_table_format,
357
+ table_bucket_arn=table_bucket_arn,
358
+ table_name=table_name,
359
+ compaction=compaction,
360
+ iceberg_metadata=iceberg_metadata,
361
+ snapshot_management=snapshot_management,
362
+ without_metadata=without_metadata,
363
+ )
364
+
365
+ jsii.create(self.__class__, self, [scope, id, props])
366
+
367
+ @jsii.member(jsii_name="inspect")
368
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
369
+ '''Examines the CloudFormation resource and discloses attributes.
370
+
371
+ :param inspector: tree inspector to collect and process attributes.
372
+ '''
373
+ if __debug__:
374
+ type_hints = typing.get_type_hints(_typecheckingstub__8e9f0a1074447de044514c7c1b5b2cca167912d3e02c228b501f3cc4c1b09a6f)
375
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
376
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
377
+
378
+ @jsii.member(jsii_name="renderProperties")
379
+ def _render_properties(
380
+ self,
381
+ props: typing.Mapping[builtins.str, typing.Any],
382
+ ) -> typing.Mapping[builtins.str, typing.Any]:
383
+ '''
384
+ :param props: -
385
+ '''
386
+ if __debug__:
387
+ type_hints = typing.get_type_hints(_typecheckingstub__a82da714fe9043c593e17c8af3ba9310ce4d043a6843c815aa933a3f004a6d5a)
388
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
389
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
390
+
391
+ @jsii.python.classproperty
392
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
393
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
394
+ '''The CloudFormation resource type name for this resource class.'''
395
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
396
+
397
+ @builtins.property
398
+ @jsii.member(jsii_name="attrTableArn")
399
+ def attr_table_arn(self) -> builtins.str:
400
+ '''The Amazon Resource Name (ARN) of the table.
401
+
402
+ :cloudformationAttribute: TableARN
403
+ '''
404
+ return typing.cast(builtins.str, jsii.get(self, "attrTableArn"))
405
+
406
+ @builtins.property
407
+ @jsii.member(jsii_name="attrVersionToken")
408
+ def attr_version_token(self) -> builtins.str:
409
+ '''The version token of the table.
410
+
411
+ :cloudformationAttribute: VersionToken
412
+ '''
413
+ return typing.cast(builtins.str, jsii.get(self, "attrVersionToken"))
414
+
415
+ @builtins.property
416
+ @jsii.member(jsii_name="attrWarehouseLocation")
417
+ def attr_warehouse_location(self) -> builtins.str:
418
+ '''The warehouse location of the table.
419
+
420
+ :cloudformationAttribute: WarehouseLocation
421
+ '''
422
+ return typing.cast(builtins.str, jsii.get(self, "attrWarehouseLocation"))
423
+
424
+ @builtins.property
425
+ @jsii.member(jsii_name="cfnProperties")
426
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
427
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
428
+
429
+ @builtins.property
430
+ @jsii.member(jsii_name="namespace")
431
+ def namespace(self) -> builtins.str:
432
+ '''The name of the namespace.'''
433
+ return typing.cast(builtins.str, jsii.get(self, "namespace"))
434
+
435
+ @namespace.setter
436
+ def namespace(self, value: builtins.str) -> None:
437
+ if __debug__:
438
+ type_hints = typing.get_type_hints(_typecheckingstub__fb40731dfd6256164661895ce0f48c78b8e18c58fb7f27fbb73a3ce7c916c1df)
439
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
440
+ jsii.set(self, "namespace", value) # pyright: ignore[reportArgumentType]
441
+
442
+ @builtins.property
443
+ @jsii.member(jsii_name="openTableFormat")
444
+ def open_table_format(self) -> builtins.str:
445
+ '''Format of the table.'''
446
+ return typing.cast(builtins.str, jsii.get(self, "openTableFormat"))
447
+
448
+ @open_table_format.setter
449
+ def open_table_format(self, value: builtins.str) -> None:
450
+ if __debug__:
451
+ type_hints = typing.get_type_hints(_typecheckingstub__5892a05d87447cee97d5ab4f41ddb7d6837df87a8b4e6b9d577c79cfe927180a)
452
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
453
+ jsii.set(self, "openTableFormat", value) # pyright: ignore[reportArgumentType]
454
+
455
+ @builtins.property
456
+ @jsii.member(jsii_name="tableBucketArn")
457
+ def table_bucket_arn(self) -> builtins.str:
458
+ '''The Amazon Resource Name (ARN) of the specified table bucket.'''
459
+ return typing.cast(builtins.str, jsii.get(self, "tableBucketArn"))
460
+
461
+ @table_bucket_arn.setter
462
+ def table_bucket_arn(self, value: builtins.str) -> None:
463
+ if __debug__:
464
+ type_hints = typing.get_type_hints(_typecheckingstub__7ad6ac8e43e44c04006a5ef80e152c8effbbdb7bf127bd063a6b732c4ee1f9a9)
465
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
466
+ jsii.set(self, "tableBucketArn", value) # pyright: ignore[reportArgumentType]
467
+
468
+ @builtins.property
469
+ @jsii.member(jsii_name="tableName")
470
+ def table_name(self) -> builtins.str:
471
+ '''The name for the table.'''
472
+ return typing.cast(builtins.str, jsii.get(self, "tableName"))
473
+
474
+ @table_name.setter
475
+ def table_name(self, value: builtins.str) -> None:
476
+ if __debug__:
477
+ type_hints = typing.get_type_hints(_typecheckingstub__f410c91375a77f7ed3b5736522dbfb254643b931cd30ea49af6d7d51d9c5ddc5)
478
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
479
+ jsii.set(self, "tableName", value) # pyright: ignore[reportArgumentType]
480
+
481
+ @builtins.property
482
+ @jsii.member(jsii_name="compaction")
483
+ def compaction(
484
+ self,
485
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.CompactionProperty"]]:
486
+ '''Settings governing the Compaction maintenance action.'''
487
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.CompactionProperty"]], jsii.get(self, "compaction"))
488
+
489
+ @compaction.setter
490
+ def compaction(
491
+ self,
492
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.CompactionProperty"]],
493
+ ) -> None:
494
+ if __debug__:
495
+ type_hints = typing.get_type_hints(_typecheckingstub__4ff6f95f778b64c53b87dfe6f8a117fa9d1583584d475eef7586c75859dcb219)
496
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
497
+ jsii.set(self, "compaction", value) # pyright: ignore[reportArgumentType]
498
+
499
+ @builtins.property
500
+ @jsii.member(jsii_name="icebergMetadata")
501
+ def iceberg_metadata(
502
+ self,
503
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.IcebergMetadataProperty"]]:
504
+ '''Contains details about the metadata for an Iceberg table.'''
505
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.IcebergMetadataProperty"]], jsii.get(self, "icebergMetadata"))
506
+
507
+ @iceberg_metadata.setter
508
+ def iceberg_metadata(
509
+ self,
510
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.IcebergMetadataProperty"]],
511
+ ) -> None:
512
+ if __debug__:
513
+ type_hints = typing.get_type_hints(_typecheckingstub__6f0509a656c9927b41c3ead9b58d6c83257863d2b8d1104c542e1a8435be4160)
514
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
515
+ jsii.set(self, "icebergMetadata", value) # pyright: ignore[reportArgumentType]
516
+
517
+ @builtins.property
518
+ @jsii.member(jsii_name="snapshotManagement")
519
+ def snapshot_management(
520
+ self,
521
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.SnapshotManagementProperty"]]:
522
+ '''Contains details about the snapshot management settings for an Iceberg table.'''
523
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.SnapshotManagementProperty"]], jsii.get(self, "snapshotManagement"))
524
+
525
+ @snapshot_management.setter
526
+ def snapshot_management(
527
+ self,
528
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTable.SnapshotManagementProperty"]],
529
+ ) -> None:
530
+ if __debug__:
531
+ type_hints = typing.get_type_hints(_typecheckingstub__c6c432f4785ee47d59f072204756d42650b9fc3dd3e85a79139ab4f11fb72a43)
532
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
533
+ jsii.set(self, "snapshotManagement", value) # pyright: ignore[reportArgumentType]
534
+
535
+ @builtins.property
536
+ @jsii.member(jsii_name="withoutMetadata")
537
+ def without_metadata(self) -> typing.Optional[builtins.str]:
538
+ '''Indicates that you don't want to specify a schema for the table.'''
539
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "withoutMetadata"))
540
+
541
+ @without_metadata.setter
542
+ def without_metadata(self, value: typing.Optional[builtins.str]) -> None:
543
+ if __debug__:
544
+ type_hints = typing.get_type_hints(_typecheckingstub__e5d21acaabd2bab58c6f59f334d1b06b0962eb6541244a042a933b5ce009a061)
545
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
546
+ jsii.set(self, "withoutMetadata", value) # pyright: ignore[reportArgumentType]
547
+
548
+ @jsii.data_type(
549
+ jsii_type="aws-cdk-lib.aws_s3tables.CfnTable.CompactionProperty",
550
+ jsii_struct_bases=[],
551
+ name_mapping={"status": "status", "target_file_size_mb": "targetFileSizeMb"},
552
+ )
553
+ class CompactionProperty:
554
+ def __init__(
555
+ self,
556
+ *,
557
+ status: typing.Optional[builtins.str] = None,
558
+ target_file_size_mb: typing.Optional[jsii.Number] = None,
559
+ ) -> None:
560
+ '''Settings governing the Compaction maintenance action.
561
+
562
+ Contains details about the compaction settings for an Iceberg table.
563
+
564
+ :param status: Indicates whether the Compaction maintenance action is enabled.
565
+ :param target_file_size_mb: The target file size for the table in MB.
566
+
567
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-compaction.html
568
+ :exampleMetadata: fixture=_generated
569
+
570
+ Example::
571
+
572
+ # The code below shows an example of how to instantiate this type.
573
+ # The values are placeholders you should change.
574
+ from aws_cdk import aws_s3tables as s3tables
575
+
576
+ compaction_property = s3tables.CfnTable.CompactionProperty(
577
+ status="status",
578
+ target_file_size_mb=123
579
+ )
580
+ '''
581
+ if __debug__:
582
+ type_hints = typing.get_type_hints(_typecheckingstub__f49118bb06f06baf9f7618e6cd633803a2486d06b541e59cab8801a6a0983fcc)
583
+ check_type(argname="argument status", value=status, expected_type=type_hints["status"])
584
+ check_type(argname="argument target_file_size_mb", value=target_file_size_mb, expected_type=type_hints["target_file_size_mb"])
585
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
586
+ if status is not None:
587
+ self._values["status"] = status
588
+ if target_file_size_mb is not None:
589
+ self._values["target_file_size_mb"] = target_file_size_mb
590
+
591
+ @builtins.property
592
+ def status(self) -> typing.Optional[builtins.str]:
593
+ '''Indicates whether the Compaction maintenance action is enabled.
594
+
595
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-compaction.html#cfn-s3tables-table-compaction-status
596
+ '''
597
+ result = self._values.get("status")
598
+ return typing.cast(typing.Optional[builtins.str], result)
599
+
600
+ @builtins.property
601
+ def target_file_size_mb(self) -> typing.Optional[jsii.Number]:
602
+ '''The target file size for the table in MB.
603
+
604
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-compaction.html#cfn-s3tables-table-compaction-targetfilesizemb
605
+ '''
606
+ result = self._values.get("target_file_size_mb")
607
+ return typing.cast(typing.Optional[jsii.Number], result)
608
+
609
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
610
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
611
+
612
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
613
+ return not (rhs == self)
614
+
615
+ def __repr__(self) -> str:
616
+ return "CompactionProperty(%s)" % ", ".join(
617
+ k + "=" + repr(v) for k, v in self._values.items()
618
+ )
619
+
620
+ @jsii.data_type(
621
+ jsii_type="aws-cdk-lib.aws_s3tables.CfnTable.IcebergMetadataProperty",
622
+ jsii_struct_bases=[],
623
+ name_mapping={"iceberg_schema": "icebergSchema"},
624
+ )
625
+ class IcebergMetadataProperty:
626
+ def __init__(
627
+ self,
628
+ *,
629
+ iceberg_schema: typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.IcebergSchemaProperty", typing.Dict[builtins.str, typing.Any]]],
630
+ ) -> None:
631
+ '''Contains details about the metadata for an Iceberg table.
632
+
633
+ :param iceberg_schema: Contains details about the schema for an Iceberg table.
634
+
635
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergmetadata.html
636
+ :exampleMetadata: fixture=_generated
637
+
638
+ Example::
639
+
640
+ # The code below shows an example of how to instantiate this type.
641
+ # The values are placeholders you should change.
642
+ from aws_cdk import aws_s3tables as s3tables
643
+
644
+ iceberg_metadata_property = s3tables.CfnTable.IcebergMetadataProperty(
645
+ iceberg_schema=s3tables.CfnTable.IcebergSchemaProperty(
646
+ schema_field_list=[s3tables.CfnTable.SchemaFieldProperty(
647
+ name="name",
648
+ type="type",
649
+
650
+ # the properties below are optional
651
+ required=False
652
+ )]
653
+ )
654
+ )
655
+ '''
656
+ if __debug__:
657
+ type_hints = typing.get_type_hints(_typecheckingstub__1e5dc7085346ad722ba37251e910871affc6e3d90d9251cc9d43941978d7cb0a)
658
+ check_type(argname="argument iceberg_schema", value=iceberg_schema, expected_type=type_hints["iceberg_schema"])
659
+ self._values: typing.Dict[builtins.str, typing.Any] = {
660
+ "iceberg_schema": iceberg_schema,
661
+ }
662
+
663
+ @builtins.property
664
+ def iceberg_schema(
665
+ self,
666
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnTable.IcebergSchemaProperty"]:
667
+ '''Contains details about the schema for an Iceberg table.
668
+
669
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergmetadata.html#cfn-s3tables-table-icebergmetadata-icebergschema
670
+ '''
671
+ result = self._values.get("iceberg_schema")
672
+ assert result is not None, "Required property 'iceberg_schema' is missing"
673
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnTable.IcebergSchemaProperty"], result)
674
+
675
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
676
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
677
+
678
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
679
+ return not (rhs == self)
680
+
681
+ def __repr__(self) -> str:
682
+ return "IcebergMetadataProperty(%s)" % ", ".join(
683
+ k + "=" + repr(v) for k, v in self._values.items()
684
+ )
685
+
686
+ @jsii.data_type(
687
+ jsii_type="aws-cdk-lib.aws_s3tables.CfnTable.IcebergSchemaProperty",
688
+ jsii_struct_bases=[],
689
+ name_mapping={"schema_field_list": "schemaFieldList"},
690
+ )
691
+ class IcebergSchemaProperty:
692
+ def __init__(
693
+ self,
694
+ *,
695
+ schema_field_list: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTable.SchemaFieldProperty", typing.Dict[builtins.str, typing.Any]]]]],
696
+ ) -> None:
697
+ '''Contains details about the schema for an Iceberg table.
698
+
699
+ :param schema_field_list: Contains details about the schema for an Iceberg table.
700
+
701
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergschema.html
702
+ :exampleMetadata: fixture=_generated
703
+
704
+ Example::
705
+
706
+ # The code below shows an example of how to instantiate this type.
707
+ # The values are placeholders you should change.
708
+ from aws_cdk import aws_s3tables as s3tables
709
+
710
+ iceberg_schema_property = s3tables.CfnTable.IcebergSchemaProperty(
711
+ schema_field_list=[s3tables.CfnTable.SchemaFieldProperty(
712
+ name="name",
713
+ type="type",
714
+
715
+ # the properties below are optional
716
+ required=False
717
+ )]
718
+ )
719
+ '''
720
+ if __debug__:
721
+ type_hints = typing.get_type_hints(_typecheckingstub__3613cb002c55c4baeb2517f3445ed9e71396e5ee393d230544d3f1302b471205)
722
+ check_type(argname="argument schema_field_list", value=schema_field_list, expected_type=type_hints["schema_field_list"])
723
+ self._values: typing.Dict[builtins.str, typing.Any] = {
724
+ "schema_field_list": schema_field_list,
725
+ }
726
+
727
+ @builtins.property
728
+ def schema_field_list(
729
+ self,
730
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnTable.SchemaFieldProperty"]]]:
731
+ '''Contains details about the schema for an Iceberg table.
732
+
733
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-icebergschema.html#cfn-s3tables-table-icebergschema-schemafieldlist
734
+ '''
735
+ result = self._values.get("schema_field_list")
736
+ assert result is not None, "Required property 'schema_field_list' is missing"
737
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnTable.SchemaFieldProperty"]]], result)
738
+
739
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
740
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
741
+
742
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
743
+ return not (rhs == self)
744
+
745
+ def __repr__(self) -> str:
746
+ return "IcebergSchemaProperty(%s)" % ", ".join(
747
+ k + "=" + repr(v) for k, v in self._values.items()
748
+ )
749
+
750
+ @jsii.data_type(
751
+ jsii_type="aws-cdk-lib.aws_s3tables.CfnTable.SchemaFieldProperty",
752
+ jsii_struct_bases=[],
753
+ name_mapping={"name": "name", "type": "type", "required": "required"},
754
+ )
755
+ class SchemaFieldProperty:
756
+ def __init__(
757
+ self,
758
+ *,
759
+ name: builtins.str,
760
+ type: builtins.str,
761
+ required: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
762
+ ) -> None:
763
+ '''Contains details about a schema field.
764
+
765
+ :param name: The name of the field.
766
+ :param type: The field type. S3 Tables supports all Apache Iceberg primitive types. For more information, see the `Apache Iceberg documentation <https://docs.aws.amazon.com/https://iceberg.apache.org/spec/#primitive-types>`_ .
767
+ :param required: A Boolean value that specifies whether values are required for each row in this field. By default, this is ``false`` and null values are allowed in the field. If this is ``true`` the field does not allow null values.
768
+
769
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-schemafield.html
770
+ :exampleMetadata: fixture=_generated
771
+
772
+ Example::
773
+
774
+ # The code below shows an example of how to instantiate this type.
775
+ # The values are placeholders you should change.
776
+ from aws_cdk import aws_s3tables as s3tables
777
+
778
+ schema_field_property = s3tables.CfnTable.SchemaFieldProperty(
779
+ name="name",
780
+ type="type",
781
+
782
+ # the properties below are optional
783
+ required=False
784
+ )
785
+ '''
786
+ if __debug__:
787
+ type_hints = typing.get_type_hints(_typecheckingstub__b3f6368f6b334e97c5c50a43ab04d5e784e18fdb0e687d1684b9ad01ad6c1a29)
788
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
789
+ check_type(argname="argument type", value=type, expected_type=type_hints["type"])
790
+ check_type(argname="argument required", value=required, expected_type=type_hints["required"])
791
+ self._values: typing.Dict[builtins.str, typing.Any] = {
792
+ "name": name,
793
+ "type": type,
794
+ }
795
+ if required is not None:
796
+ self._values["required"] = required
797
+
798
+ @builtins.property
799
+ def name(self) -> builtins.str:
800
+ '''The name of the field.
801
+
802
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-schemafield.html#cfn-s3tables-table-schemafield-name
803
+ '''
804
+ result = self._values.get("name")
805
+ assert result is not None, "Required property 'name' is missing"
806
+ return typing.cast(builtins.str, result)
807
+
808
+ @builtins.property
809
+ def type(self) -> builtins.str:
810
+ '''The field type.
811
+
812
+ S3 Tables supports all Apache Iceberg primitive types. For more information, see the `Apache Iceberg documentation <https://docs.aws.amazon.com/https://iceberg.apache.org/spec/#primitive-types>`_ .
813
+
814
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-schemafield.html#cfn-s3tables-table-schemafield-type
815
+ '''
816
+ result = self._values.get("type")
817
+ assert result is not None, "Required property 'type' is missing"
818
+ return typing.cast(builtins.str, result)
819
+
820
+ @builtins.property
821
+ def required(
822
+ self,
823
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
824
+ '''A Boolean value that specifies whether values are required for each row in this field.
825
+
826
+ By default, this is ``false`` and null values are allowed in the field. If this is ``true`` the field does not allow null values.
827
+
828
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-schemafield.html#cfn-s3tables-table-schemafield-required
829
+ '''
830
+ result = self._values.get("required")
831
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
832
+
833
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
834
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
835
+
836
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
837
+ return not (rhs == self)
838
+
839
+ def __repr__(self) -> str:
840
+ return "SchemaFieldProperty(%s)" % ", ".join(
841
+ k + "=" + repr(v) for k, v in self._values.items()
842
+ )
843
+
844
+ @jsii.data_type(
845
+ jsii_type="aws-cdk-lib.aws_s3tables.CfnTable.SnapshotManagementProperty",
846
+ jsii_struct_bases=[],
847
+ name_mapping={
848
+ "max_snapshot_age_hours": "maxSnapshotAgeHours",
849
+ "min_snapshots_to_keep": "minSnapshotsToKeep",
850
+ "status": "status",
851
+ },
852
+ )
853
+ class SnapshotManagementProperty:
854
+ def __init__(
855
+ self,
856
+ *,
857
+ max_snapshot_age_hours: typing.Optional[jsii.Number] = None,
858
+ min_snapshots_to_keep: typing.Optional[jsii.Number] = None,
859
+ status: typing.Optional[builtins.str] = None,
860
+ ) -> None:
861
+ '''Contains details about the snapshot management settings for an Iceberg table.
862
+
863
+ A snapshot is expired when it exceeds MinSnapshotsToKeep and MaxSnapshotAgeHours.
864
+
865
+ :param max_snapshot_age_hours: The maximum age of a snapshot before it can be expired.
866
+ :param min_snapshots_to_keep: The minimum number of snapshots to keep.
867
+ :param status: Indicates whether the SnapshotManagement maintenance action is enabled.
868
+
869
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-snapshotmanagement.html
870
+ :exampleMetadata: fixture=_generated
871
+
872
+ Example::
873
+
874
+ # The code below shows an example of how to instantiate this type.
875
+ # The values are placeholders you should change.
876
+ from aws_cdk import aws_s3tables as s3tables
877
+
878
+ snapshot_management_property = s3tables.CfnTable.SnapshotManagementProperty(
879
+ max_snapshot_age_hours=123,
880
+ min_snapshots_to_keep=123,
881
+ status="status"
882
+ )
883
+ '''
884
+ if __debug__:
885
+ type_hints = typing.get_type_hints(_typecheckingstub__fa9c2ac7b8956daecf8522166700dd475625d08f131913fda8e01475215f3656)
886
+ check_type(argname="argument max_snapshot_age_hours", value=max_snapshot_age_hours, expected_type=type_hints["max_snapshot_age_hours"])
887
+ check_type(argname="argument min_snapshots_to_keep", value=min_snapshots_to_keep, expected_type=type_hints["min_snapshots_to_keep"])
888
+ check_type(argname="argument status", value=status, expected_type=type_hints["status"])
889
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
890
+ if max_snapshot_age_hours is not None:
891
+ self._values["max_snapshot_age_hours"] = max_snapshot_age_hours
892
+ if min_snapshots_to_keep is not None:
893
+ self._values["min_snapshots_to_keep"] = min_snapshots_to_keep
894
+ if status is not None:
895
+ self._values["status"] = status
896
+
897
+ @builtins.property
898
+ def max_snapshot_age_hours(self) -> typing.Optional[jsii.Number]:
899
+ '''The maximum age of a snapshot before it can be expired.
900
+
901
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-snapshotmanagement.html#cfn-s3tables-table-snapshotmanagement-maxsnapshotagehours
902
+ '''
903
+ result = self._values.get("max_snapshot_age_hours")
904
+ return typing.cast(typing.Optional[jsii.Number], result)
905
+
906
+ @builtins.property
907
+ def min_snapshots_to_keep(self) -> typing.Optional[jsii.Number]:
908
+ '''The minimum number of snapshots to keep.
909
+
910
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-snapshotmanagement.html#cfn-s3tables-table-snapshotmanagement-minsnapshotstokeep
911
+ '''
912
+ result = self._values.get("min_snapshots_to_keep")
913
+ return typing.cast(typing.Optional[jsii.Number], result)
914
+
915
+ @builtins.property
916
+ def status(self) -> typing.Optional[builtins.str]:
917
+ '''Indicates whether the SnapshotManagement maintenance action is enabled.
918
+
919
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-table-snapshotmanagement.html#cfn-s3tables-table-snapshotmanagement-status
920
+ '''
921
+ result = self._values.get("status")
922
+ return typing.cast(typing.Optional[builtins.str], result)
923
+
924
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
925
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
926
+
927
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
928
+ return not (rhs == self)
929
+
930
+ def __repr__(self) -> str:
931
+ return "SnapshotManagementProperty(%s)" % ", ".join(
932
+ k + "=" + repr(v) for k, v in self._values.items()
933
+ )
934
+
935
+
265
936
  @jsii.implements(_IInspectable_c2943556)
266
937
  class CfnTableBucket(
267
938
  _CfnResource_9df397a6,
@@ -891,13 +1562,217 @@ class CfnTableBucketProps:
891
1562
  )
892
1563
 
893
1564
 
1565
+ @jsii.data_type(
1566
+ jsii_type="aws-cdk-lib.aws_s3tables.CfnTableProps",
1567
+ jsii_struct_bases=[],
1568
+ name_mapping={
1569
+ "namespace": "namespace",
1570
+ "open_table_format": "openTableFormat",
1571
+ "table_bucket_arn": "tableBucketArn",
1572
+ "table_name": "tableName",
1573
+ "compaction": "compaction",
1574
+ "iceberg_metadata": "icebergMetadata",
1575
+ "snapshot_management": "snapshotManagement",
1576
+ "without_metadata": "withoutMetadata",
1577
+ },
1578
+ )
1579
+ class CfnTableProps:
1580
+ def __init__(
1581
+ self,
1582
+ *,
1583
+ namespace: builtins.str,
1584
+ open_table_format: builtins.str,
1585
+ table_bucket_arn: builtins.str,
1586
+ table_name: builtins.str,
1587
+ compaction: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.CompactionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1588
+ iceberg_metadata: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.IcebergMetadataProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1589
+ snapshot_management: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.SnapshotManagementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1590
+ without_metadata: typing.Optional[builtins.str] = None,
1591
+ ) -> None:
1592
+ '''Properties for defining a ``CfnTable``.
1593
+
1594
+ :param namespace: The name of the namespace.
1595
+ :param open_table_format: Format of the table.
1596
+ :param table_bucket_arn: The Amazon Resource Name (ARN) of the specified table bucket.
1597
+ :param table_name: The name for the table.
1598
+ :param compaction: Settings governing the Compaction maintenance action. Contains details about the compaction settings for an Iceberg table.
1599
+ :param iceberg_metadata: Contains details about the metadata for an Iceberg table.
1600
+ :param snapshot_management: Contains details about the snapshot management settings for an Iceberg table. A snapshot is expired when it exceeds MinSnapshotsToKeep and MaxSnapshotAgeHours.
1601
+ :param without_metadata: Indicates that you don't want to specify a schema for the table. This property is mutually exclusive to 'IcebergMetadata', and its only possible value is 'Yes'.
1602
+
1603
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-table.html
1604
+ :exampleMetadata: fixture=_generated
1605
+
1606
+ Example::
1607
+
1608
+ # The code below shows an example of how to instantiate this type.
1609
+ # The values are placeholders you should change.
1610
+ from aws_cdk import aws_s3tables as s3tables
1611
+
1612
+ cfn_table_props = s3tables.CfnTableProps(
1613
+ namespace="namespace",
1614
+ open_table_format="openTableFormat",
1615
+ table_bucket_arn="tableBucketArn",
1616
+ table_name="tableName",
1617
+
1618
+ # the properties below are optional
1619
+ compaction=s3tables.CfnTable.CompactionProperty(
1620
+ status="status",
1621
+ target_file_size_mb=123
1622
+ ),
1623
+ iceberg_metadata=s3tables.CfnTable.IcebergMetadataProperty(
1624
+ iceberg_schema=s3tables.CfnTable.IcebergSchemaProperty(
1625
+ schema_field_list=[s3tables.CfnTable.SchemaFieldProperty(
1626
+ name="name",
1627
+ type="type",
1628
+
1629
+ # the properties below are optional
1630
+ required=False
1631
+ )]
1632
+ )
1633
+ ),
1634
+ snapshot_management=s3tables.CfnTable.SnapshotManagementProperty(
1635
+ max_snapshot_age_hours=123,
1636
+ min_snapshots_to_keep=123,
1637
+ status="status"
1638
+ ),
1639
+ without_metadata="withoutMetadata"
1640
+ )
1641
+ '''
1642
+ if __debug__:
1643
+ type_hints = typing.get_type_hints(_typecheckingstub__6346a05fb3e021dceca566705037999fa06de23c2e117b37dcdd3e46838b7bc6)
1644
+ check_type(argname="argument namespace", value=namespace, expected_type=type_hints["namespace"])
1645
+ check_type(argname="argument open_table_format", value=open_table_format, expected_type=type_hints["open_table_format"])
1646
+ check_type(argname="argument table_bucket_arn", value=table_bucket_arn, expected_type=type_hints["table_bucket_arn"])
1647
+ check_type(argname="argument table_name", value=table_name, expected_type=type_hints["table_name"])
1648
+ check_type(argname="argument compaction", value=compaction, expected_type=type_hints["compaction"])
1649
+ check_type(argname="argument iceberg_metadata", value=iceberg_metadata, expected_type=type_hints["iceberg_metadata"])
1650
+ check_type(argname="argument snapshot_management", value=snapshot_management, expected_type=type_hints["snapshot_management"])
1651
+ check_type(argname="argument without_metadata", value=without_metadata, expected_type=type_hints["without_metadata"])
1652
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1653
+ "namespace": namespace,
1654
+ "open_table_format": open_table_format,
1655
+ "table_bucket_arn": table_bucket_arn,
1656
+ "table_name": table_name,
1657
+ }
1658
+ if compaction is not None:
1659
+ self._values["compaction"] = compaction
1660
+ if iceberg_metadata is not None:
1661
+ self._values["iceberg_metadata"] = iceberg_metadata
1662
+ if snapshot_management is not None:
1663
+ self._values["snapshot_management"] = snapshot_management
1664
+ if without_metadata is not None:
1665
+ self._values["without_metadata"] = without_metadata
1666
+
1667
+ @builtins.property
1668
+ def namespace(self) -> builtins.str:
1669
+ '''The name of the namespace.
1670
+
1671
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-table.html#cfn-s3tables-table-namespace
1672
+ '''
1673
+ result = self._values.get("namespace")
1674
+ assert result is not None, "Required property 'namespace' is missing"
1675
+ return typing.cast(builtins.str, result)
1676
+
1677
+ @builtins.property
1678
+ def open_table_format(self) -> builtins.str:
1679
+ '''Format of the table.
1680
+
1681
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-table.html#cfn-s3tables-table-opentableformat
1682
+ '''
1683
+ result = self._values.get("open_table_format")
1684
+ assert result is not None, "Required property 'open_table_format' is missing"
1685
+ return typing.cast(builtins.str, result)
1686
+
1687
+ @builtins.property
1688
+ def table_bucket_arn(self) -> builtins.str:
1689
+ '''The Amazon Resource Name (ARN) of the specified table bucket.
1690
+
1691
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-table.html#cfn-s3tables-table-tablebucketarn
1692
+ '''
1693
+ result = self._values.get("table_bucket_arn")
1694
+ assert result is not None, "Required property 'table_bucket_arn' is missing"
1695
+ return typing.cast(builtins.str, result)
1696
+
1697
+ @builtins.property
1698
+ def table_name(self) -> builtins.str:
1699
+ '''The name for the table.
1700
+
1701
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-table.html#cfn-s3tables-table-tablename
1702
+ '''
1703
+ result = self._values.get("table_name")
1704
+ assert result is not None, "Required property 'table_name' is missing"
1705
+ return typing.cast(builtins.str, result)
1706
+
1707
+ @builtins.property
1708
+ def compaction(
1709
+ self,
1710
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.CompactionProperty]]:
1711
+ '''Settings governing the Compaction maintenance action.
1712
+
1713
+ Contains details about the compaction settings for an Iceberg table.
1714
+
1715
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-table.html#cfn-s3tables-table-compaction
1716
+ '''
1717
+ result = self._values.get("compaction")
1718
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.CompactionProperty]], result)
1719
+
1720
+ @builtins.property
1721
+ def iceberg_metadata(
1722
+ self,
1723
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.IcebergMetadataProperty]]:
1724
+ '''Contains details about the metadata for an Iceberg table.
1725
+
1726
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-table.html#cfn-s3tables-table-icebergmetadata
1727
+ '''
1728
+ result = self._values.get("iceberg_metadata")
1729
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.IcebergMetadataProperty]], result)
1730
+
1731
+ @builtins.property
1732
+ def snapshot_management(
1733
+ self,
1734
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.SnapshotManagementProperty]]:
1735
+ '''Contains details about the snapshot management settings for an Iceberg table.
1736
+
1737
+ A snapshot is expired when it exceeds MinSnapshotsToKeep and MaxSnapshotAgeHours.
1738
+
1739
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-table.html#cfn-s3tables-table-snapshotmanagement
1740
+ '''
1741
+ result = self._values.get("snapshot_management")
1742
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.SnapshotManagementProperty]], result)
1743
+
1744
+ @builtins.property
1745
+ def without_metadata(self) -> typing.Optional[builtins.str]:
1746
+ '''Indicates that you don't want to specify a schema for the table.
1747
+
1748
+ This property is mutually exclusive to 'IcebergMetadata', and its only possible value is 'Yes'.
1749
+
1750
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-table.html#cfn-s3tables-table-withoutmetadata
1751
+ '''
1752
+ result = self._values.get("without_metadata")
1753
+ return typing.cast(typing.Optional[builtins.str], result)
1754
+
1755
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1756
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1757
+
1758
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1759
+ return not (rhs == self)
1760
+
1761
+ def __repr__(self) -> str:
1762
+ return "CfnTableProps(%s)" % ", ".join(
1763
+ k + "=" + repr(v) for k, v in self._values.items()
1764
+ )
1765
+
1766
+
894
1767
  __all__ = [
895
1768
  "CfnNamespace",
896
1769
  "CfnNamespaceProps",
1770
+ "CfnTable",
897
1771
  "CfnTableBucket",
898
1772
  "CfnTableBucketPolicy",
899
1773
  "CfnTableBucketPolicyProps",
900
1774
  "CfnTableBucketProps",
1775
+ "CfnTableProps",
901
1776
  ]
902
1777
 
903
1778
  publication.publish()
@@ -944,6 +1819,122 @@ def _typecheckingstub__5fdadc8758c9f96fac22200567c0d51cfd3e36c943cb9fa46e50cbf9a
944
1819
  """Type checking stubs"""
945
1820
  pass
946
1821
 
1822
+ def _typecheckingstub__9cb6d8b27037c33c46017d3b0b00b52a14bbd8c0a922c03aca7fff9e327b1420(
1823
+ scope: _constructs_77d1e7e8.Construct,
1824
+ id: builtins.str,
1825
+ *,
1826
+ namespace: builtins.str,
1827
+ open_table_format: builtins.str,
1828
+ table_bucket_arn: builtins.str,
1829
+ table_name: builtins.str,
1830
+ compaction: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.CompactionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1831
+ iceberg_metadata: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.IcebergMetadataProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1832
+ snapshot_management: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.SnapshotManagementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1833
+ without_metadata: typing.Optional[builtins.str] = None,
1834
+ ) -> None:
1835
+ """Type checking stubs"""
1836
+ pass
1837
+
1838
+ def _typecheckingstub__8e9f0a1074447de044514c7c1b5b2cca167912d3e02c228b501f3cc4c1b09a6f(
1839
+ inspector: _TreeInspector_488e0dd5,
1840
+ ) -> None:
1841
+ """Type checking stubs"""
1842
+ pass
1843
+
1844
+ def _typecheckingstub__a82da714fe9043c593e17c8af3ba9310ce4d043a6843c815aa933a3f004a6d5a(
1845
+ props: typing.Mapping[builtins.str, typing.Any],
1846
+ ) -> None:
1847
+ """Type checking stubs"""
1848
+ pass
1849
+
1850
+ def _typecheckingstub__fb40731dfd6256164661895ce0f48c78b8e18c58fb7f27fbb73a3ce7c916c1df(
1851
+ value: builtins.str,
1852
+ ) -> None:
1853
+ """Type checking stubs"""
1854
+ pass
1855
+
1856
+ def _typecheckingstub__5892a05d87447cee97d5ab4f41ddb7d6837df87a8b4e6b9d577c79cfe927180a(
1857
+ value: builtins.str,
1858
+ ) -> None:
1859
+ """Type checking stubs"""
1860
+ pass
1861
+
1862
+ def _typecheckingstub__7ad6ac8e43e44c04006a5ef80e152c8effbbdb7bf127bd063a6b732c4ee1f9a9(
1863
+ value: builtins.str,
1864
+ ) -> None:
1865
+ """Type checking stubs"""
1866
+ pass
1867
+
1868
+ def _typecheckingstub__f410c91375a77f7ed3b5736522dbfb254643b931cd30ea49af6d7d51d9c5ddc5(
1869
+ value: builtins.str,
1870
+ ) -> None:
1871
+ """Type checking stubs"""
1872
+ pass
1873
+
1874
+ def _typecheckingstub__4ff6f95f778b64c53b87dfe6f8a117fa9d1583584d475eef7586c75859dcb219(
1875
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.CompactionProperty]],
1876
+ ) -> None:
1877
+ """Type checking stubs"""
1878
+ pass
1879
+
1880
+ def _typecheckingstub__6f0509a656c9927b41c3ead9b58d6c83257863d2b8d1104c542e1a8435be4160(
1881
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.IcebergMetadataProperty]],
1882
+ ) -> None:
1883
+ """Type checking stubs"""
1884
+ pass
1885
+
1886
+ def _typecheckingstub__c6c432f4785ee47d59f072204756d42650b9fc3dd3e85a79139ab4f11fb72a43(
1887
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTable.SnapshotManagementProperty]],
1888
+ ) -> None:
1889
+ """Type checking stubs"""
1890
+ pass
1891
+
1892
+ def _typecheckingstub__e5d21acaabd2bab58c6f59f334d1b06b0962eb6541244a042a933b5ce009a061(
1893
+ value: typing.Optional[builtins.str],
1894
+ ) -> None:
1895
+ """Type checking stubs"""
1896
+ pass
1897
+
1898
+ def _typecheckingstub__f49118bb06f06baf9f7618e6cd633803a2486d06b541e59cab8801a6a0983fcc(
1899
+ *,
1900
+ status: typing.Optional[builtins.str] = None,
1901
+ target_file_size_mb: typing.Optional[jsii.Number] = None,
1902
+ ) -> None:
1903
+ """Type checking stubs"""
1904
+ pass
1905
+
1906
+ def _typecheckingstub__1e5dc7085346ad722ba37251e910871affc6e3d90d9251cc9d43941978d7cb0a(
1907
+ *,
1908
+ iceberg_schema: typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.IcebergSchemaProperty, typing.Dict[builtins.str, typing.Any]]],
1909
+ ) -> None:
1910
+ """Type checking stubs"""
1911
+ pass
1912
+
1913
+ def _typecheckingstub__3613cb002c55c4baeb2517f3445ed9e71396e5ee393d230544d3f1302b471205(
1914
+ *,
1915
+ schema_field_list: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.SchemaFieldProperty, typing.Dict[builtins.str, typing.Any]]]]],
1916
+ ) -> None:
1917
+ """Type checking stubs"""
1918
+ pass
1919
+
1920
+ def _typecheckingstub__b3f6368f6b334e97c5c50a43ab04d5e784e18fdb0e687d1684b9ad01ad6c1a29(
1921
+ *,
1922
+ name: builtins.str,
1923
+ type: builtins.str,
1924
+ required: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1925
+ ) -> None:
1926
+ """Type checking stubs"""
1927
+ pass
1928
+
1929
+ def _typecheckingstub__fa9c2ac7b8956daecf8522166700dd475625d08f131913fda8e01475215f3656(
1930
+ *,
1931
+ max_snapshot_age_hours: typing.Optional[jsii.Number] = None,
1932
+ min_snapshots_to_keep: typing.Optional[jsii.Number] = None,
1933
+ status: typing.Optional[builtins.str] = None,
1934
+ ) -> None:
1935
+ """Type checking stubs"""
1936
+ pass
1937
+
947
1938
  def _typecheckingstub__de433918cd34eecbcaab0e81b6a287f71a48dd308c2f4d42e07a0e19ce5af0e2(
948
1939
  scope: _constructs_77d1e7e8.Construct,
949
1940
  id: builtins.str,
@@ -1052,3 +2043,17 @@ def _typecheckingstub__6fb9342a13c0e9f7b21679814e793d7ccc0964ccfe53bc5e0916676b6
1052
2043
  ) -> None:
1053
2044
  """Type checking stubs"""
1054
2045
  pass
2046
+
2047
+ def _typecheckingstub__6346a05fb3e021dceca566705037999fa06de23c2e117b37dcdd3e46838b7bc6(
2048
+ *,
2049
+ namespace: builtins.str,
2050
+ open_table_format: builtins.str,
2051
+ table_bucket_arn: builtins.str,
2052
+ table_name: builtins.str,
2053
+ compaction: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.CompactionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2054
+ iceberg_metadata: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.IcebergMetadataProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2055
+ snapshot_management: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTable.SnapshotManagementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2056
+ without_metadata: typing.Optional[builtins.str] = None,
2057
+ ) -> None:
2058
+ """Type checking stubs"""
2059
+ pass