CfnTableProps

class aws_cdk.aws_cassandra.CfnTableProps(*, keyspace_name, partition_key_columns, auto_scaling_specifications=None, billing_mode=None, client_side_timestamps_enabled=None, clustering_key_columns=None, default_time_to_live=None, encryption_specification=None, point_in_time_recovery_enabled=None, regular_columns=None, replica_specifications=None, table_name=None, tags=None)

Bases: object

Properties for defining a CfnTable.

Parameters:
  • keyspace_name (str) – The name of the keyspace to create the table in. The keyspace must already exist.

  • partition_key_columns (Union[IResolvable, Sequence[Union[IResolvable, ColumnProperty, Dict[str, Any]]]]) – One or more columns that uniquely identify every row in the table. Every table must have a partition key.

  • auto_scaling_specifications (Union[IResolvable, AutoScalingSpecificationProperty, Dict[str, Any], None]) – The optional auto scaling capacity settings for a table in provisioned capacity mode.

  • billing_mode (Union[IResolvable, BillingModeProperty, Dict[str, Any], None]) – 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.

  • client_side_timestamps_enabled (Union[bool, IResolvable, None]) – 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.

  • clustering_key_columns (Union[IResolvable, Sequence[Union[IResolvable, ClusteringKeyColumnProperty, Dict[str, Any]]], None]) – One or more columns that determine how the table data is sorted.

  • default_time_to_live (Union[int, float, None]) – 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 .

  • encryption_specification (Union[IResolvable, EncryptionSpecificationProperty, Dict[str, Any], None]) – 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. .. epigraph:: 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 .

  • point_in_time_recovery_enabled (Union[bool, IResolvable, None]) – 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 .

  • regular_columns (Union[IResolvable, Sequence[Union[IResolvable, ColumnProperty, Dict[str, Any]]], None]) – 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.

  • replica_specifications (Union[IResolvable, Sequence[Union[IResolvable, ReplicaSpecificationProperty, Dict[str, Any]]], None]) – The AWS Region specific settings of a multi-Region table. 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)

  • table_name (Optional[str]) – 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 . .. epigraph:: 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 (Optional[Sequence[Union[CfnTag, Dict[str, Any]]]]) – An array of key-value pairs to apply to this resource. For more information, see Tag .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_cassandra as cassandra

cfn_table_props = cassandra.CfnTableProps(
    keyspace_name="keyspaceName",
    partition_key_columns=[cassandra.CfnTable.ColumnProperty(
        column_name="columnName",
        column_type="columnType"
    )],

    # the properties below are optional
    auto_scaling_specifications=cassandra.CfnTable.AutoScalingSpecificationProperty(
        read_capacity_auto_scaling=cassandra.CfnTable.AutoScalingSettingProperty(
            auto_scaling_disabled=False,
            maximum_units=123,
            minimum_units=123,
            scaling_policy=cassandra.CfnTable.ScalingPolicyProperty(
                target_tracking_scaling_policy_configuration=cassandra.CfnTable.TargetTrackingScalingPolicyConfigurationProperty(
                    target_value=123,

                    # the properties below are optional
                    disable_scale_in=False,
                    scale_in_cooldown=123,
                    scale_out_cooldown=123
                )
            )
        ),
        write_capacity_auto_scaling=cassandra.CfnTable.AutoScalingSettingProperty(
            auto_scaling_disabled=False,
            maximum_units=123,
            minimum_units=123,
            scaling_policy=cassandra.CfnTable.ScalingPolicyProperty(
                target_tracking_scaling_policy_configuration=cassandra.CfnTable.TargetTrackingScalingPolicyConfigurationProperty(
                    target_value=123,

                    # the properties below are optional
                    disable_scale_in=False,
                    scale_in_cooldown=123,
                    scale_out_cooldown=123
                )
            )
        )
    ),
    billing_mode=cassandra.CfnTable.BillingModeProperty(
        mode="mode",

        # the properties below are optional
        provisioned_throughput=cassandra.CfnTable.ProvisionedThroughputProperty(
            read_capacity_units=123,
            write_capacity_units=123
        )
    ),
    client_side_timestamps_enabled=False,
    clustering_key_columns=[cassandra.CfnTable.ClusteringKeyColumnProperty(
        column=cassandra.CfnTable.ColumnProperty(
            column_name="columnName",
            column_type="columnType"
        ),

        # the properties below are optional
        order_by="orderBy"
    )],
    default_time_to_live=123,
    encryption_specification=cassandra.CfnTable.EncryptionSpecificationProperty(
        encryption_type="encryptionType",

        # the properties below are optional
        kms_key_identifier="kmsKeyIdentifier"
    ),
    point_in_time_recovery_enabled=False,
    regular_columns=[cassandra.CfnTable.ColumnProperty(
        column_name="columnName",
        column_type="columnType"
    )],
    replica_specifications=[cassandra.CfnTable.ReplicaSpecificationProperty(
        region="region",

        # the properties below are optional
        read_capacity_auto_scaling=cassandra.CfnTable.AutoScalingSettingProperty(
            auto_scaling_disabled=False,
            maximum_units=123,
            minimum_units=123,
            scaling_policy=cassandra.CfnTable.ScalingPolicyProperty(
                target_tracking_scaling_policy_configuration=cassandra.CfnTable.TargetTrackingScalingPolicyConfigurationProperty(
                    target_value=123,

                    # the properties below are optional
                    disable_scale_in=False,
                    scale_in_cooldown=123,
                    scale_out_cooldown=123
                )
            )
        ),
        read_capacity_units=123
    )],
    table_name="tableName",
    tags=[CfnTag(
        key="key",
        value="value"
    )]
)

Attributes

auto_scaling_specifications

The optional auto scaling capacity settings for a table in provisioned capacity mode.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-autoscalingspecifications

billing_mode

.

  • 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.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-billingmode

Type:

The billing mode for the table, which determines how you’ll be charged for reads and writes

client_side_timestamps_enabled

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.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-clientsidetimestampsenabled

clustering_key_columns

One or more columns that determine how the table data is sorted.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-clusteringkeycolumns

default_time_to_live

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 .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-defaulttimetolive

encryption_specification

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 .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-encryptionspecification

keyspace_name

The name of the keyspace to create the table in.

The keyspace must already exist.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-keyspacename

partition_key_columns

One or more columns that uniquely identify every row in the table.

Every table must have a partition key.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-partitionkeycolumns

point_in_time_recovery_enabled

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 .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-pointintimerecoveryenabled

regular_columns

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.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-regularcolumns

replica_specifications

The AWS Region specific settings of a multi-Region table.

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)

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-replicaspecifications

table_name

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 . .. epigraph:

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

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-tablename

tags

An array of key-value pairs to apply to this resource.

For more information, see Tag .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html#cfn-cassandra-table-tags