Class CfnTable
- All Implemented Interfaces:
IConstruct
,IDependable
,IInspectable
,software.amazon.jsii.JsiiSerializable
,software.constructs.IConstruct
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();
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface
Determines the billing mode for the table - on-demand or provisioned.static final class
A fluent builder forCfnTable
.static interface
Defines an individual column within the clustering key.static interface
The name and data type of an individual column in a table.static interface
Specifies the encryption at rest option selected for the table.static interface
The provisioned throughput for the table, which consists ofReadCapacityUnits
andWriteCapacityUnits
.Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationMode
Nested classes/interfaces inherited from interface software.amazon.awscdk.core.IConstruct
IConstruct.Jsii$Default
Nested classes/interfaces inherited from interface software.constructs.IConstruct
software.constructs.IConstruct.Jsii$Default
Nested classes/interfaces inherited from interface software.amazon.awscdk.core.IInspectable
IInspectable.Jsii$Default, IInspectable.Jsii$Proxy
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
The CloudFormation resource type name for this resource class. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionThe billing mode for the table, which determines how you'll be charged for reads and writes:.Enables client-side timestamps for the table.One or more columns that determine how the table data is sorted.The default Time To Live (TTL) value for all rows in a table in seconds.The encryption at rest options for the table.The name of the keyspace to create the table in.One or more columns that uniquely identify every row in the table.Specifies if point-in-time recovery is enabled or disabled for the table.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.The name of the table to be created.getTags()
A list of key-value pair tags to be attached to the resource.void
inspect
(TreeInspector inspector) Examines the CloudFormation resource and discloses attributes.renderProperties
(Map<String, Object> props) void
setBillingMode
(IResolvable value) The billing mode for the table, which determines how you'll be charged for reads and writes:.void
The billing mode for the table, which determines how you'll be charged for reads and writes:.void
Enables client-side timestamps for the table.void
Enables client-side timestamps for the table.void
setClusteringKeyColumns
(List<Object> value) One or more columns that determine how the table data is sorted.void
One or more columns that determine how the table data is sorted.void
setDefaultTimeToLive
(Number value) The default Time To Live (TTL) value for all rows in a table in seconds.void
The encryption at rest options for the table.void
The encryption at rest options for the table.void
setKeyspaceName
(String value) The name of the keyspace to create the table in.void
setPartitionKeyColumns
(List<Object> value) One or more columns that uniquely identify every row in the table.void
One or more columns that uniquely identify every row in the table.void
Specifies if point-in-time recovery is enabled or disabled for the table.void
Specifies if point-in-time recovery is enabled or disabled for the table.void
setRegularColumns
(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.void
setRegularColumns
(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.void
setTableName
(String value) The name of the table to be created.Methods inherited from class software.amazon.awscdk.core.CfnResource
addDeletionOverride, addDependsOn, addMetadata, addOverride, addPropertyDeletionOverride, addPropertyOverride, applyRemovalPolicy, applyRemovalPolicy, applyRemovalPolicy, getAtt, getCfnOptions, getCfnResourceType, getMetadata, getUpdatedProperites, isCfnResource, shouldSynthesize, toString, validateProperties
Methods inherited from class software.amazon.awscdk.core.CfnRefElement
getRef
Methods inherited from class software.amazon.awscdk.core.CfnElement
getCreationStack, getLogicalId, getStack, isCfnElement, overrideLogicalId
Methods inherited from class software.amazon.awscdk.core.Construct
getNode, isConstruct, onPrepare, onSynthesize, onValidate, prepare, synthesize, validate
Methods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Field Details
-
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 newAWS::Cassandra::Table
.- Parameters:
scope
-- scope in which this resource is defined.
id
-- scoped id of the resource.
props
-- resource properties.
-
-
Method Details
-
inspect
Examines the CloudFormation resource and discloses attributes.- Specified by:
inspect
in interfaceIInspectable
- Parameters:
inspector
-- tree inspector to collect and process attributes.
-
renderProperties
@Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String, Object> props) - Overrides:
renderProperties
in classCfnResource
- Parameters:
props
- This parameter is required.
-
getCfnProperties
- Overrides:
getCfnProperties
in classCfnResource
-
getTags
A list of key-value pair tags to be attached to the resource. -
getKeyspaceName
The name of the keyspace to create the table in.The keyspace must already exist.
-
setKeyspaceName
The name of the keyspace to create the table in.The keyspace must already exist.
-
getPartitionKeyColumns
One or more columns that uniquely identify every row in the table.Every table must have a partition key.
-
setPartitionKeyColumns
One or more columns that uniquely identify every row in the table.Every table must have a partition key.
-
setPartitionKeyColumns
One or more columns that uniquely identify every row in the table.Every table must have a partition key.
-
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
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
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
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
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
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
One or more columns that determine how the table data is sorted. -
setClusteringKeyColumns
One or more columns that determine how the table data is sorted. -
setClusteringKeyColumns
One or more columns that determine how the table data is sorted. -
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
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
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
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
Specifies if point-in-time recovery is enabled or disabled for the table.The options are
PointInTimeRecoveryEnabled=true
andPointInTimeRecoveryEnabled=false
. If not specified, the default isPointInTimeRecoveryEnabled=false
. -
setPointInTimeRecoveryEnabled
Specifies if point-in-time recovery is enabled or disabled for the table.The options are
PointInTimeRecoveryEnabled=true
andPointInTimeRecoveryEnabled=false
. If not specified, the default isPointInTimeRecoveryEnabled=false
. -
setPointInTimeRecoveryEnabled
Specifies if point-in-time recovery is enabled or disabled for the table.The options are
PointInTimeRecoveryEnabled=true
andPointInTimeRecoveryEnabled=false
. If not specified, the default isPointInTimeRecoveryEnabled=false
. -
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
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
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
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
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}$
-