# TableAttributes

Reference to a dynamodb table.

- Source: [`aws-dynamodb/lib/table.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/aws-dynamodb/lib/table.ts#L626)
- Type last changed: v2.31.0 · 6 Jul 2022

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_dynamodb as dynamodb } from 'aws-cdk-lib';
import { aws_kms as kms } from 'aws-cdk-lib';

declare const key: kms.Key;
const tableAttributes: dynamodb.TableAttributes = {
  encryptionKey: key,
  globalIndexes: ['globalIndexes'],
  grantIndexPermissions: false,
  localIndexes: ['localIndexes'],
  tableArn: 'tableArn',
  tableName: 'tableName',
  tableStreamArn: 'tableStreamArn',
};
```

## Properties

- `encryptionKey`: [IKey](/cdk/api/v2/docs/aws-cdk-lib.aws_kms.IKey.html) — KMS encryption key, if this table uses a customer-managed encryption key.

  **Default:** no key

- `globalIndexes`: string[] — The name of the global indexes set for this Table.

  **Default:** no global indexes

  Note that you need to set either this property,
  or `localIndexes`,
  if you want methods like grantReadData()
  to grant permissions for indexes as well as the table itself.

- `grantIndexPermissions`: boolean = false — If set to true, grant methods always grant permissions for all indexes.

  If false is provided, grant methods grant the permissions
  only when `globalIndexes` or `localIndexes` is specified.

- `localIndexes`: string[] — The name of the local indexes set for this Table.

  **Default:** no local indexes

  Note that you need to set either this property,
  or `globalIndexes`,
  if you want methods like grantReadData()
  to grant permissions for indexes as well as the table itself.

- `tableArn`: string — The ARN of the dynamodb table.

  **Default:** no table arn

  One of this, or `tableName`, is required.

- `tableName`: string — The table name of the dynamodb table.

  **Default:** no table name

  One of this, or `tableArn`, is required.

- `tableStreamArn`: string — The ARN of the table's stream.

  **Default:** no table stream
