in packages/cdk/lib/stacks/core-stack.ts [134:176]
private renderTable(): ITable {
const table = new Table(this, "Table", {
tableName: PRODUCT_NAME,
partitionKey: {
name: "PK",
type: AttributeType.STRING,
},
sortKey: {
name: "SK",
type: AttributeType.STRING,
},
timeToLiveAttribute: "expiry",
billingMode: BillingMode.PAY_PER_REQUEST,
removalPolicy: RemovalPolicy.DESTROY,
});
table.addGlobalSecondaryIndex({
indexName: "gsi1",
partitionKey: { name: "GSI1_PK", type: AttributeType.STRING },
sortKey: { name: "GSI1_SK", type: AttributeType.STRING },
projectionType: ProjectionType.ALL,
});
table.addLocalSecondaryIndex({
indexName: "lsi1",
sortKey: { name: "LSI1_SK", type: AttributeType.STRING },
projectionType: ProjectionType.ALL,
});
table.addLocalSecondaryIndex({
indexName: "lsi2",
sortKey: { name: "LSI2_SK", type: AttributeType.STRING },
projectionType: ProjectionType.ALL,
});
table.addLocalSecondaryIndex({
indexName: "lsi3",
sortKey: { name: "LSI3_SK", type: AttributeType.STRING },
projectionType: ProjectionType.ALL,
});
return table;
}