Skip to content
v2.274.0

CfnTableProps Struct ​

Properties for defining a CfnTable.

Example ​

ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_cassandra as cassandra } from 'aws-cdk-lib';
const cfnTableProps: cassandra.CfnTableProps = {
  keyspaceName: 'keyspaceName',
  partitionKeyColumns: [{
    columnName: 'columnName',
    columnType: 'columnType',
  }],

  // the properties below are optional
  autoScalingSpecifications: {
    readCapacityAutoScaling: {
      autoScalingDisabled: false,
      maximumUnits: 123,
      minimumUnits: 123,
      scalingPolicy: {
        targetTrackingScalingPolicyConfiguration: {
          targetValue: 123,

          // the properties below are optional
          disableScaleIn: false,
          scaleInCooldown: 123,
          scaleOutCooldown: 123,
        },
      },
    },
    writeCapacityAutoScaling: {
      autoScalingDisabled: false,
      maximumUnits: 123,
      minimumUnits: 123,
      scalingPolicy: {
        targetTrackingScalingPolicyConfiguration: {
          targetValue: 123,

          // the properties below are optional
          disableScaleIn: false,
          scaleInCooldown: 123,
          scaleOutCooldown: 123,
        },
      },
    },
  },
  billingMode: {
    mode: 'mode',

    // the properties below are optional
    provisionedThroughput: {
      readCapacityUnits: 123,
      writeCapacityUnits: 123,
    },
  },
  cdcSpecification: {
    status: 'status',

    // the properties below are optional
    tags: [{
      key: 'key',
      value: 'value',
    }],
    viewType: 'viewType',
  },
  clientSideTimestampsEnabled: false,
  clusteringKeyColumns: [{
    column: {
      columnName: 'columnName',
      columnType: 'columnType',
    },

    // the properties below are optional
    orderBy: 'orderBy',
  }],
  defaultTimeToLive: 123,
  encryptionSpecification: {
    encryptionType: 'encryptionType',

    // the properties below are optional
    kmsKeyIdentifier: 'kmsKeyIdentifier',
  },
  pointInTimeRecoveryEnabled: false,
  regularColumns: [{
    columnName: 'columnName',
    columnType: 'columnType',
  }],
  replicaSpecifications: [{
    region: 'region',

    // the properties below are optional
    readCapacityAutoScaling: {
      autoScalingDisabled: false,
      maximumUnits: 123,
      minimumUnits: 123,
      scalingPolicy: {
        targetTrackingScalingPolicyConfiguration: {
          targetValue: 123,

          // the properties below are optional
          disableScaleIn: false,
          scaleInCooldown: 123,
          scaleOutCooldown: 123,
        },
      },
    },
    readCapacityUnits: 123,
  }],
  tableName: 'tableName',
  tags: [{
    key: 'key',
    value: 'value',
  }],
  warmThroughput: {
    readUnitsPerSecond: 123,
    writeUnitsPerSecond: 123,
  },
};

Properties ​

autoScalingSpecificationsoptionalIResolvable | CfnTable.AutoScalingSpecificationPropertyauto_scaling_specificationsoptionaltyping.Union[IResolvable, AutoScalingSpecificationProperty]autoScalingSpecificationsoptionalIResolvableAutoScalingSpecificationsoptionalIResolvableAutoScalingSpecificationsoptionalinterface{}#
The optional auto scaling capacity settings for a table in provisioned capacity mode.
billingModeoptionalIResolvable | CfnTable.BillingModePropertybilling_modeoptionaltyping.Union[IResolvable, BillingModeProperty]billingModeoptionalIResolvableBillingModeoptionalIResolvableBillingModeoptionalinterface{}#
The billing mode for the table, which determines how you'll be charged for reads and writes:.
notes
  • 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.

cdcSpecificationoptionalIResolvable | CfnTable.CdcSpecificationPropertycdc_specificationoptionaltyping.Union[IResolvable, CdcSpecificationProperty]cdcSpecificationoptionalIResolvableCdcSpecificationoptionalIResolvableCdcSpecificationoptionalinterface{}#
The settings for the CDC stream of a table.

For more information about CDC streams, see Working with change data capture (CDC) streams in Amazon Keyspaces in the Amazon Keyspaces Developer Guide .

clientSideTimestampsEnabledoptionalboolean | IResolvableclient_side_timestamps_enabledoptionaltyping.Union[bool, IResolvable]clientSideTimestampsEnabledoptionalBooleanClientSideTimestampsEnabledoptionalboolClientSideTimestampsEnabledoptionalinterface{}#
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.

clusteringKeyColumnsoptionalIResolvable | IResolvable | CfnTable.ClusteringKeyColumnProperty[]clustering_key_columnsoptionaltyping.Union[IResolvable, typing.List[typing.Union[IResolvable, ClusteringKeyColumnProperty]]]clusteringKeyColumnsoptionalIResolvableClusteringKeyColumnsoptionalIResolvableClusteringKeyColumnsoptionalinterface{}#
One or more columns that determine how the table data is sorted.
defaultTimeToLiveoptionalnumberdefault_time_to_liveoptionalint | floatdefaultTimeToLiveoptionalNumberDefaultTimeToLiveoptionaldoubleDefaultTimeToLiveoptional*float64#
The default Time To Live (TTL) value for all rows in a table in seconds.
notes

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 .

encryptionSpecificationoptionalIResolvable | CfnTable.EncryptionSpecificationPropertyencryption_specificationoptionaltyping.Union[IResolvable, EncryptionSpecificationProperty]encryptionSpecificationoptionalIResolvableEncryptionSpecificationoptionalIResolvableEncryptionSpecificationoptionalinterface{}#
The encryption at rest options for the table.
notes
  • 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 .

keyspaceNamestringkeyspace_namestrkeyspaceNameStringKeyspaceNamestringKeyspaceName*stringrequired#
The name of the keyspace to create the table in.

The keyspace must already exist.

partitionKeyColumnsIResolvable | IResolvable | CfnTable.ColumnProperty[]partition_key_columnstyping.Union[IResolvable, typing.List[typing.Union[IResolvable, ColumnProperty]]]partitionKeyColumnsIResolvablePartitionKeyColumnsIResolvablePartitionKeyColumnsinterface{}required#
One or more columns that uniquely identify every row in the table.

Every table must have a partition key.

pointInTimeRecoveryEnabledoptionalboolean | IResolvablepoint_in_time_recovery_enabledoptionaltyping.Union[bool, IResolvable]pointInTimeRecoveryEnabledoptionalBooleanPointInTimeRecoveryEnabledoptionalboolPointInTimeRecoveryEnabledoptionalinterface{}#
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 .

regularColumnsoptionalIResolvable | IResolvable | CfnTable.ColumnProperty[]regular_columnsoptionaltyping.Union[IResolvable, typing.List[typing.Union[IResolvable, ColumnProperty]]]regularColumnsoptionalIResolvableRegularColumnsoptionalIResolvableRegularColumnsoptionalinterface{}#
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.

replicaSpecificationsoptionalIResolvable | IResolvable | CfnTable.ReplicaSpecificationProperty[]replica_specificationsoptionaltyping.Union[IResolvable, typing.List[typing.Union[IResolvable, ReplicaSpecificationProperty]]]replicaSpecificationsoptionalIResolvableReplicaSpecificationsoptionalIResolvableReplicaSpecificationsoptionalinterface{}#
The AWS Region specific settings of a multi-Region table.
notes

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)
tableNameoptionalstringtable_nameoptionalstrtableNameoptionalStringTableNameoptionalstringTableNameoptional*string#
The name of the table to be created.
notes

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}$

tagsoptionalCfnTag[]tagsoptionaltyping.List[CfnTag]tagsoptionalList<CfnTag>TagsoptionalCfnTag[]Tagsoptional*[]CfnTag#
An array of key-value pairs to apply to this resource.

For more information, see Tag .

warmThroughputoptionalIResolvable | CfnTable.WarmThroughputPropertywarm_throughputoptionaltyping.Union[IResolvable, WarmThroughputProperty]warmThroughputoptionalIResolvableWarmThroughputoptionalIResolvableWarmThroughputoptionalinterface{}#
Warm throughput configuration for the table.