UNPKG

cdk-nextjs-standalone

Version:

Deploy a NextJS app to AWS using CDK and OpenNext.

157 lines (156 loc) 5.66 kB
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; }