Interface CfnTableProps

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
CfnTableProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:29:55.878Z") @Stability(Stable) public interface CfnTableProps extends software.amazon.jsii.JsiiSerializable
Properties for defining a CfnTable.

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.cassandra.*;
 CfnTableProps cfnTableProps = CfnTableProps.builder()
         .keyspaceName("keyspaceName")
         .partitionKeyColumns(List.of(ColumnProperty.builder()
                 .columnName("columnName")
                 .columnType("columnType")
                 .build()))
         // the properties below are optional
         .billingMode(BillingModeProperty.builder()
                 .mode("mode")
                 // the properties below are optional
                 .provisionedThroughput(ProvisionedThroughputProperty.builder()
                         .readCapacityUnits(123)
                         .writeCapacityUnits(123)
                         .build())
                 .build())
         .clientSideTimestampsEnabled(false)
         .clusteringKeyColumns(List.of(ClusteringKeyColumnProperty.builder()
                 .column(ColumnProperty.builder()
                         .columnName("columnName")
                         .columnType("columnType")
                         .build())
                 // the properties below are optional
                 .orderBy("orderBy")
                 .build()))
         .defaultTimeToLive(123)
         .encryptionSpecification(EncryptionSpecificationProperty.builder()
                 .encryptionType("encryptionType")
                 // the properties below are optional
                 .kmsKeyIdentifier("kmsKeyIdentifier")
                 .build())
         .pointInTimeRecoveryEnabled(false)
         .regularColumns(List.of(ColumnProperty.builder()
                 .columnName("columnName")
                 .columnType("columnType")
                 .build()))
         .tableName("tableName")
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .build();
 
  • Method Details

    • getKeyspaceName

      @Stability(Stable) @NotNull String getKeyspaceName()
      The name of the keyspace to create the table in.

      The keyspace must already exist.

    • getPartitionKeyColumns

      @Stability(Stable) @NotNull Object getPartitionKeyColumns()
      One or more columns that uniquely identify every row in the table.

      Every table must have a partition key.

    • getBillingMode

      @Stability(Stable) @Nullable default Object getBillingMode()
      The billing mode for the table, which determines how you'll be charged for reads and writes:.

      • On-demand mode (default) - You pay based on the actual reads and writes your application performs.
      • Provisioned mode - Lets you specify the number of reads and writes per second that you need for your application.

      If you don't specify a value for this property, then the table will use on-demand mode.

    • getClientSideTimestampsEnabled

      @Stability(Stable) @Nullable default Object getClientSideTimestampsEnabled()
      Enables client-side timestamps for the table.

      By default, the setting is disabled. You can enable client-side timestamps with the following option:

      • status: "enabled"

      After client-side timestamps are enabled for a table, you can't disable this setting.

    • getClusteringKeyColumns

      @Stability(Stable) @Nullable default Object getClusteringKeyColumns()
      One or more columns that determine how the table data is sorted.
    • getDefaultTimeToLive

      @Stability(Stable) @Nullable default Number getDefaultTimeToLive()
      The default Time To Live (TTL) value for all rows in a table in seconds.

      The maximum configurable value is 630,720,000 seconds, which is the equivalent of 20 years. By default, the TTL value for a table is 0, which means data does not expire.

      For more information, see Setting the default TTL value for a table in the Amazon Keyspaces Developer Guide .

    • getEncryptionSpecification

      @Stability(Stable) @Nullable default Object getEncryptionSpecification()
      The encryption at rest options for the table.

      • AWS owned key (default) - The key is owned by Amazon Keyspaces.
      • Customer managed key - The key is stored in your account and is created, owned, and managed by you.

      If you choose encryption with a customer managed key, you must specify a valid customer managed KMS key with permissions granted to Amazon Keyspaces.

      For more information, see Encryption at rest in Amazon Keyspaces in the Amazon Keyspaces Developer Guide .

    • getPointInTimeRecoveryEnabled

      @Stability(Stable) @Nullable default Object getPointInTimeRecoveryEnabled()
      Specifies if point-in-time recovery is enabled or disabled for the table.

      The options are PointInTimeRecoveryEnabled=true and PointInTimeRecoveryEnabled=false . If not specified, the default is PointInTimeRecoveryEnabled=false .

    • getRegularColumns

      @Stability(Stable) @Nullable default Object getRegularColumns()
      One or more columns that are not part of the primary key - that is, columns that are not defined as partition key columns or clustering key columns.

      You can add regular columns to existing tables by adding them to the template.

    • getTableName

      @Stability(Stable) @Nullable default String getTableName()
      The name of the table to be created.

      The table name is case sensitive. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the table name. For more information, see Name type .

      If you specify a name, you can't perform updates that require replacing this resource. You can perform updates that require no interruption or some interruption. If you must replace the resource, specify a new name.

      Length constraints: Minimum length of 3. Maximum length of 255.

      Pattern: ^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$

    • getTags

      @Stability(Stable) @Nullable default List<CfnTag> getTags()
      A list of key-value pair tags to be attached to the resource.
    • builder

      @Stability(Stable) static CfnTableProps.Builder builder()
      Returns:
      a CfnTableProps.Builder of CfnTableProps