Class CfnTable.Builder

java.lang.Object
software.amazon.awscdk.services.cassandra.CfnTable.Builder
All Implemented Interfaces:
software.amazon.jsii.Builder<CfnTable>
Enclosing class:
CfnTable

@Stability(Stable) public static final class CfnTable.Builder extends Object implements software.amazon.jsii.Builder<CfnTable>
A fluent builder for CfnTable.
  • Method Details

    • create

      @Stability(Stable) public static CfnTable.Builder create(Construct scope, String id)
      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
      Returns:
      a new instance of CfnTable.Builder.
    • keyspaceName

      @Stability(Stable) public CfnTable.Builder keyspaceName(String keyspaceName)
      The name of the keyspace to create the table in.

      The keyspace must already exist.

      Parameters:
      keyspaceName - The name of the keyspace to create the table in. This parameter is required.
      Returns:
      this
    • partitionKeyColumns

      @Stability(Stable) public CfnTable.Builder partitionKeyColumns(IResolvable partitionKeyColumns)
      One or more columns that uniquely identify every row in the table.

      Every table must have a partition key.

      Parameters:
      partitionKeyColumns - One or more columns that uniquely identify every row in the table. This parameter is required.
      Returns:
      this
    • partitionKeyColumns

      @Stability(Stable) public CfnTable.Builder partitionKeyColumns(List<? extends Object> partitionKeyColumns)
      One or more columns that uniquely identify every row in the table.

      Every table must have a partition key.

      Parameters:
      partitionKeyColumns - One or more columns that uniquely identify every row in the table. This parameter is required.
      Returns:
      this
    • billingMode

      @Stability(Stable) public CfnTable.Builder billingMode(IResolvable billingMode)
      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.

      Parameters:
      billingMode - The billing mode for the table, which determines how you'll be charged for reads and writes:. This parameter is required.
      Returns:
      this
    • billingMode

      @Stability(Stable) public CfnTable.Builder billingMode(CfnTable.BillingModeProperty billingMode)
      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.

      Parameters:
      billingMode - The billing mode for the table, which determines how you'll be charged for reads and writes:. This parameter is required.
      Returns:
      this
    • clientSideTimestampsEnabled

      @Stability(Stable) public CfnTable.Builder clientSideTimestampsEnabled(Boolean clientSideTimestampsEnabled)
      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.

      Parameters:
      clientSideTimestampsEnabled - Enables client-side timestamps for the table. This parameter is required.
      Returns:
      this
    • clientSideTimestampsEnabled

      @Stability(Stable) public CfnTable.Builder clientSideTimestampsEnabled(IResolvable clientSideTimestampsEnabled)
      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.

      Parameters:
      clientSideTimestampsEnabled - Enables client-side timestamps for the table. This parameter is required.
      Returns:
      this
    • clusteringKeyColumns

      @Stability(Stable) public CfnTable.Builder clusteringKeyColumns(IResolvable clusteringKeyColumns)
      One or more columns that determine how the table data is sorted.

      Parameters:
      clusteringKeyColumns - One or more columns that determine how the table data is sorted. This parameter is required.
      Returns:
      this
    • clusteringKeyColumns

      @Stability(Stable) public CfnTable.Builder clusteringKeyColumns(List<? extends Object> clusteringKeyColumns)
      One or more columns that determine how the table data is sorted.

      Parameters:
      clusteringKeyColumns - One or more columns that determine how the table data is sorted. This parameter is required.
      Returns:
      this
    • defaultTimeToLive

      @Stability(Stable) public CfnTable.Builder defaultTimeToLive(Number defaultTimeToLive)
      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 .

      Parameters:
      defaultTimeToLive - The default Time To Live (TTL) value for all rows in a table in seconds. This parameter is required.
      Returns:
      this
    • encryptionSpecification

      @Stability(Stable) public CfnTable.Builder encryptionSpecification(IResolvable encryptionSpecification)
      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 .

      Parameters:
      encryptionSpecification - The encryption at rest options for the table. This parameter is required.
      Returns:
      this
    • encryptionSpecification

      @Stability(Stable) public CfnTable.Builder encryptionSpecification(CfnTable.EncryptionSpecificationProperty encryptionSpecification)
      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 .

      Parameters:
      encryptionSpecification - The encryption at rest options for the table. This parameter is required.
      Returns:
      this
    • pointInTimeRecoveryEnabled

      @Stability(Stable) public CfnTable.Builder pointInTimeRecoveryEnabled(Boolean pointInTimeRecoveryEnabled)
      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 .

      Parameters:
      pointInTimeRecoveryEnabled - Specifies if point-in-time recovery is enabled or disabled for the table. This parameter is required.
      Returns:
      this
    • pointInTimeRecoveryEnabled

      @Stability(Stable) public CfnTable.Builder pointInTimeRecoveryEnabled(IResolvable pointInTimeRecoveryEnabled)
      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 .

      Parameters:
      pointInTimeRecoveryEnabled - Specifies if point-in-time recovery is enabled or disabled for the table. This parameter is required.
      Returns:
      this
    • regularColumns

      @Stability(Stable) public CfnTable.Builder regularColumns(IResolvable regularColumns)
      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.

      Parameters:
      regularColumns - 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. This parameter is required.
      Returns:
      this
    • regularColumns

      @Stability(Stable) public CfnTable.Builder regularColumns(List<? extends Object> regularColumns)
      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.

      Parameters:
      regularColumns - 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. This parameter is required.
      Returns:
      this
    • tableName

      @Stability(Stable) public CfnTable.Builder tableName(String tableName)
      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}$

      Parameters:
      tableName - The name of the table to be created. This parameter is required.
      Returns:
      this
    • tags

      @Stability(Stable) public CfnTable.Builder tags(List<? extends CfnTag> tags)
      A list of key-value pair tags to be attached to the resource.

      Parameters:
      tags - A list of key-value pair tags to be attached to the resource. This parameter is required.
      Returns:
      this
    • build

      @Stability(Stable) public CfnTable build()
      Specified by:
      build in interface software.amazon.jsii.Builder<CfnTable>
      Returns:
      a newly built instance of CfnTable.