

This is the new *CloudFormation Template Reference Guide*. Please update your bookmarks and links. For help getting started with CloudFormation, see the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

# AWS::Cassandra::Table
<a name="aws-resource-cassandra-table"></a>

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 table](https://docs.aws.amazon.com/keyspaces/latest/devguide/getting-started.tables.html) in the *Amazon Keyspaces Developer Guide*.

## Syntax
<a name="aws-resource-cassandra-table-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-cassandra-table-syntax.json"></a>

```
{
  "Type" : "AWS::Cassandra::Table",
  "Properties" : {
      "[AutoScalingSpecifications](#cfn-cassandra-table-autoscalingspecifications)" : AutoScalingSpecification,
      "[BillingMode](#cfn-cassandra-table-billingmode)" : BillingMode,
      "[CdcSpecification](#cfn-cassandra-table-cdcspecification)" : CdcSpecification,
      "[ClientSideTimestampsEnabled](#cfn-cassandra-table-clientsidetimestampsenabled)" : Boolean,
      "[ClusteringKeyColumns](#cfn-cassandra-table-clusteringkeycolumns)" : [ ClusteringKeyColumn, ... ],
      "[DefaultTimeToLive](#cfn-cassandra-table-defaulttimetolive)" : Integer,
      "[EncryptionSpecification](#cfn-cassandra-table-encryptionspecification)" : EncryptionSpecification,
      "[KeyspaceName](#cfn-cassandra-table-keyspacename)" : String,
      "[PartitionKeyColumns](#cfn-cassandra-table-partitionkeycolumns)" : [ Column, ... ],
      "[PointInTimeRecoveryEnabled](#cfn-cassandra-table-pointintimerecoveryenabled)" : Boolean,
      "[RegularColumns](#cfn-cassandra-table-regularcolumns)" : [ Column, ... ],
      "[ReplicaSpecifications](#cfn-cassandra-table-replicaspecifications)" : [ ReplicaSpecification, ... ],
      "[TableName](#cfn-cassandra-table-tablename)" : String,
      "[Tags](#cfn-cassandra-table-tags)" : [ Tag, ... ],
      "[WarmThroughput](#cfn-cassandra-table-warmthroughput)" : WarmThroughput
    }
}
```

### YAML
<a name="aws-resource-cassandra-table-syntax.yaml"></a>

```
Type: AWS::Cassandra::Table
Properties:
  [AutoScalingSpecifications](#cfn-cassandra-table-autoscalingspecifications): 
    AutoScalingSpecification
  [BillingMode](#cfn-cassandra-table-billingmode): 
    BillingMode
  [CdcSpecification](#cfn-cassandra-table-cdcspecification): 
    CdcSpecification
  [ClientSideTimestampsEnabled](#cfn-cassandra-table-clientsidetimestampsenabled): Boolean
  [ClusteringKeyColumns](#cfn-cassandra-table-clusteringkeycolumns): 
    - ClusteringKeyColumn
  [DefaultTimeToLive](#cfn-cassandra-table-defaulttimetolive): Integer
  [EncryptionSpecification](#cfn-cassandra-table-encryptionspecification): 
    EncryptionSpecification
  [KeyspaceName](#cfn-cassandra-table-keyspacename): String
  [PartitionKeyColumns](#cfn-cassandra-table-partitionkeycolumns): 
    - Column
  [PointInTimeRecoveryEnabled](#cfn-cassandra-table-pointintimerecoveryenabled): Boolean
  [RegularColumns](#cfn-cassandra-table-regularcolumns): 
    - Column
  [ReplicaSpecifications](#cfn-cassandra-table-replicaspecifications): 
    - ReplicaSpecification
  [TableName](#cfn-cassandra-table-tablename): String
  [Tags](#cfn-cassandra-table-tags): 
    - Tag
  [WarmThroughput](#cfn-cassandra-table-warmthroughput): 
    WarmThroughput
```

## Properties
<a name="aws-resource-cassandra-table-properties"></a>

`AutoScalingSpecifications`  <a name="cfn-cassandra-table-autoscalingspecifications"></a>
The optional auto scaling capacity settings for a table in provisioned capacity mode.  
*Required*: No  
*Type*: [AutoScalingSpecification](aws-properties-cassandra-table-autoscalingspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`BillingMode`  <a name="cfn-cassandra-table-billingmode"></a>
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.  
*Required*: No  
*Type*: [BillingMode](aws-properties-cassandra-table-billingmode.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CdcSpecification`  <a name="cfn-cassandra-table-cdcspecification"></a>
The settings for the CDC stream of a table. For more information about CDC streams, see [Working with change data capture (CDC) streams in Amazon Keyspaces](https://docs.aws.amazon.com/keyspaces/latest/devguide/cdc.html) in the *Amazon Keyspaces Developer Guide*.  
*Required*: No  
*Type*: [CdcSpecification](aws-properties-cassandra-table-cdcspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ClientSideTimestampsEnabled`  <a name="cfn-cassandra-table-clientsidetimestampsenabled"></a>
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.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ClusteringKeyColumns`  <a name="cfn-cassandra-table-clusteringkeycolumns"></a>
One or more columns that determine how the table data is sorted.  
*Required*: No  
*Type*: Array of [ClusteringKeyColumn](aws-properties-cassandra-table-clusteringkeycolumn.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`DefaultTimeToLive`  <a name="cfn-cassandra-table-defaulttimetolive"></a>
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](https://docs.aws.amazon.com/keyspaces/latest/devguide/TTL-how-it-works.html#ttl-howitworks_default_ttl) in the *Amazon Keyspaces Developer Guide*.  
*Required*: No  
*Type*: Integer  
*Minimum*: `0`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EncryptionSpecification`  <a name="cfn-cassandra-table-encryptionspecification"></a>
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.
**Note**  
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](https://docs.aws.amazon.com/keyspaces/latest/devguide/EncryptionAtRest.html) in the *Amazon Keyspaces Developer Guide*.  
*Required*: No  
*Type*: [EncryptionSpecification](aws-properties-cassandra-table-encryptionspecification.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KeyspaceName`  <a name="cfn-cassandra-table-keyspacename"></a>
The name of the keyspace to create the table in. The keyspace must already exist.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`PartitionKeyColumns`  <a name="cfn-cassandra-table-partitionkeycolumns"></a>
One or more columns that uniquely identify every row in the table. Every table must have a partition key.  
*Required*: Yes  
*Type*: Array of [Column](aws-properties-cassandra-table-column.md)  
*Minimum*: `1`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`PointInTimeRecoveryEnabled`  <a name="cfn-cassandra-table-pointintimerecoveryenabled"></a>
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`.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RegularColumns`  <a name="cfn-cassandra-table-regularcolumns"></a>
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.  
*Required*: No  
*Type*: Array of [Column](aws-properties-cassandra-table-column.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ReplicaSpecifications`  <a name="cfn-cassandra-table-replicaspecifications"></a>
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)
*Required*: No  
*Type*: Array of [ReplicaSpecification](aws-properties-cassandra-table-replicaspecification.md)  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TableName`  <a name="cfn-cassandra-table-tablename"></a>
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](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html).  
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}$`   
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-cassandra-table-tags"></a>
An array of key-value pairs to apply to this resource.  
For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Required*: No  
*Type*: Array of [Tag](aws-properties-cassandra-table-tag.md)  
*Minimum*: `0`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`WarmThroughput`  <a name="cfn-cassandra-table-warmthroughput"></a>
Property description not available.  
*Required*: No  
*Type*: [WarmThroughput](aws-properties-cassandra-table-warmthroughput.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-cassandra-table-return-values"></a>

### Ref
<a name="aws-resource-cassandra-table-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the name of the table and the keyspace where the table exists (delimited by '\$1'). For example:

 `{ "Ref": "myKeyspace|myTable" }` 

For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

## Examples
<a name="aws-resource-cassandra-table--examples"></a>



**Topics**
+ [Create a table with minimal options](#aws-resource-cassandra-table--examples--Create_a_table_with_minimal_options)
+ [Create a table with frozen collections](#aws-resource-cassandra-table--examples--Create_a_table_with_frozen_collections)
+ [Create a table with static columns](#aws-resource-cassandra-table--examples--Create_a_table_with_static_columns)
+ [Create a table with a stream](#aws-resource-cassandra-table--examples--Create_a_table_with_a_stream)
+ [Create a table with a stream and tags](#aws-resource-cassandra-table--examples--Create_a_table_with_a_stream_and_tags)
+ [Create a table with client-side timestamps and other options](#aws-resource-cassandra-table--examples--Create_a_table_with_client-side_timestamps_and_other_options)
+ [Create a single Region table in provisioned capacity mode with auto scaling](#aws-resource-cassandra-table--examples--Create_a_single_Region_table_in_provisioned_capacity_mode_with_auto_scaling)
+ [Create a multi-Region table in provisioned capacity mode with auto scaling](#aws-resource-cassandra-table--examples--Create_a_multi-Region_table_in_provisioned_capacity_mode_with_auto_scaling)
+ [Create a table with customer managed keys and other options](#aws-resource-cassandra-table--examples--Create_a_table_with_customer_managed_keys_and_other_options)
+ [Add new columns to an existing table](#aws-resource-cassandra-table--examples--Add_new_columns_to_an_existing_table)

### Create a table with minimal options
<a name="aws-resource-cassandra-table--examples--Create_a_table_with_minimal_options"></a>

The following example creates a new table. The table has the name `my_table`, and uses on-demand billing.

#### JSON
<a name="aws-resource-cassandra-table--examples--Create_a_table_with_minimal_options--JSON"></a>

```
{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Resources": {
    "myNewTable": {
      "Type": "AWS::Cassandra::Table",
      "Properties": {
        "KeyspaceName": "my_keyspace",
        "TableName":"my_table",
        "PartitionKeyColumns": [
          {
            "ColumnName": "Message",
            "ColumnType": "ASCII"
          }
        ]
      }
    }
  }
}
```

#### YAML
<a name="aws-resource-cassandra-table--examples--Create_a_table_with_minimal_options--yaml"></a>

```
AWSTemplateFormatVersion: 2010-09-09
Resources:
  myNewTable:
    Type: 'AWS::Cassandra::Table'
    Properties:
      KeyspaceName: my_keyspace
      TableName: my_table
      PartitionKeyColumns:
        - ColumnName: Message
          ColumnType: ASCII
```

### Create a table with frozen collections
<a name="aws-resource-cassandra-table--examples--Create_a_table_with_frozen_collections"></a>

The following example creates a new table with the name `my_table` where the columns `projects`, `addresses`, and `org_members_by_dept` use frozen collections.

#### JSON
<a name="aws-resource-cassandra-table--examples--Create_a_table_with_frozen_collections--JSON"></a>

```
{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Resources": {
    "myTable": {
      "Type": "AWS::Cassandra::Table",
      "Properties": {
        "KeyspaceName": "my_keyspace",
        "TableName":"my_table",
        "PartitionKeyColumns": [
          {
            "ColumnName": "message",
            "ColumnType": "ASCII"
          }
        ],
        "RegularColumns": [
          {
            "ColumnName": "name",
            "ColumnType": "TEXT"
          },
          {
            "ColumnName": "region",
            "ColumnType": "TEXT"
          },
          {
            "ColumnName": "projects",
            "ColumnType": "FROZEN<SET<TEXT>>"
          },
          {
            "ColumnName": "role",
            "ColumnType": "TEXT"
          },
          {
            "ColumnName": "addresses",
            "ColumnType": "FROZEN<MAP<TEXT, SET<TEXT>>>"
          },
          {
            "ColumnName": "pay_scale",
            "ColumnType": "TEXT"
          },
          {
            "ColumnName": "vacation_hrs",
            "ColumnType": "FLOAT"
          },
          {
            "ColumnName": "manager_id",
            "ColumnType": "TEXT"
          },
          {
            "ColumnName": "org_members_by_dept",
            "ColumnType": "MAP<INT, FROZEN<LIST<TEXT>>>"
          }
        ]
      }
    }
  }
}
```

#### YAML
<a name="aws-resource-cassandra-table--examples--Create_a_table_with_frozen_collections--yaml"></a>

```
AWSTemplateFormatVersion: 2010-09-09
Resources:
  myTable:
    Type: 'AWS::Cassandra::Table'
    Properties:
      KeyspaceName: my_keyspace
      TableName: my_table
      PartitionKeyColumns:
        - ColumnName: message
          ColumnType: ASCII
      RegularColumns:
        - ColumnName: name
          ColumnType: TEXT
        - ColumnName: region
          ColumnType: TEXT
        - ColumnName: projects
          ColumnType: FROZEN<SET<TEXT>>
        - ColumnName: role
          ColumnType: TEXT
        - ColumnName: addresses
          ColumnType: FROZEN<MAP<TEXT, SET<TEXT>>>
        - ColumnName: pay_scale
          ColumnType: TEXT
        - ColumnName: vacation_hrs
          ColumnType: FLOAT
        - ColumnName: manager_id
          ColumnType: TEXT
        - ColumnName: org_members_by_dept
          ColumnType: MAP<INT, FROZEN<LIST<TEXT>>>
```

### Create a table with static columns
<a name="aws-resource-cassandra-table--examples--Create_a_table_with_static_columns"></a>

The following example creates a new table with the name `my_table`. The columns `company_name` and `company_id` are static columns. 

#### JSON
<a name="aws-resource-cassandra-table--examples--Create_a_table_with_static_columns--JSON"></a>

```
{
   "AWSTemplateFormatVersion":"2010-09-09",
   "Resources":{
      "myNewTable":{
         "Type":"AWS::Cassandra::Table",
         "Properties":{
            "KeyspaceName":"my_keyspace",
            "TableName":"my_table",
            "PartitionKeyColumns":[
               {
                  "ColumnName":"id",
                  "ColumnType":"ASCII"
               }
            ],
            "ClusteringKeyColumns":[
               {
                  "Column":{
                     "ColumnName":"division",
                     "ColumnType":"ASCII"
                  },
                  "OrderBy":"ASC"
               }
            ],
            "RegularColumns":[
               {
                  "ColumnName":"name",
                  "ColumnType":"TEXT"
               },
               {
                  "ColumnName":"company_name",
                  "ColumnType":"TEXT STATIC"
               },
               {
                  "ColumnName":"company_id",
                  "ColumnType":"INT STATIC"
               },
               {
                  "ColumnName":"region",
                  "ColumnType":"TEXT"
               },
               {
                  "ColumnName":"project",
                  "ColumnType":"TEXT"
               },
               {
                  "ColumnName":"role",
                  "ColumnType":"TEXT"
               },
               {
                  "ColumnName":"pay_scale",
                  "ColumnType":"TEXT"
               },
               {
                  "ColumnName":"vacation_hrs",
                  "ColumnType":"FLOAT"
               },
               {
                  "ColumnName":"manager_id",
                  "ColumnType":"TEXT"
               }
            ],
            "BillingMode":{
               "Mode":"PROVISIONED",
               "ProvisionedThroughput":{
                  "ReadCapacityUnits":5,
                  "WriteCapacityUnits":5
               }
            },
            "ClientSideTimestampsEnabled":true,
            "DefaultTimeToLive":63072000,
            "PointInTimeRecoveryEnabled":true,
            "Tags":[
              {
                 "Key":"tag1",
                 "Value":"val1"
              },
              {
                 "Key":"tag2",
                 "Value":"val2"
              }
           ]
         }
      }
   }
}
```

#### YAML
<a name="aws-resource-cassandra-table--examples--Create_a_table_with_static_columns--yaml"></a>

```
AWSTemplateFormatVersion: '2010-09-09'
Resources:
  myNewTable:
    Type: AWS::Cassandra::Table
    Properties:
      KeyspaceName: my_keyspace
      TableName: my_table
      PartitionKeyColumns:
      - ColumnName: id
        ColumnType: ASCII
      ClusteringKeyColumns:
      - Column:
          ColumnName: division
          ColumnType: ASCII
        OrderBy: ASC
      RegularColumns:
      - ColumnName: name
        ColumnType: TEXT
      - ColumnName: company_name
        ColumnType: TEXT STATIC
      - ColumnName: company_id
        ColumnType: INT STATIC
      - ColumnName: region
        ColumnType: TEXT
      - ColumnName: project
        ColumnType: TEXT
      - ColumnName: role
        ColumnType: TEXT
      - ColumnName: pay_scale
        ColumnType: TEXT
      - ColumnName: vacation_hrs
        ColumnType: FLOAT
      - ColumnName: manager_id
        ColumnType: TEXT
      BillingMode:
        Mode: PROVISIONED
        ProvisionedThroughput:
          ReadCapacityUnits: 5
          WriteCapacityUnits: 5
      ClientSideTimestampsEnabled: true
      DefaultTimeToLive: 63072000
      PointInTimeRecoveryEnabled: true
      Tags:
        - Key: tag1
          Value: val1
        - Key: tag2
          Value: val2
```

### Create a table with a stream
<a name="aws-resource-cassandra-table--examples--Create_a_table_with_a_stream"></a>

The following example creates a new table. The table has the name `my_table`, and the table has a stream.

#### JSON
<a name="aws-resource-cassandra-table--examples--Create_a_table_with_a_stream--JSON"></a>

```
{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Resources": {
    "myNewTable": {
      "Type": "AWS::Cassandra::Table",
      "Properties": {
        "KeyspaceName": "my_keyspace",
        "TableName":"my_table",
        "PartitionKeyColumns": [
          {
            "ColumnName": "Message",
            "ColumnType": "ASCII"
          }
        ],
        "CdcSpecification": {
          "Status": "ENABLED",
          "ViewType": "NEW_AND_OLD_IMAGES"
        }
      }
    }
  }
}
```

#### YAML
<a name="aws-resource-cassandra-table--examples--Create_a_table_with_a_stream--yaml"></a>

```
AWSTemplateFormatVersion: 2010-09-09
Resources:
  myNewTable:
    Type: 'AWS::Cassandra::Table'
    Properties:
      KeyspaceName: my_keyspace
      TableName: my_table
      PartitionKeyColumns:
        - ColumnName: Message
          ColumnType: ASCII
      CdcSpecification:
        Status: ENABLED
        ViewType: NEW_AND_OLD_IMAGES
```

### Create a table with a stream and tags
<a name="aws-resource-cassandra-table--examples--Create_a_table_with_a_stream_and_tags"></a>

The following example creates a new table. The table has the name `my_table`, and the table has a stream with two tags.

#### JSON
<a name="aws-resource-cassandra-table--examples--Create_a_table_with_a_stream_and_tags--JSON"></a>

```
{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Resources": {
    "myNewTable": {
      "Type": "AWS::Cassandra::Table",
      "Properties": {
        "KeyspaceName": "my_keyspace",
        "TableName":"my_table",
        "PartitionKeyColumns": [
          {
            "ColumnName": "Message",
            "ColumnType": "ASCII"
          }
        ],
        "CdcSpecification": {
          "Status": "ENABLED",
          "ViewType": "NEW_AND_OLD_IMAGES",
          "Tags":[
            {
               "Key":"tag1",
               "Value":"val1"
            },
            {
               "Key":"tag2",
               "Value":"val2"
            }
        }
      }
    }
  }
}
```

#### YAML
<a name="aws-resource-cassandra-table--examples--Create_a_table_with_a_stream_and_tags--yaml"></a>

```
AWSTemplateFormatVersion: 2010-09-09
Resources:
  myNewTable:
    Type: 'AWS::Cassandra::Table'
    Properties:
      KeyspaceName: my_keyspace
      TableName: my_table
      PartitionKeyColumns:
        - ColumnName: Message
          ColumnType: ASCII
      CdcSpecification:
        Status: ENABLED
        ViewType: NEW_AND_OLD_IMAGES
        Tags:
          - Key: tag1
            Value: val1
          - Key: tag2
            Value: val2
```

### Create a table with client-side timestamps and other options
<a name="aws-resource-cassandra-table--examples--Create_a_table_with_client-side_timestamps_and_other_options"></a>

The following example creates a table `my_table` with client-side timestamps, provisioned read and write capacity, default TTL, PITR, and tags.

#### JSON
<a name="aws-resource-cassandra-table--examples--Create_a_table_with_client-side_timestamps_and_other_options--JSON"></a>

```
{
   "AWSTemplateFormatVersion":"2010-09-09",
   "Resources":{
      "myNewTable":{
         "Type":"AWS::Cassandra::Table",
         "Properties":{
            "KeyspaceName":"my_keyspace",
            "TableName":"my_table",
            "PartitionKeyColumns":[
               {
                  "ColumnName":"id",
                  "ColumnType":"ASCII"
               }
            ],
            "ClusteringKeyColumns":[
               {
                  "Column":{
                     "ColumnName":"division",
                     "ColumnType":"ASCII"
                  },
                  "OrderBy":"ASC"
               }
            ],
            "RegularColumns":[
               {
                  "ColumnName":"name",
                  "ColumnType":"TEXT"
               },
               {
                  "ColumnName":"region",
                  "ColumnType":"TEXT"
               },
               {
                  "ColumnName":"project",
                  "ColumnType":"TEXT"
               },
               {
                  "ColumnName":"role",
                  "ColumnType":"TEXT"
               },
               {
                  "ColumnName":"pay_scale",
                  "ColumnType":"TEXT"
               },
               {
                  "ColumnName":"vacation_hrs",
                  "ColumnType":"FLOAT"
               },
               {
                  "ColumnName":"manager_id",
                  "ColumnType":"TEXT"
               }
            ],
            "BillingMode":{
               "Mode":"PROVISIONED",
               "ProvisionedThroughput":{
                  "ReadCapacityUnits":5,
                  "WriteCapacityUnits":5
               }
            },
            "ClientSideTimestampsEnabled":true,
            "DefaultTimeToLive":63072000,
            "PointInTimeRecoveryEnabled":true,
            "Tags":[
              {
                 "Key":"tag1",
                 "Value":"val1"
              },
              {
                 "Key":"tag2",
                 "Value":"val2"
              }
           ]
         }
      }
   }
}
```

#### YAML
<a name="aws-resource-cassandra-table--examples--Create_a_table_with_client-side_timestamps_and_other_options--yaml"></a>

```
AWSTemplateFormatVersion: '2010-09-09'
Resources:
  myNewTable:
    Type: AWS::Cassandra::Table
    Properties:
      KeyspaceName: my_keyspace
      TableName: my_table
      PartitionKeyColumns:
      - ColumnName: id
        ColumnType: ASCII
      ClusteringKeyColumns:
      - Column:
          ColumnName: division
          ColumnType: ASCII
        OrderBy: ASC
      RegularColumns:
      - ColumnName: name
        ColumnType: TEXT
      - ColumnName: region
        ColumnType: TEXT
      - ColumnName: project
        ColumnType: TEXT
      - ColumnName: role
        ColumnType: TEXT
      - ColumnName: pay_scale
        ColumnType: TEXT
      - ColumnName: vacation_hrs
        ColumnType: FLOAT
      - ColumnName: manager_id
        ColumnType: TEXT
      BillingMode:
        Mode: PROVISIONED
        ProvisionedThroughput:
          ReadCapacityUnits: 5
          WriteCapacityUnits: 5
      ClientSideTimestampsEnabled: true
      DefaultTimeToLive: 63072000
      PointInTimeRecoveryEnabled: true
      Tags:
        - Key: tag1
          Value: val1
        - Key: tag2
          Value: val2
```

### Create a single Region table in provisioned capacity mode with auto scaling
<a name="aws-resource-cassandra-table--examples--Create_a_single_Region_table_in_provisioned_capacity_mode_with_auto_scaling"></a>

The following example creates a table `my_table` with provisioned read and write capacity and auto scaling enabled.

#### JSON
<a name="aws-resource-cassandra-table--examples--Create_a_single_Region_table_in_provisioned_capacity_mode_with_auto_scaling--JSON"></a>

```
{
  "AWSTemplateFormatVersion" : "2010-09-09",
  "Resources" : {
    "myNewTable" : {
      "Type" : "AWS::Cassandra::Table",
      "Properties" : {
        "KeyspaceName" : "my_keyspace",
        "TableName" : "my_table",
        "PartitionKeyColumns" : [ {
          "ColumnName" : "Message",
          "ColumnType" : "ASCII"
        } ],
        "BillingMode" : {
          "Mode" : "PROVISIONED",
          "ProvisionedThroughput" : {
            "ReadCapacityUnits" : 5,
            "WriteCapacityUnits" : 5
          }
        },
        "AutoScalingSpecifications" : {
          "WriteCapacityAutoScaling" : {
            "AutoScalingDisabled" : false,
            "MinimumUnits" : 5,
            "MaximumUnits" : 10,
            "ScalingPolicy" : {
              "TargetTrackingScalingPolicyConfiguration" : {
                "ScaleInCooldown" : 60,
                "ScaleOutCooldown" : 60,
                "TargetValue" : 70,
                "DisableScaleIn" : false
              }
            }
          },
          "ReadCapacityAutoScaling" : {
            "AutoScalingDisabled" : false,
            "MinimumUnits" : 5,
            "MaximumUnits" : 10,
            "ScalingPolicy" : {
              "TargetTrackingScalingPolicyConfiguration" : {
                "ScaleInCooldown" : 60,
                "ScaleOutCooldown" : 60,
                "TargetValue" : 70,
                "DisableScaleIn" : false
              }
            }
          }
        }
      }
    }
  }
}
```

#### YAML
<a name="aws-resource-cassandra-table--examples--Create_a_single_Region_table_in_provisioned_capacity_mode_with_auto_scaling--yaml"></a>

```
AWSTemplateFormatVersion: 2010-09-09
Resources:
  myNewTable:
    Type: 'AWS::Cassandra::Table'
    Properties:
      KeyspaceName: my_keyspace
      TableName: my_table
      PartitionKeyColumns:
        - ColumnName: Message
          ColumnType: ASCII
      BillingMode:
        Mode: PROVISIONED
        ProvisionedThroughput:
          ReadCapacityUnits: 5
          WriteCapacityUnits: 5
      AutoScalingSpecifications:
        WriteCapacityAutoScaling:
          AutoScalingDisabled: false
          MinimumUnits: 5
          MaximumUnits: 10
          ScalingPolicy:
            TargetTrackingScalingPolicyConfiguration:
              ScaleInCooldown: 60
              ScaleOutCooldown: 60
              TargetValue: 70
              DisableScaleIn: false
        ReadCapacityAutoScaling:
          AutoScalingDisabled: false
          MinimumUnits: 5
          MaximumUnits: 10
          ScalingPolicy:
            TargetTrackingScalingPolicyConfiguration:
              ScaleInCooldown: 60
              ScaleOutCooldown: 60
              TargetValue: 70
              DisableScaleIn: false
```

### Create a multi-Region table in provisioned capacity mode with auto scaling
<a name="aws-resource-cassandra-table--examples--Create_a_multi-Region_table_in_provisioned_capacity_mode_with_auto_scaling"></a>

The following example creates a table `my_table` with provisioned read and write capacity and auto scaling enabled. In this example, first the default auto scaling settings are defined. Then using `ReplicaSpecifications`, different auto scaling settings that override the default settings are defined for the Regions `us-east-1` and `eu-west-1`. 

#### JSON
<a name="aws-resource-cassandra-table--examples--Create_a_multi-Region_table_in_provisioned_capacity_mode_with_auto_scaling--JSON"></a>

```
{
  "AWSTemplateFormatVersion" : "2010-09-09",
  "Resources" : {
    "myNewTable" : {
      "Type" : "AWS::Cassandra::Table",
      "Properties" : {
        "KeyspaceName" : "my_keyspace",
        "TableName" : "my_table",
        "PartitionKeyColumns" : [ {
          "ColumnName" : "Message",
          "ColumnType" : "ASCII"
        } ],
        "BillingMode" : {
          "Mode" : "PROVISIONED",
          "ProvisionedThroughput" : {
            "ReadCapacityUnits" : 5,
            "WriteCapacityUnits" : 5
          }
        },
        "AutoScalingSpecifications" : {
          "WriteCapacityAutoScaling" : {
            "AutoScalingDisabled" : false,
            "MinimumUnits" : 5,
            "MaximumUnits" : 10,
            "ScalingPolicy" : {
              "TargetTrackingScalingPolicyConfiguration" : {
                "ScaleInCooldown" : 60,
                "ScaleOutCooldown" : 60,
                "TargetValue" : 70
              }
            }
          },
          "ReadCapacityAutoScaling" : {
            "AutoScalingDisabled" : false,
            "MinimumUnits" : 5,
            "MaximumUnits" : 10,
            "ScalingPolicy" : {
              "TargetTrackingScalingPolicyConfiguration" : {
                "ScaleInCooldown" : 60,
                "ScaleOutCooldown" : 60,
                "TargetValue" : 70
              }
            }
          }
        },
        "ReplicaSpecifications" : [ {
          "Region" : "us-east-1",
          "ReadCapacityAutoScaling" : {
            "AutoScalingDisabled" : false,
            "MinimumUnits" : 5,
            "MaximumUnits" : 20,
            "ScalingPolicy" : {
              "TargetTrackingScalingPolicyConfiguration" : {
                "ScaleInCooldown" : 60,
                "ScaleOutCooldown" : 60,
                "TargetValue" : 75,
                "DisableScaleIn" : false
              }
            }
          }
        }, {
          "Region" : "eu-west-1",
          "ReadCapacityAutoScaling" : {
            "AutoScalingDisabled" : false,
            "MinimumUnits" : 5,
            "MaximumUnits" : 50,
            "ScalingPolicy" : {
              "TargetTrackingScalingPolicyConfiguration" : {
                "ScaleInCooldown" : 60,
                "ScaleOutCooldown" : 60,
                "TargetValue" : 65,
                "DisableScaleIn" : false
              }
            }
          }
        } ]
      }
    }
  }
}
```

#### YAML
<a name="aws-resource-cassandra-table--examples--Create_a_multi-Region_table_in_provisioned_capacity_mode_with_auto_scaling--yaml"></a>

```
AWSTemplateFormatVersion: 2010-09-09
Resources:
  myNewTable:
    Type: 'AWS::Cassandra::Table'
    Properties:
      KeyspaceName: my_keyspace
      TableName: my_table
      PartitionKeyColumns:
        - ColumnName: Message
          ColumnType: ASCII
      BillingMode:
        Mode: PROVISIONED
        ProvisionedThroughput:
          ReadCapacityUnits: 5
          WriteCapacityUnits: 5
      AutoScalingSpecifications:
        WriteCapacityAutoScaling:
          AutoScalingDisabled: false
          MinimumUnits: 5
          MaximumUnits: 10
          ScalingPolicy:
            TargetTrackingScalingPolicyConfiguration:
              ScaleInCooldown: 60
              ScaleOutCooldown: 60
              TargetValue: 70
        ReadCapacityAutoScaling:
          AutoScalingDisabled: false
          MinimumUnits: 5
          MaximumUnits: 10
          ScalingPolicy:
            TargetTrackingScalingPolicyConfiguration:
              ScaleInCooldown: 60
              ScaleOutCooldown: 60
              TargetValue: 70
      ReplicaSpecifications:
        - Region: us-east-1
          ReadCapacityAutoScaling:
            AutoScalingDisabled: false
            MinimumUnits: 5
            MaximumUnits: 20
            ScalingPolicy:
              TargetTrackingScalingPolicyConfiguration:
                ScaleInCooldown: 60
                ScaleOutCooldown: 60
                TargetValue: 75
                DisableScaleIn: false
        - Region: eu-west-1
          ReadCapacityAutoScaling:
            AutoScalingDisabled: false
            MinimumUnits: 5
            MaximumUnits: 50
            ScalingPolicy:
              TargetTrackingScalingPolicyConfiguration:
                ScaleInCooldown: 60
                ScaleOutCooldown: 60
                TargetValue: 65
                DisableScaleIn: false
```

### Create a table with customer managed keys and other options
<a name="aws-resource-cassandra-table--examples--Create_a_table_with_customer_managed_keys_and_other_options"></a>

The following example creates a table `my_table` with customer managed encryption keys and all other available options. For example, provisioned read and write capacity, default TTL, PITR, and tags. To use this sample, you must replace the key ARN in the example with your own.

#### JSON
<a name="aws-resource-cassandra-table--examples--Create_a_table_with_customer_managed_keys_and_other_options--JSON"></a>

```
{
   "AWSTemplateFormatVersion":"2010-09-09",
   "Resources":{
      "myNewTable":{
         "Type":"AWS::Cassandra::Table",
         "Properties":{
            "KeyspaceName":"my_keyspace",
            "TableName":"my_table",
            "PartitionKeyColumns":[
               {
                  "ColumnName":"id",
                  "ColumnType":"ASCII"
               }
            ],
            "ClusteringKeyColumns":[
               {
                  "Column":{
                     "ColumnName":"division",
                     "ColumnType":"ASCII"
                  },
                  "OrderBy":"ASC"
               }
            ],
            "RegularColumns":[
               {
                  "ColumnName":"name",
                  "ColumnType":"TEXT"
               },
               {
                  "ColumnName":"region",
                  "ColumnType":"TEXT"
               },
               {
                  "ColumnName":"project",
                  "ColumnType":"TEXT"
               },
               {
                  "ColumnName":"role",
                  "ColumnType":"TEXT"
               },
               {
                  "ColumnName":"pay_scale",
                  "ColumnType":"TEXT"
               },
               {
                  "ColumnName":"vacation_hrs",
                  "ColumnType":"FLOAT"
               },
               {
                  "ColumnName":"manager_id",
                  "ColumnType":"TEXT"
               }
            ],
            "BillingMode":{
               "Mode":"PROVISIONED",
               "ProvisionedThroughput":{
                  "ReadCapacityUnits":5,
                  "WriteCapacityUnits":5
               }
            },
            "DefaultTimeToLive":63072000,
            "EncryptionSpecification":{
               "EncryptionType":"CUSTOMER_MANAGED_KMS_KEY",
               "KmsKeyIdentifier":"arn:aws:kms:eu-west-1:5555555555555:key/11111111-1111-111-1111-111111111111"
            },
            "PointInTimeRecoveryEnabled":true,
            "Tags":[
               {
                  "Key":"tag1",
                  "Value":"val1"
               },
               {
                  "Key":"tag2",
                  "Value":"val2"
               }
            ]
         }
      }
   }
}
```

#### YAML
<a name="aws-resource-cassandra-table--examples--Create_a_table_with_customer_managed_keys_and_other_options--yaml"></a>

```
AWSTemplateFormatVersion: '2010-09-09'
Resources:
  myNewTable:
    Type: AWS::Cassandra::Table
    Properties:
      KeyspaceName: my_keyspace
      TableName: my_table
      PartitionKeyColumns:
      - ColumnName: id
        ColumnType: ASCII
      ClusteringKeyColumns:
      - Column:
          ColumnName: division
          ColumnType: ASCII
        OrderBy: ASC
      RegularColumns:
      - ColumnName: name
        ColumnType: TEXT
      - ColumnName: region
        ColumnType: TEXT
      - ColumnName: project
        ColumnType: TEXT
      - ColumnName: role
        ColumnType: TEXT
      - ColumnName: pay_scale
        ColumnType: TEXT
      - ColumnName: vacation_hrs
        ColumnType: FLOAT
      - ColumnName: manager_id
        ColumnType: TEXT
      BillingMode:
        Mode: PROVISIONED
        ProvisionedThroughput:
          ReadCapacityUnits: 5
          WriteCapacityUnits: 5
      DefaultTimeToLive: 63072000
      EncryptionSpecification:
        EncryptionType: CUSTOMER_MANAGED_KMS_KEY
        KmsKeyIdentifier: arn:aws:kms:eu-west-1:5555555555555:key/11111111-1111-111-1111-111111111111
      PointInTimeRecoveryEnabled: true
      Tags:
        - Key: tag1
          Value: val1
        - Key: tag2
          Value: val2
```

### Add new columns to an existing table
<a name="aws-resource-cassandra-table--examples--Add_new_columns_to_an_existing_table"></a>

The following example shows how to add five new columns to the existing table `my_table`. You can only add regular columns to a table.

#### JSON
<a name="aws-resource-cassandra-table--examples--Add_new_columns_to_an_existing_table--json"></a>

```
{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Resources": {
    "myTable": {
      "Type": "AWS::Cassandra::Table",
      "Properties": {
        "KeyspaceName": "my_keyspace",
        "TableName":"my_table",
        "PartitionKeyColumns": [
          {
            "ColumnName": "Message",
            "ColumnType": "ASCII"
          }
        ],
        "RegularColumns": [
          {
            "ColumnName": "name",
            "ColumnType": "TEXT"
          },
          {
            "ColumnName": "region",
            "ColumnType": "TEXT"
          }
        ]
      }
    }
  }
}
```

#### JSON
<a name="aws-resource-cassandra-table--examples--Add_new_columns_to_an_existing_table--json"></a>

```
{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Resources": {
    "myTable": {
      "Type": "AWS::Cassandra::Table",
      "Properties": {
        "KeyspaceName": "my_keyspace",
        "TableName":"my_table",
        "PartitionKeyColumns": [
          {
            "ColumnName": "Message",
            "ColumnType": "ASCII"
          }
        ],
        "RegularColumns": [
          {
            "ColumnName": "name",
            "ColumnType": "TEXT"
          },
          {
            "ColumnName": "region",
            "ColumnType": "TEXT"
          },
          {
            "ColumnName": "project",
            "ColumnType": "TEXT"
          },
          {
            "ColumnName": "role",
            "ColumnType": "TEXT"
          },
          {
            "ColumnName": "pay_scale",
            "ColumnType": "TEXT"
          },
          {
            "ColumnName": "vacation_hrs",
            "ColumnType": "FLOAT"
          },
          {
            "ColumnName": "manager_id",
            "ColumnType": "TEXT"
          }
        ]
      }
    }
  }
}
```

#### YAML
<a name="aws-resource-cassandra-table--examples--Add_new_columns_to_an_existing_table--yaml"></a>

```
AWSTemplateFormatVersion: 2010-09-09
Resources:
  myTable:
    Type: 'AWS::Cassandra::Table'
    Properties:
      KeyspaceName: my_keyspace
      TableName: my_table
      PartitionKeyColumns:
        - ColumnName: Message
          ColumnType: ASCII
      RegularColumns:
        - ColumnName: name
          ColumnType: TEXT
        - ColumnName: region
          ColumnType: TEXT
```

#### YAML
<a name="aws-resource-cassandra-table--examples--Add_new_columns_to_an_existing_table--yaml"></a>

```
AWSTemplateFormatVersion: 2010-09-09
Resources:
  myTable:
    Type: 'AWS::Cassandra::Table'
    Properties:
      KeyspaceName: my_keyspace
      TableName: my_table
      PartitionKeyColumns:
        - ColumnName: Message
          ColumnType: ASCII
      RegularColumns:
        - ColumnName: name
          ColumnType: TEXT
        - ColumnName: region
          ColumnType: TEXT
        - ColumnName: project
          ColumnType: TEXT
        - ColumnName: role
          ColumnType: TEXT
        - ColumnName: pay_scale
          ColumnType: TEXT
        - ColumnName: vacation_hrs
          ColumnType: FLOAT
        - ColumnName: manager_id
          ColumnType: TEXT
```

# AWS::Cassandra::Table AutoScalingSetting
<a name="aws-properties-cassandra-table-autoscalingsetting"></a>

The optional auto scaling settings for a table with provisioned throughput capacity.

To turn on auto scaling for a table in `throughputMode:PROVISIONED`, you must specify the following parameters. 

Configure the minimum and maximum capacity units. The auto scaling policy ensures that capacity never goes below the minimum or above the maximum range.
+ `minimumUnits`: The minimum level of throughput the table should always be ready to support. The value must be between 1 and the max throughput per second quota for your account (40,000 by default).
+ `maximumUnits`: The maximum level of throughput the table should always be ready to support. The value must be between 1 and the max throughput per second quota for your account (40,000 by default).
+ `scalingPolicy`: Amazon Keyspaces supports the `target tracking` scaling policy. The auto scaling target is a percentage of the provisioned capacity of the table. 

For more information, see [Managing throughput capacity automatically with Amazon Keyspaces auto scaling](https://docs.aws.amazon.com/keyspaces/latest/devguide/autoscaling.html) in the *Amazon Keyspaces Developer Guide*.

## Syntax
<a name="aws-properties-cassandra-table-autoscalingsetting-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-cassandra-table-autoscalingsetting-syntax.json"></a>

```
{
  "[AutoScalingDisabled](#cfn-cassandra-table-autoscalingsetting-autoscalingdisabled)" : Boolean,
  "[MaximumUnits](#cfn-cassandra-table-autoscalingsetting-maximumunits)" : Integer,
  "[MinimumUnits](#cfn-cassandra-table-autoscalingsetting-minimumunits)" : Integer,
  "[ScalingPolicy](#cfn-cassandra-table-autoscalingsetting-scalingpolicy)" : ScalingPolicy
}
```

### YAML
<a name="aws-properties-cassandra-table-autoscalingsetting-syntax.yaml"></a>

```
  [AutoScalingDisabled](#cfn-cassandra-table-autoscalingsetting-autoscalingdisabled): Boolean
  [MaximumUnits](#cfn-cassandra-table-autoscalingsetting-maximumunits): Integer
  [MinimumUnits](#cfn-cassandra-table-autoscalingsetting-minimumunits): Integer
  [ScalingPolicy](#cfn-cassandra-table-autoscalingsetting-scalingpolicy): 
    ScalingPolicy
```

## Properties
<a name="aws-properties-cassandra-table-autoscalingsetting-properties"></a>

`AutoScalingDisabled`  <a name="cfn-cassandra-table-autoscalingsetting-autoscalingdisabled"></a>
This optional parameter enables auto scaling for the table if set to `false`.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MaximumUnits`  <a name="cfn-cassandra-table-autoscalingsetting-maximumunits"></a>
Manage costs by specifying the maximum amount of throughput to provision. The value must be between 1 and the max throughput per second quota for your account (40,000 by default).  
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MinimumUnits`  <a name="cfn-cassandra-table-autoscalingsetting-minimumunits"></a>
The minimum level of throughput the table should always be ready to support. The value must be between 1 and the max throughput per second quota for your account (40,000 by default).  
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ScalingPolicy`  <a name="cfn-cassandra-table-autoscalingsetting-scalingpolicy"></a>
Amazon Keyspaces supports the `target tracking` auto scaling policy. With this policy, Amazon Keyspaces auto scaling ensures that the table's ratio of consumed to provisioned capacity stays at or near the target value that you specify. You define the target value as a percentage between 20 and 90.  
*Required*: No  
*Type*: [ScalingPolicy](aws-properties-cassandra-table-scalingpolicy.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Cassandra::Table AutoScalingSpecification
<a name="aws-properties-cassandra-table-autoscalingspecification"></a>

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

## Syntax
<a name="aws-properties-cassandra-table-autoscalingspecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-cassandra-table-autoscalingspecification-syntax.json"></a>

```
{
  "[ReadCapacityAutoScaling](#cfn-cassandra-table-autoscalingspecification-readcapacityautoscaling)" : AutoScalingSetting,
  "[WriteCapacityAutoScaling](#cfn-cassandra-table-autoscalingspecification-writecapacityautoscaling)" : AutoScalingSetting
}
```

### YAML
<a name="aws-properties-cassandra-table-autoscalingspecification-syntax.yaml"></a>

```
  [ReadCapacityAutoScaling](#cfn-cassandra-table-autoscalingspecification-readcapacityautoscaling): 
    AutoScalingSetting
  [WriteCapacityAutoScaling](#cfn-cassandra-table-autoscalingspecification-writecapacityautoscaling): 
    AutoScalingSetting
```

## Properties
<a name="aws-properties-cassandra-table-autoscalingspecification-properties"></a>

`ReadCapacityAutoScaling`  <a name="cfn-cassandra-table-autoscalingspecification-readcapacityautoscaling"></a>
The auto scaling settings for the table's read capacity.  
*Required*: No  
*Type*: [AutoScalingSetting](aws-properties-cassandra-table-autoscalingsetting.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`WriteCapacityAutoScaling`  <a name="cfn-cassandra-table-autoscalingspecification-writecapacityautoscaling"></a>
The auto scaling settings for the table's write capacity.  
*Required*: No  
*Type*: [AutoScalingSetting](aws-properties-cassandra-table-autoscalingsetting.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Cassandra::Table BillingMode
<a name="aws-properties-cassandra-table-billingmode"></a>

Determines the billing mode for the table - on-demand or provisioned.

## Syntax
<a name="aws-properties-cassandra-table-billingmode-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-cassandra-table-billingmode-syntax.json"></a>

```
{
  "[Mode](#cfn-cassandra-table-billingmode-mode)" : String,
  "[ProvisionedThroughput](#cfn-cassandra-table-billingmode-provisionedthroughput)" : ProvisionedThroughput
}
```

### YAML
<a name="aws-properties-cassandra-table-billingmode-syntax.yaml"></a>

```
  [Mode](#cfn-cassandra-table-billingmode-mode): String
  [ProvisionedThroughput](#cfn-cassandra-table-billingmode-provisionedthroughput): 
    ProvisionedThroughput
```

## Properties
<a name="aws-properties-cassandra-table-billingmode-properties"></a>

`Mode`  <a name="cfn-cassandra-table-billingmode-mode"></a>
The billing mode for the table:  
+ On-demand mode - `ON_DEMAND`
+ Provisioned mode - `PROVISIONED`
**Note**  
If you choose `PROVISIONED` mode, then you also need to specify provisioned throughput (read and write capacity) for the table.
Valid values: `ON_DEMAND` \$1 `PROVISIONED`  
*Required*: Yes  
*Type*: String  
*Allowed values*: `PROVISIONED | ON_DEMAND`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ProvisionedThroughput`  <a name="cfn-cassandra-table-billingmode-provisionedthroughput"></a>
The provisioned read capacity and write capacity for the table. For more information, see [Provisioned throughput capacity mode](https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html#ReadWriteCapacityMode.Provisioned) in the *Amazon Keyspaces Developer Guide*.  
*Required*: No  
*Type*: [ProvisionedThroughput](aws-properties-cassandra-table-provisionedthroughput.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Cassandra::Table CdcSpecification
<a name="aws-properties-cassandra-table-cdcspecification"></a>

The settings for the CDC stream of a table. For more information about CDC streams, see [Working with change data capture (CDC) streams in Amazon Keyspaces](https://docs.aws.amazon.com/keyspaces/latest/devguide/cdc.html) in the *Amazon Keyspaces Developer Guide*.

## Syntax
<a name="aws-properties-cassandra-table-cdcspecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-cassandra-table-cdcspecification-syntax.json"></a>

```
{
  "[Status](#cfn-cassandra-table-cdcspecification-status)" : String,
  "[Tags](#cfn-cassandra-table-cdcspecification-tags)" : [ Tag, ... ],
  "[ViewType](#cfn-cassandra-table-cdcspecification-viewtype)" : String
}
```

### YAML
<a name="aws-properties-cassandra-table-cdcspecification-syntax.yaml"></a>

```
  [Status](#cfn-cassandra-table-cdcspecification-status): String
  [Tags](#cfn-cassandra-table-cdcspecification-tags): 
    - Tag
  [ViewType](#cfn-cassandra-table-cdcspecification-viewtype): String
```

## Properties
<a name="aws-properties-cassandra-table-cdcspecification-properties"></a>

`Status`  <a name="cfn-cassandra-table-cdcspecification-status"></a>
The status of the CDC stream. You can enable or disable a stream for a table.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `ENABLED | DISABLED`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-cassandra-table-cdcspecification-tags"></a>
The tags (key-value pairs) that you want to apply to the stream.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-cassandra-table-tag.md)  
*Minimum*: `0`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ViewType`  <a name="cfn-cassandra-table-cdcspecification-viewtype"></a>
The view type specifies the changes Amazon Keyspaces records for each changed row in the stream. After you create the stream, you can't make changes to this selection.   
The options are:  
+ `NEW_AND_OLD_IMAGES` - both versions of the row, before and after the change. This is the default.
+ `NEW_IMAGE` - the version of the row after the change.
+ `OLD_IMAGE` - the version of the row before the change.
+ `KEYS_ONLY` - the partition and clustering keys of the row that was changed.
*Required*: No  
*Type*: String  
*Allowed values*: `NEW_IMAGE | OLD_IMAGE | KEYS_ONLY | NEW_AND_OLD_IMAGES`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Cassandra::Table ClusteringKeyColumn
<a name="aws-properties-cassandra-table-clusteringkeycolumn"></a>

Defines an individual column within the clustering key. 

## Syntax
<a name="aws-properties-cassandra-table-clusteringkeycolumn-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-cassandra-table-clusteringkeycolumn-syntax.json"></a>

```
{
  "[Column](#cfn-cassandra-table-clusteringkeycolumn-column)" : Column,
  "[OrderBy](#cfn-cassandra-table-clusteringkeycolumn-orderby)" : String
}
```

### YAML
<a name="aws-properties-cassandra-table-clusteringkeycolumn-syntax.yaml"></a>

```
  [Column](#cfn-cassandra-table-clusteringkeycolumn-column): 
    Column
  [OrderBy](#cfn-cassandra-table-clusteringkeycolumn-orderby): String
```

## Properties
<a name="aws-properties-cassandra-table-clusteringkeycolumn-properties"></a>

`Column`  <a name="cfn-cassandra-table-clusteringkeycolumn-column"></a>
The name and data type of this clustering key column.  
*Required*: Yes  
*Type*: [Column](aws-properties-cassandra-table-column.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`OrderBy`  <a name="cfn-cassandra-table-clusteringkeycolumn-orderby"></a>
The order in which this column's data is stored:  
+ `ASC` (default) - The column's data is stored in ascending order.
+ `DESC` - The column's data is stored in descending order.
*Required*: No  
*Type*: String  
*Allowed values*: `ASC | DESC`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::Cassandra::Table Column
<a name="aws-properties-cassandra-table-column"></a>

The name and data type of an individual column in a table. In addition to the data type, you can also use the following two keywords:
+ `STATIC` if the table has a clustering column. Static columns store values that are shared by all rows in the same partition.
+ `FROZEN` for collection data types. In frozen collections the values of the collection are serialized into a single immutable value, and Amazon Keyspaces treats them like a `BLOB`.

## Syntax
<a name="aws-properties-cassandra-table-column-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-cassandra-table-column-syntax.json"></a>

```
{
  "[ColumnName](#cfn-cassandra-table-column-columnname)" : String,
  "[ColumnType](#cfn-cassandra-table-column-columntype)" : String
}
```

### YAML
<a name="aws-properties-cassandra-table-column-syntax.yaml"></a>

```
  [ColumnName](#cfn-cassandra-table-column-columnname): String
  [ColumnType](#cfn-cassandra-table-column-columntype): String
```

## Properties
<a name="aws-properties-cassandra-table-column-properties"></a>

`ColumnName`  <a name="cfn-cassandra-table-column-columnname"></a>
The name of the column. For more information, see [Identifiers](https://docs.aws.amazon.com/keyspaces/latest/devguide/cql.elements.html#cql.elements.identifier) in the *Amazon Keyspaces Developer Guide*.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9][a-zA-Z0-9_]{1,47}$`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ColumnType`  <a name="cfn-cassandra-table-column-columntype"></a>
The data type of the column. For more information, see [Data types](https://docs.aws.amazon.com/keyspaces/latest/devguide/cql.elements.html#cql.data-types) in the *Amazon Keyspaces Developer Guide*.  
*Required*: Yes  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::Cassandra::Table EncryptionSpecification
<a name="aws-properties-cassandra-table-encryptionspecification"></a>

Specifies the encryption at rest option selected for the table. 

## Syntax
<a name="aws-properties-cassandra-table-encryptionspecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-cassandra-table-encryptionspecification-syntax.json"></a>

```
{
  "[EncryptionType](#cfn-cassandra-table-encryptionspecification-encryptiontype)" : String,
  "[KmsKeyIdentifier](#cfn-cassandra-table-encryptionspecification-kmskeyidentifier)" : String
}
```

### YAML
<a name="aws-properties-cassandra-table-encryptionspecification-syntax.yaml"></a>

```
  [EncryptionType](#cfn-cassandra-table-encryptionspecification-encryptiontype): String
  [KmsKeyIdentifier](#cfn-cassandra-table-encryptionspecification-kmskeyidentifier): String
```

## Properties
<a name="aws-properties-cassandra-table-encryptionspecification-properties"></a>

`EncryptionType`  <a name="cfn-cassandra-table-encryptionspecification-encryptiontype"></a>
The encryption at rest options for the table.  
+ **AWS owned key** (default) - `AWS_OWNED_KMS_KEY`
+ **Customer managed key** - `CUSTOMER_MANAGED_KMS_KEY`
**Important**  
If you choose `CUSTOMER_MANAGED_KMS_KEY`, a `kms_key_identifier` in the format of a key ARN is required. 
Valid values: `CUSTOMER_MANAGED_KMS_KEY` \$1 `AWS_OWNED_KMS_KEY`.   
*Required*: Yes  
*Type*: String  
*Allowed values*: `AWS_OWNED_KMS_KEY | CUSTOMER_MANAGED_KMS_KEY`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KmsKeyIdentifier`  <a name="cfn-cassandra-table-encryptionspecification-kmskeyidentifier"></a>
Requires a `kms_key_identifier` in the format of a key ARN.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Cassandra::Table ProvisionedThroughput
<a name="aws-properties-cassandra-table-provisionedthroughput"></a>

The provisioned throughput for the table, which consists of `ReadCapacityUnits` and `WriteCapacityUnits`.

## Syntax
<a name="aws-properties-cassandra-table-provisionedthroughput-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-cassandra-table-provisionedthroughput-syntax.json"></a>

```
{
  "[ReadCapacityUnits](#cfn-cassandra-table-provisionedthroughput-readcapacityunits)" : Integer,
  "[WriteCapacityUnits](#cfn-cassandra-table-provisionedthroughput-writecapacityunits)" : Integer
}
```

### YAML
<a name="aws-properties-cassandra-table-provisionedthroughput-syntax.yaml"></a>

```
  [ReadCapacityUnits](#cfn-cassandra-table-provisionedthroughput-readcapacityunits): Integer
  [WriteCapacityUnits](#cfn-cassandra-table-provisionedthroughput-writecapacityunits): Integer
```

## Properties
<a name="aws-properties-cassandra-table-provisionedthroughput-properties"></a>

`ReadCapacityUnits`  <a name="cfn-cassandra-table-provisionedthroughput-readcapacityunits"></a>
The amount of read capacity that's provisioned for the table. For more information, see [Read/write capacity mode](https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html) in the *Amazon Keyspaces Developer Guide*.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`WriteCapacityUnits`  <a name="cfn-cassandra-table-provisionedthroughput-writecapacityunits"></a>
The amount of write capacity that's provisioned for the table. For more information, see [Read/write capacity mode](https://docs.aws.amazon.com/keyspaces/latest/devguide/ReadWriteCapacityMode.html) in the *Amazon Keyspaces Developer Guide*.  
*Required*: Yes  
*Type*: Integer  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Cassandra::Table ReplicaSpecification
<a name="aws-properties-cassandra-table-replicaspecification"></a>

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)

## Syntax
<a name="aws-properties-cassandra-table-replicaspecification-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-cassandra-table-replicaspecification-syntax.json"></a>

```
{
  "[ReadCapacityAutoScaling](#cfn-cassandra-table-replicaspecification-readcapacityautoscaling)" : AutoScalingSetting,
  "[ReadCapacityUnits](#cfn-cassandra-table-replicaspecification-readcapacityunits)" : Integer,
  "[Region](#cfn-cassandra-table-replicaspecification-region)" : String
}
```

### YAML
<a name="aws-properties-cassandra-table-replicaspecification-syntax.yaml"></a>

```
  [ReadCapacityAutoScaling](#cfn-cassandra-table-replicaspecification-readcapacityautoscaling): 
    AutoScalingSetting
  [ReadCapacityUnits](#cfn-cassandra-table-replicaspecification-readcapacityunits): Integer
  [Region](#cfn-cassandra-table-replicaspecification-region): String
```

## Properties
<a name="aws-properties-cassandra-table-replicaspecification-properties"></a>

`ReadCapacityAutoScaling`  <a name="cfn-cassandra-table-replicaspecification-readcapacityautoscaling"></a>
The read capacity auto scaling settings for the multi-Region table in the specified AWS Region.  
*Required*: No  
*Type*: [AutoScalingSetting](aws-properties-cassandra-table-autoscalingsetting.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ReadCapacityUnits`  <a name="cfn-cassandra-table-replicaspecification-readcapacityunits"></a>
The provisioned read capacity units for the multi-Region table in the specified AWS Region.  
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Region`  <a name="cfn-cassandra-table-replicaspecification-region"></a>
The AWS Region.  
*Required*: Yes  
*Type*: String  
*Minimum*: `2`  
*Maximum*: `25`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Cassandra::Table ScalingPolicy
<a name="aws-properties-cassandra-table-scalingpolicy"></a>

Amazon Keyspaces supports the `target tracking` auto scaling policy. With this policy, Amazon Keyspaces auto scaling ensures that the table's ratio of consumed to provisioned capacity stays at or near the target value that you specify. You define the target value as a percentage between 20 and 90.

## Syntax
<a name="aws-properties-cassandra-table-scalingpolicy-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-cassandra-table-scalingpolicy-syntax.json"></a>

```
{
  "[TargetTrackingScalingPolicyConfiguration](#cfn-cassandra-table-scalingpolicy-targettrackingscalingpolicyconfiguration)" : TargetTrackingScalingPolicyConfiguration
}
```

### YAML
<a name="aws-properties-cassandra-table-scalingpolicy-syntax.yaml"></a>

```
  [TargetTrackingScalingPolicyConfiguration](#cfn-cassandra-table-scalingpolicy-targettrackingscalingpolicyconfiguration): 
    TargetTrackingScalingPolicyConfiguration
```

## Properties
<a name="aws-properties-cassandra-table-scalingpolicy-properties"></a>

`TargetTrackingScalingPolicyConfiguration`  <a name="cfn-cassandra-table-scalingpolicy-targettrackingscalingpolicyconfiguration"></a>
The auto scaling policy that scales a table based on the ratio of consumed to provisioned capacity.  
*Required*: No  
*Type*: [TargetTrackingScalingPolicyConfiguration](aws-properties-cassandra-table-targettrackingscalingpolicyconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Cassandra::Table Tag
<a name="aws-properties-cassandra-table-tag"></a>

Describes a tag. A tag is a key-value pair. You can add up to 50 tags to a single Amazon Keyspaces resource.

AWS-assigned tag names and values are automatically assigned the `aws:` prefix, which the user cannot assign. AWS-assigned tag names do not count towards the tag limit of 50. User-assigned tag names have the prefix `user:` in the Cost Allocation Report. You cannot backdate the application of a tag.

For more information, see [Adding tags and labels to Amazon Keyspaces resources](https://docs.aws.amazon.com/keyspaces/latest/devguide/tagging-keyspaces.html) in the *Amazon Keyspaces Developer Guide*.

## Syntax
<a name="aws-properties-cassandra-table-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-cassandra-table-tag-syntax.json"></a>

```
{
  "[Key](#cfn-cassandra-table-tag-key)" : String,
  "[Value](#cfn-cassandra-table-tag-value)" : String
}
```

### YAML
<a name="aws-properties-cassandra-table-tag-syntax.yaml"></a>

```
  [Key](#cfn-cassandra-table-tag-key): String
  [Value](#cfn-cassandra-table-tag-value): String
```

## Properties
<a name="aws-properties-cassandra-table-tag-properties"></a>

`Key`  <a name="cfn-cassandra-table-tag-key"></a>
The key of the tag. Tag keys are case sensitive. Each Amazon Keyspaces resource can only have up to one tag with the same key. If you try to add an existing tag (same key), the existing tag value will be updated to the new value.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-cassandra-table-tag-value"></a>
The value of the tag. Tag values are case-sensitive and can be null.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Cassandra::Table TargetTrackingScalingPolicyConfiguration
<a name="aws-properties-cassandra-table-targettrackingscalingpolicyconfiguration"></a>

Amazon Keyspaces supports the `target tracking` auto scaling policy for a provisioned table. This policy scales a table based on the ratio of consumed to provisioned capacity. The auto scaling target is a percentage of the provisioned capacity of the table. 
+ `targetTrackingScalingPolicyConfiguration`: To define the target tracking policy, you must define the target value. 
  + `targetValue`: The target utilization rate of the table. Amazon Keyspaces auto scaling ensures that the ratio of consumed capacity to provisioned capacity stays at or near this value. You define `targetValue` as a percentage. A `double` between 20 and 90. (Required)
  + `disableScaleIn`: A `boolean` that specifies if `scale-in` is disabled or enabled for the table. This parameter is disabled by default. To turn on `scale-in`, set the `boolean` value to `FALSE`. This means that capacity for a table can be automatically scaled down on your behalf. (Optional) 
  + `scaleInCooldown`: A cooldown period in seconds between scaling activities that lets the table stabilize before another scale in activity starts. If no value is provided, the default is 0. (Optional) 
  + `scaleOutCooldown`: A cooldown period in seconds between scaling activities that lets the table stabilize before another scale out activity starts. If no value is provided, the default is 0. (Optional) 

## Syntax
<a name="aws-properties-cassandra-table-targettrackingscalingpolicyconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-cassandra-table-targettrackingscalingpolicyconfiguration-syntax.json"></a>

```
{
  "[DisableScaleIn](#cfn-cassandra-table-targettrackingscalingpolicyconfiguration-disablescalein)" : Boolean,
  "[ScaleInCooldown](#cfn-cassandra-table-targettrackingscalingpolicyconfiguration-scaleincooldown)" : Integer,
  "[ScaleOutCooldown](#cfn-cassandra-table-targettrackingscalingpolicyconfiguration-scaleoutcooldown)" : Integer,
  "[TargetValue](#cfn-cassandra-table-targettrackingscalingpolicyconfiguration-targetvalue)" : Integer
}
```

### YAML
<a name="aws-properties-cassandra-table-targettrackingscalingpolicyconfiguration-syntax.yaml"></a>

```
  [DisableScaleIn](#cfn-cassandra-table-targettrackingscalingpolicyconfiguration-disablescalein): Boolean
  [ScaleInCooldown](#cfn-cassandra-table-targettrackingscalingpolicyconfiguration-scaleincooldown): Integer
  [ScaleOutCooldown](#cfn-cassandra-table-targettrackingscalingpolicyconfiguration-scaleoutcooldown): Integer
  [TargetValue](#cfn-cassandra-table-targettrackingscalingpolicyconfiguration-targetvalue): Integer
```

## Properties
<a name="aws-properties-cassandra-table-targettrackingscalingpolicyconfiguration-properties"></a>

`DisableScaleIn`  <a name="cfn-cassandra-table-targettrackingscalingpolicyconfiguration-disablescalein"></a>
Specifies if `scale-in` is enabled.  
When auto scaling automatically decreases capacity for a table, the table *scales in*. When scaling policies are set, they can't scale in the table lower than its minimum capacity.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ScaleInCooldown`  <a name="cfn-cassandra-table-targettrackingscalingpolicyconfiguration-scaleincooldown"></a>
Specifies a `scale-in` cool down period.  
A cooldown period in seconds between scaling activities that lets the table stabilize before another scaling activity starts.   
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ScaleOutCooldown`  <a name="cfn-cassandra-table-targettrackingscalingpolicyconfiguration-scaleoutcooldown"></a>
Specifies a scale out cool down period.  
A cooldown period in seconds between scaling activities that lets the table stabilize before another scaling activity starts.   
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TargetValue`  <a name="cfn-cassandra-table-targettrackingscalingpolicyconfiguration-targetvalue"></a>
Specifies the target value for the target tracking auto scaling policy.  
Amazon Keyspaces auto scaling scales up capacity automatically when traffic exceeds this target utilization rate, and then back down when it falls below the target. This ensures that the ratio of consumed capacity to provisioned capacity stays at or near this value. You define `targetValue` as a percentage. An `integer` between 20 and 90.  
*Required*: Yes  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::Cassandra::Table WarmThroughput
<a name="aws-properties-cassandra-table-warmthroughput"></a>

<a name="aws-properties-cassandra-table-warmthroughput-description"></a>The `WarmThroughput` property type specifies Property description not available. for an [AWS::Cassandra::Table](aws-resource-cassandra-table.md).

## Syntax
<a name="aws-properties-cassandra-table-warmthroughput-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-cassandra-table-warmthroughput-syntax.json"></a>

```
{
  "[ReadUnitsPerSecond](#cfn-cassandra-table-warmthroughput-readunitspersecond)" : Integer,
  "[WriteUnitsPerSecond](#cfn-cassandra-table-warmthroughput-writeunitspersecond)" : Integer
}
```

### YAML
<a name="aws-properties-cassandra-table-warmthroughput-syntax.yaml"></a>

```
  [ReadUnitsPerSecond](#cfn-cassandra-table-warmthroughput-readunitspersecond): Integer
  [WriteUnitsPerSecond](#cfn-cassandra-table-warmthroughput-writeunitspersecond): Integer
```

## Properties
<a name="aws-properties-cassandra-table-warmthroughput-properties"></a>

`ReadUnitsPerSecond`  <a name="cfn-cassandra-table-warmthroughput-readunitspersecond"></a>
Property description not available.  
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`WriteUnitsPerSecond`  <a name="cfn-cassandra-table-warmthroughput-writeunitspersecond"></a>
Property description not available.  
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)