Class CfnTableProps.Builder

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

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

    • Builder

      public Builder()
  • Method Details

    • keyspaceName

      @Stability(Stable) public CfnTableProps.Builder keyspaceName(String keyspaceName)
      Parameters:
      keyspaceName - The name of the keyspace to create the table in. This parameter is required. The keyspace must already exist.
      Returns:
      this
    • partitionKeyColumns

      @Stability(Stable) public CfnTableProps.Builder partitionKeyColumns(IResolvable partitionKeyColumns)
      Parameters:
      partitionKeyColumns - One or more columns that uniquely identify every row in the table. This parameter is required. Every table must have a partition key.
      Returns:
      this
    • partitionKeyColumns

      @Stability(Stable) public CfnTableProps.Builder partitionKeyColumns(List<? extends Object> partitionKeyColumns)
      Parameters:
      partitionKeyColumns - One or more columns that uniquely identify every row in the table. This parameter is required. Every table must have a partition key.
      Returns:
      this
    • autoScalingSpecifications

      @Stability(Stable) public CfnTableProps.Builder autoScalingSpecifications(IResolvable autoScalingSpecifications)
      Parameters:
      autoScalingSpecifications - The optional auto scaling capacity settings for a table in provisioned capacity mode.
      Returns:
      this
    • autoScalingSpecifications

      @Stability(Stable) public CfnTableProps.Builder autoScalingSpecifications(CfnTable.AutoScalingSpecificationProperty autoScalingSpecifications)
      Parameters:
      autoScalingSpecifications - The optional auto scaling capacity settings for a table in provisioned capacity mode.
      Returns:
      this
    • billingMode

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

      Returns:
      this
    • billingMode

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

      Returns:
      this
    • clientSideTimestampsEnabled

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

      Returns:
      this
    • clientSideTimestampsEnabled

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

      Returns:
      this
    • clusteringKeyColumns

      @Stability(Stable) public CfnTableProps.Builder clusteringKeyColumns(IResolvable clusteringKeyColumns)
      Parameters:
      clusteringKeyColumns - One or more columns that determine how the table data is sorted.
      Returns:
      this
    • clusteringKeyColumns

      @Stability(Stable) public CfnTableProps.Builder clusteringKeyColumns(List<? extends Object> clusteringKeyColumns)
      Parameters:
      clusteringKeyColumns - One or more columns that determine how the table data is sorted.
      Returns:
      this
    • defaultTimeToLive

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

      Returns:
      this
    • encryptionSpecification

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

      Returns:
      this
    • encryptionSpecification

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

      Returns:
      this
    • pointInTimeRecoveryEnabled

      @Stability(Stable) public CfnTableProps.Builder pointInTimeRecoveryEnabled(Boolean pointInTimeRecoveryEnabled)
      Parameters:
      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 .
      Returns:
      this
    • pointInTimeRecoveryEnabled

      @Stability(Stable) public CfnTableProps.Builder pointInTimeRecoveryEnabled(IResolvable pointInTimeRecoveryEnabled)
      Parameters:
      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 .
      Returns:
      this
    • regularColumns

      @Stability(Stable) public CfnTableProps.Builder regularColumns(IResolvable regularColumns)
      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. You can add regular columns to existing tables by adding them to the template.
      Returns:
      this
    • regularColumns

      @Stability(Stable) public CfnTableProps.Builder regularColumns(List<? extends Object> regularColumns)
      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. You can add regular columns to existing tables by adding them to the template.
      Returns:
      this
    • replicaSpecifications

      @Stability(Stable) public CfnTableProps.Builder replicaSpecifications(IResolvable replicaSpecifications)
      Parameters:
      replicaSpecifications - The AWS Region specific settings of a multi-Region table. For a multi-Region table, you can configure the table's read capacity differently per AWS Region. You can do this by configuring the following parameters.

      • region : The Region where these settings are applied. (Required)
      • readCapacityUnits : The provisioned read capacity units. (Optional)
      • readCapacityAutoScaling : The read capacity auto scaling settings for the table. (Optional)
      Returns:
      this
    • replicaSpecifications

      @Stability(Stable) public CfnTableProps.Builder replicaSpecifications(List<? extends Object> replicaSpecifications)
      Parameters:
      replicaSpecifications - The AWS Region specific settings of a multi-Region table. For a multi-Region table, you can configure the table's read capacity differently per AWS Region. You can do this by configuring the following parameters.

      • region : The Region where these settings are applied. (Required)
      • readCapacityUnits : The provisioned read capacity units. (Optional)
      • readCapacityAutoScaling : The read capacity auto scaling settings for the table. (Optional)
      Returns:
      this
    • tableName

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

      Returns:
      this
    • tags

      @Stability(Stable) public CfnTableProps.Builder tags(List<? extends CfnTag> tags)
      Sets the value of CfnTableProps.getTags()
      Parameters:
      tags - An array of key-value pairs to apply to this resource. For more information, see Tag .
      Returns:
      this
    • build

      @Stability(Stable) public CfnTableProps build()
      Builds the configured instance.
      Specified by:
      build in interface software.amazon.jsii.Builder<CfnTableProps>
      Returns:
      a new instance of CfnTableProps
      Throws:
      NullPointerException - if any required attribute was not provided