Interface ICfnTableProps
Properties for defining a CfnTable
.
Namespace: Amazon.CDK.AWS.Cassandra
Assembly: Amazon.CDK.AWS.Cassandra.dll
Syntax (csharp)
public interface ICfnTableProps
Syntax (vb)
Public Interface ICfnTableProps
Remarks
Link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.Cassandra;
var cfnTableProps = new CfnTableProps {
KeyspaceName = "keyspaceName",
PartitionKeyColumns = new [] { new ColumnProperty {
ColumnName = "columnName",
ColumnType = "columnType"
} },
// the properties below are optional
BillingMode = new BillingModeProperty {
Mode = "mode",
// the properties below are optional
ProvisionedThroughput = new ProvisionedThroughputProperty {
ReadCapacityUnits = 123,
WriteCapacityUnits = 123
}
},
ClientSideTimestampsEnabled = false,
ClusteringKeyColumns = new [] { new ClusteringKeyColumnProperty {
Column = new ColumnProperty {
ColumnName = "columnName",
ColumnType = "columnType"
},
// the properties below are optional
OrderBy = "orderBy"
} },
DefaultTimeToLive = 123,
EncryptionSpecification = new EncryptionSpecificationProperty {
EncryptionType = "encryptionType",
// the properties below are optional
KmsKeyIdentifier = "kmsKeyIdentifier"
},
PointInTimeRecoveryEnabled = false,
RegularColumns = new [] { new ColumnProperty {
ColumnName = "columnName",
ColumnType = "columnType"
} },
TableName = "tableName",
Tags = new [] { new CfnTag {
Key = "key",
Value = "value"
} }
};
Synopsis
Properties
BillingMode | The billing mode for the table, which determines how you'll be charged for reads and writes:. |
ClientSideTimestampsEnabled | Enables client-side timestamps for the table. |
ClusteringKeyColumns | One or more columns that determine how the table data is sorted. |
DefaultTimeToLive | The default Time To Live (TTL) value for all rows in a table in seconds. |
EncryptionSpecification | The encryption at rest options for the table. |
KeyspaceName | The name of the keyspace to create the table in. |
PartitionKeyColumns | One or more columns that uniquely identify every row in the table. |
PointInTimeRecoveryEnabled | Specifies if point-in-time recovery is enabled or disabled for the table. |
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. |
TableName | The name of the table to be created. |
Tags | A list of key-value pair tags to be attached to the resource. |
Properties
BillingMode
The billing mode for the table, which determines how you'll be charged for reads and writes:.
virtual object BillingMode { get; }
Property Value
System.Object
Remarks
If you don't specify a value for this property, then the table will use on-demand mode.
ClientSideTimestampsEnabled
Enables client-side timestamps for the table.
virtual object ClientSideTimestampsEnabled { get; }
Property Value
System.Object
Remarks
By default, the setting is disabled. You can enable client-side timestamps with the following option:
After client-side timestamps are enabled for a table, you can't disable this setting.
ClusteringKeyColumns
One or more columns that determine how the table data is sorted.
virtual object ClusteringKeyColumns { get; }
Property Value
System.Object
Remarks
DefaultTimeToLive
The default Time To Live (TTL) value for all rows in a table in seconds.
virtual Nullable<double> DefaultTimeToLive { get; }
Property Value
System.Nullable<System.Double>
Remarks
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 .
EncryptionSpecification
The encryption at rest options for the table.
virtual object EncryptionSpecification { get; }
Property Value
System.Object
Remarks
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 .
KeyspaceName
The name of the keyspace to create the table in.
string KeyspaceName { get; }
Property Value
System.String
Remarks
The keyspace must already exist.
PartitionKeyColumns
One or more columns that uniquely identify every row in the table.
object PartitionKeyColumns { get; }
Property Value
System.Object
Remarks
Every table must have a partition key.
PointInTimeRecoveryEnabled
Specifies if point-in-time recovery is enabled or disabled for the table.
virtual object PointInTimeRecoveryEnabled { get; }
Property Value
System.Object
Remarks
The options are PointInTimeRecoveryEnabled=true
and PointInTimeRecoveryEnabled=false
. If not specified, the default is PointInTimeRecoveryEnabled=false
.
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.
virtual object RegularColumns { get; }
Property Value
System.Object
Remarks
You can add regular columns to existing tables by adding them to the template.
TableName
The name of the table to be created.
virtual string TableName { get; }
Property Value
System.String
Remarks
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}$
Tags
A list of key-value pair tags to be attached to the resource.
virtual ICfnTag[] Tags { get; }
Property Value
ICfnTag[]