CfnTableProps Struct
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 { 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{}#billingModeoptionalIResolvable | CfnTable.BillingModePropertybilling_modeoptionaltyping.Union[IResolvable, BillingModeProperty]billingModeoptionalIResolvableBillingModeoptionalIResolvableBillingModeoptionalinterface{}#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{}#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{}#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{}#defaultTimeToLiveoptionalnumberdefault_time_to_liveoptionalint | floatdefaultTimeToLiveoptionalNumberDefaultTimeToLiveoptionaldoubleDefaultTimeToLiveoptional*float64#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{}#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 .
The keyspace must already exist.
partitionKeyColumnsIResolvable | IResolvable | CfnTable.ColumnProperty[]partition_key_columnstyping.Union[IResolvable, typing.List[typing.Union[IResolvable, ColumnProperty]]]partitionKeyColumnsIResolvablePartitionKeyColumnsIResolvablePartitionKeyColumnsinterface{}required#Every table must have a partition key.
pointInTimeRecoveryEnabledoptionalboolean | IResolvablepoint_in_time_recovery_enabledoptionaltyping.Union[bool, IResolvable]pointInTimeRecoveryEnabledoptionalBooleanPointInTimeRecoveryEnabledoptionalboolPointInTimeRecoveryEnabledoptionalinterface{}#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{}#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{}#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#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#For more information, see Tag .
warmThroughputoptionalIResolvable | CfnTable.WarmThroughputPropertywarm_throughputoptionaltyping.Union[IResolvable, WarmThroughputProperty]warmThroughputoptionalIResolvableWarmThroughputoptionalIResolvableWarmThroughputoptionalinterface{}#