java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
All Implemented Interfaces:
IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable

@Generated(value="jsii-pacmak/1.112.0 (build de1bc80)", date="2025-07-16T11:43:22.232Z") @Stability(Stable) public class CfnTable extends CfnResource implements IInspectable
Creates a new table associated with the given namespace in a table bucket.

For more information, see Creating an Amazon S3 table in the Amazon Simple Storage Service User Guide .

  • Permissions - - You must have the s3tables:CreateTable permission to use this operation.
  • If you use this operation with the optional metadata request parameter you must have the s3tables:PutTableData permission.
  • If you use this operation with the optional encryptionConfiguration request parameter you must have the s3tables:PutTableEncryption permission.

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 .

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.s3tables.*;
 CfnTable cfnTable = CfnTable.Builder.create(this, "MyCfnTable")
         .namespace("namespace")
         .openTableFormat("openTableFormat")
         .tableBucketArn("tableBucketArn")
         .tableName("tableName")
         // the properties below are optional
         .compaction(CompactionProperty.builder()
                 .status("status")
                 .targetFileSizeMb(123)
                 .build())
         .icebergMetadata(IcebergMetadataProperty.builder()
                 .icebergSchema(IcebergSchemaProperty.builder()
                         .schemaFieldList(List.of(SchemaFieldProperty.builder()
                                 .name("name")
                                 .type("type")
                                 // the properties below are optional
                                 .required(false)
                                 .build()))
                         .build())
                 .build())
         .snapshotManagement(SnapshotManagementProperty.builder()
                 .maxSnapshotAgeHours(123)
                 .minSnapshotsToKeep(123)
                 .status("status")
                 .build())
         .withoutMetadata("withoutMetadata")
         .build();
 

See Also:
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnTable

      protected CfnTable(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnTable

      protected CfnTable(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnTable

      @Stability(Stable) public CfnTable(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull CfnTableProps props)
      Parameters:
      scope - Scope in which this resource is defined. This parameter is required.
      id - Construct identifier for this resource (unique in its scope). This parameter is required.
      props - Resource properties. This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector - tree inspector to collect and process attributes. This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrTableArn

      @Stability(Stable) @NotNull public String getAttrTableArn()
      The Amazon Resource Name (ARN) of the table.
    • getAttrVersionToken

      @Stability(Stable) @NotNull public String getAttrVersionToken()
      The version token of the table.
    • getAttrWarehouseLocation

      @Stability(Stable) @NotNull public String getAttrWarehouseLocation()
      The warehouse location of the table.
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getNamespace

      @Stability(Stable) @NotNull public String getNamespace()
      The name of the namespace.
    • setNamespace

      @Stability(Stable) public void setNamespace(@NotNull String value)
      The name of the namespace.
    • getOpenTableFormat

      @Stability(Stable) @NotNull public String getOpenTableFormat()
      Format of the table.
    • setOpenTableFormat

      @Stability(Stable) public void setOpenTableFormat(@NotNull String value)
      Format of the table.
    • getTableBucketArn

      @Stability(Stable) @NotNull public String getTableBucketArn()
      The Amazon Resource Name (ARN) of the specified table bucket.
    • setTableBucketArn

      @Stability(Stable) public void setTableBucketArn(@NotNull String value)
      The Amazon Resource Name (ARN) of the specified table bucket.
    • getTableName

      @Stability(Stable) @NotNull public String getTableName()
      The name for the table.
    • setTableName

      @Stability(Stable) public void setTableName(@NotNull String value)
      The name for the table.
    • getCompaction

      @Stability(Stable) @Nullable public Object getCompaction()
      Settings governing the Compaction maintenance action.
    • setCompaction

      @Stability(Stable) public void setCompaction(@Nullable IResolvable value)
      Settings governing the Compaction maintenance action.
    • setCompaction

      @Stability(Stable) public void setCompaction(@Nullable CfnTable.CompactionProperty value)
      Settings governing the Compaction maintenance action.
    • getIcebergMetadata

      @Stability(Stable) @Nullable public Object getIcebergMetadata()
      Contains details about the metadata for an Iceberg table.
    • setIcebergMetadata

      @Stability(Stable) public void setIcebergMetadata(@Nullable IResolvable value)
      Contains details about the metadata for an Iceberg table.
    • setIcebergMetadata

      @Stability(Stable) public void setIcebergMetadata(@Nullable CfnTable.IcebergMetadataProperty value)
      Contains details about the metadata for an Iceberg table.
    • getSnapshotManagement

      @Stability(Stable) @Nullable public Object getSnapshotManagement()
      Contains details about the snapshot management settings for an Iceberg table.
    • setSnapshotManagement

      @Stability(Stable) public void setSnapshotManagement(@Nullable IResolvable value)
      Contains details about the snapshot management settings for an Iceberg table.
    • setSnapshotManagement

      @Stability(Stable) public void setSnapshotManagement(@Nullable CfnTable.SnapshotManagementProperty value)
      Contains details about the snapshot management settings for an Iceberg table.
    • getWithoutMetadata

      @Stability(Stable) @Nullable public String getWithoutMetadata()
      Indicates that you don't want to specify a schema for the table.
    • setWithoutMetadata

      @Stability(Stable) public void setWithoutMetadata(@Nullable String value)
      Indicates that you don't want to specify a schema for the table.