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

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:29:55.872Z") @Stability(Stable) public class CfnTable extends CfnResource implements IInspectable
A CloudFormation AWS::Cassandra::Table.

You can use the AWS::Cassandra::Table resource to create a new table in Amazon Keyspaces (for Apache Cassandra). For more information, see Create a keyspace and a table in the Amazon Keyspaces Developer Guide .

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.*;
 CfnTable cfnTable = CfnTable.Builder.create(this, "MyCfnTable")
         .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();
 
  • 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 Construct scope, @NotNull String id, @NotNull CfnTableProps props)
      Create a new AWS::Cassandra::Table.

      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      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.
    • getCfnProperties

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

      @Stability(Stable) @NotNull public TagManager getTags()
      A list of key-value pair tags to be attached to the resource.
    • getKeyspaceName

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

      The keyspace must already exist.

    • setKeyspaceName

      @Stability(Stable) public void setKeyspaceName(@NotNull String value)
      The name of the keyspace to create the table in.

      The keyspace must already exist.

    • getPartitionKeyColumns

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

      Every table must have a partition key.

    • setPartitionKeyColumns

      @Stability(Stable) public void setPartitionKeyColumns(@NotNull IResolvable value)
      One or more columns that uniquely identify every row in the table.

      Every table must have a partition key.

    • setPartitionKeyColumns

      @Stability(Stable) public void setPartitionKeyColumns(@NotNull List<Object> value)
      One or more columns that uniquely identify every row in the table.

      Every table must have a partition key.

    • getBillingMode

      @Stability(Stable) @Nullable public 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.

    • setBillingMode

      @Stability(Stable) public void setBillingMode(@Nullable IResolvable value)
      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.

    • setBillingMode

      @Stability(Stable) public void setBillingMode(@Nullable CfnTable.BillingModeProperty value)
      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 public 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.

    • setClientSideTimestampsEnabled

      @Stability(Stable) public void setClientSideTimestampsEnabled(@Nullable Boolean value)
      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.

    • setClientSideTimestampsEnabled

      @Stability(Stable) public void setClientSideTimestampsEnabled(@Nullable IResolvable value)
      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 public Object getClusteringKeyColumns()
      One or more columns that determine how the table data is sorted.
    • setClusteringKeyColumns

      @Stability(Stable) public void setClusteringKeyColumns(@Nullable IResolvable value)
      One or more columns that determine how the table data is sorted.
    • setClusteringKeyColumns

      @Stability(Stable) public void setClusteringKeyColumns(@Nullable List<Object> value)
      One or more columns that determine how the table data is sorted.
    • getDefaultTimeToLive

      @Stability(Stable) @Nullable public 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 .

    • setDefaultTimeToLive

      @Stability(Stable) public void setDefaultTimeToLive(@Nullable Number value)
      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 public 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 .

    • setEncryptionSpecification

      @Stability(Stable) public void setEncryptionSpecification(@Nullable IResolvable value)
      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 .

    • setEncryptionSpecification

      @Stability(Stable) public void setEncryptionSpecification(@Nullable CfnTable.EncryptionSpecificationProperty value)
      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 public 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 .

    • setPointInTimeRecoveryEnabled

      @Stability(Stable) public void setPointInTimeRecoveryEnabled(@Nullable Boolean value)
      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 .

    • setPointInTimeRecoveryEnabled

      @Stability(Stable) public void setPointInTimeRecoveryEnabled(@Nullable IResolvable value)
      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 public 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.

    • setRegularColumns

      @Stability(Stable) public void setRegularColumns(@Nullable IResolvable value)
      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.

    • setRegularColumns

      @Stability(Stable) public void setRegularColumns(@Nullable List<Object> value)
      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 public 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}$

    • setTableName

      @Stability(Stable) public void setTableName(@Nullable String value)
      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}$