cdk-nextjs-standalone
Version:
Deploy a NextJS app to AWS using CDK and OpenNext.
157 lines (156 loc) • 5.66 kB
TypeScript
import type { aws_dynamodb, aws_iam, aws_kinesis, CfnTag, RemovalPolicy } from 'aws-cdk-lib';
/**
* OptionalTablePropsV2
*/
export interface OptionalTablePropsV2 {
/**
* The witness Region for the MRSC global table.
* A MRSC global table can be configured with either three replicas, or with two replicas and one witness.
*
* Note: Witness region cannot be specified for a Multi-Region Eventual Consistency (MREC) Global Table.
* Witness regions are only supported for Multi-Region Strong Consistency (MRSC) Global Tables.
* @default - no witness region
* @stability stable
*/
readonly witnessRegion?: string;
/**
* The warm throughput configuration for the table.
* @default - no warm throughput is configured
* @stability stable
*/
readonly warmThroughput?: aws_dynamodb.WarmThroughput;
/**
* The name of the TTL attribute.
* @default - TTL is disabled
* @stability stable
*/
readonly timeToLiveAttribute?: string;
/**
* The name of the table.
* @default - generated by CloudFormation
* @stability stable
*/
readonly tableName?: string;
/**
* Sort key attribute definition.
* @default - no sort key
* @stability stable
*/
readonly sortKey?: aws_dynamodb.Attribute;
/**
* Replica tables to deploy with the primary table.
* Note: Adding replica tables allows you to use your table as a global table. You
* cannot specify a replica table in the region that the primary table will be deployed
* to. Replica tables will only be supported if the stack deployment region is defined.
* @default - no replica tables
* @stability stable
*/
readonly replicas?: Array<aws_dynamodb.ReplicaTableProps>;
/**
* The removal policy applied to the table.
* @default RemovalPolicy.RETAIN
* @stability stable
*/
readonly removalPolicy?: RemovalPolicy;
/**
* Specifies the consistency mode for a new global table.
* @default MultiRegionConsistency.EVENTUAL
* @stability stable
*/
readonly multiRegionConsistency?: aws_dynamodb.MultiRegionConsistency;
/**
* Local secondary indexes.
* Note: You can only provide a maximum of 5 local secondary indexes.
* @default - no local secondary indexes
* @stability stable
*/
readonly localSecondaryIndexes?: Array<aws_dynamodb.LocalSecondaryIndexProps>;
/**
* Global secondary indexes.
* Note: You can provide a maximum of 20 global secondary indexes.
* @default - no global secondary indexes
* @stability stable
*/
readonly globalSecondaryIndexes?: Array<aws_dynamodb.GlobalSecondaryIndexPropsV2>;
/**
* The server-side encryption.
* @default TableEncryptionV2.dynamoOwnedKey()
* @stability stable
*/
readonly encryption?: aws_dynamodb.TableEncryptionV2;
/**
* When an item in the table is modified, StreamViewType determines what information is written to the stream.
* @default - streams are disabled if replicas are not configured and this property is
not specified. If this property is not specified when replicas are configured, then
NEW_AND_OLD_IMAGES will be the StreamViewType for all replicas
* @stability stable
*/
readonly dynamoStream?: aws_dynamodb.StreamViewType;
/**
* The billing mode and capacity settings to apply to the table.
* @default Billing.onDemand()
* @stability stable
*/
readonly billing?: aws_dynamodb.Billing;
/**
* Partition key attribute definition.
* @stability stable
*/
readonly partitionKey?: aws_dynamodb.Attribute;
/**
* Tags to be applied to the primary table (default replica table).
* @default - no tags
* @stability stable
*/
readonly tags?: Array<CfnTag>;
/**
* The table class.
* @default TableClass.STANDARD
* @stability stable
*/
readonly tableClass?: aws_dynamodb.TableClass;
/**
* Resource policy to assign to DynamoDB Table.
* @default - No resource policy statements are added to the created table.
* @stability stable
*/
readonly resourcePolicy?: aws_iam.PolicyDocument;
/**
* Whether point-in-time recovery is enabled and recoveryPeriodInDays is set.
* @default - point in time recovery is not enabled.
* @stability stable
*/
readonly pointInTimeRecoverySpecification?: aws_dynamodb.PointInTimeRecoverySpecification;
/**
* Whether point-in-time recovery is enabled.
* @default false - point in time recovery is not enabled.
* @deprecated use `pointInTimeRecoverySpecification` instead
* @stability deprecated
*/
readonly pointInTimeRecovery?: boolean;
/**
* Kinesis Data Stream to capture item level changes.
* @default - no Kinesis Data Stream
* @stability stable
*/
readonly kinesisStream?: aws_kinesis.IStream;
/**
* Whether deletion protection is enabled.
* @default false
* @stability stable
*/
readonly deletionProtection?: boolean;
/**
* Whether CloudWatch contributor insights is enabled and what mode is selected.
* @default - contributor insights is not enabled
* @stability stable
*/
readonly contributorInsightsSpecification?: aws_dynamodb.ContributorInsightsSpecification;
/**
* Whether CloudWatch contributor insights is enabled.
* @default false
* @deprecated use `contributorInsightsSpecification` instead
* @stability deprecated
*/
readonly contributorInsights?: boolean;
}