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 interfaceDetermines the billing mode for the table - on-demand or provisioned.static final classA fluent builder forCfnTable.static interfaceDefines an individual column within the clustering key.static interfaceThe name and data type of an individual column in a table.static interfaceSpecifies the encryption at rest option selected for the table.static interfaceThe provisioned throughput for the table, which consists ofReadCapacityUnitsandWriteCapacityUnits.Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationModeNested classes/interfaces inherited from interface software.amazon.awscdk.core.IConstruct
IConstruct.Jsii$DefaultNested classes/interfaces inherited from interface software.constructs.IConstruct
software.constructs.IConstruct.Jsii$DefaultNested classes/interfaces inherited from interface software.amazon.awscdk.core.IInspectable
IInspectable.Jsii$Default, IInspectable.Jsii$Proxy -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe 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.voidinspect(TreeInspector inspector) Examines the CloudFormation resource and discloses attributes.renderProperties(Map<String, Object> props) voidsetBillingMode(IResolvable value) The billing mode for the table, which determines how you'll be charged for reads and writes:.voidThe billing mode for the table, which determines how you'll be charged for reads and writes:.voidEnables client-side timestamps for the table.voidEnables client-side timestamps for the table.voidsetClusteringKeyColumns(List<Object> value) One or more columns that determine how the table data is sorted.voidOne or more columns that determine how the table data is sorted.voidsetDefaultTimeToLive(Number value) The default Time To Live (TTL) value for all rows in a table in seconds.voidThe encryption at rest options for the table.voidThe encryption at rest options for the table.voidsetKeyspaceName(String value) The name of the keyspace to create the table in.voidsetPartitionKeyColumns(List<Object> value) One or more columns that uniquely identify every row in the table.voidOne or more columns that uniquely identify every row in the table.voidSpecifies if point-in-time recovery is enabled or disabled for the table.voidSpecifies if point-in-time recovery is enabled or disabled for the table.voidsetRegularColumns(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.voidsetRegularColumns(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.voidsetTableName(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, validatePropertiesMethods inherited from class software.amazon.awscdk.core.CfnRefElement
getRefMethods inherited from class software.amazon.awscdk.core.CfnElement
getCreationStack, getLogicalId, getStack, isCfnElement, overrideLogicalIdMethods inherited from class software.amazon.awscdk.core.Construct
getNode, isConstruct, onPrepare, onSynthesize, onValidate, prepare, synthesize, validateMethods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSetMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods 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:
inspectin 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:
renderPropertiesin classCfnResource- Parameters:
props- This parameter is required.
-
getCfnProperties
- Overrides:
getCfnPropertiesin 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=trueandPointInTimeRecoveryEnabled=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=trueandPointInTimeRecoveryEnabled=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=trueandPointInTimeRecoveryEnabled=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}$
-