@sylvesterllc/aws-constructs 1.1.33 → 1.1.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,10 +6,8 @@ const CreateDynamoSingleTableDesign_1 = require("../resources/dynamodb/CreateDyn
6
6
  class DynamoDbSingleTable extends constructs_1.Construct {
7
7
  constructor(scope, id, tableName) {
8
8
  super(scope, id);
9
- {
10
- new CreateDynamoSingleTableDesign_1.CreateDynamoSingleTableDesign(this, tableName);
11
- }
9
+ new CreateDynamoSingleTableDesign_1.CreateDynamoSingleTableDesign(this, tableName);
12
10
  }
13
11
  }
14
12
  exports.DynamoDbSingleTable = DynamoDbSingleTable;
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHluYW1vRGJTaW5nbGVUYWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdHJ1Y3RzL0R5bmFtb0RiU2luZ2xlVGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQXVDO0FBQ3ZDLHVHQUFvRztBQUVwRyxNQUFhLG1CQUFvQixTQUFRLHNCQUFTO0lBRTlDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsU0FBaUI7UUFDdkQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUFDLENBQUM7WUFFZixJQUFJLDZEQUE2QixDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztRQUV2RCxDQUFDO0lBQ0wsQ0FBQztDQUNKO0FBVEQsa0RBU0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQ3JlYXRlRHluYW1vU2luZ2xlVGFibGVEZXNpZ24gfSBmcm9tIFwiLi4vcmVzb3VyY2VzL2R5bmFtb2RiL0NyZWF0ZUR5bmFtb1NpbmdsZVRhYmxlRGVzaWduXCI7XG5cbmV4cG9ydCBjbGFzcyBEeW5hbW9EYlNpbmdsZVRhYmxlIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHRhYmxlTmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKHNjb3BlLCBpZCk7IHtcblxuICAgICAgICAgICAgbmV3IENyZWF0ZUR5bmFtb1NpbmdsZVRhYmxlRGVzaWduKHRoaXMsIHRhYmxlTmFtZSk7XG5cbiAgICAgICAgfVxuICAgIH1cbn0iXX0=
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHluYW1vRGJTaW5nbGVUYWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdHJ1Y3RzL0R5bmFtb0RiU2luZ2xlVGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQXVDO0FBQ3ZDLHVHQUFvRztBQUVwRyxNQUFhLG1CQUFvQixTQUFRLHNCQUFTO0lBQ2hELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsU0FBaUI7UUFDekQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLDZEQUE2QixDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNyRCxDQUFDO0NBQ0Y7QUFORCxrREFNQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBDcmVhdGVEeW5hbW9TaW5nbGVUYWJsZURlc2lnbiB9IGZyb20gXCIuLi9yZXNvdXJjZXMvZHluYW1vZGIvQ3JlYXRlRHluYW1vU2luZ2xlVGFibGVEZXNpZ25cIjtcblxuZXhwb3J0IGNsYXNzIER5bmFtb0RiU2luZ2xlVGFibGUgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCB0YWJsZU5hbWU6IHN0cmluZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBuZXcgQ3JlYXRlRHluYW1vU2luZ2xlVGFibGVEZXNpZ24odGhpcywgdGFibGVOYW1lKTtcbiAgfVxufVxuIl19
@@ -2,8 +2,7 @@ import { Table } from "aws-cdk-lib/aws-dynamodb";
2
2
  import { Construct } from "constructs";
3
3
  import { TsgBaseResource } from "../base/tsgBaseResource";
4
4
  export declare class CreateDynamoSingleTableDesign extends TsgBaseResource<Table, string> {
5
- protected scope: Construct;
6
- protected tableName: string;
5
+ private tableName;
7
6
  static ReadWriteActions: string[];
8
7
  get CreatedTable(): Table | null;
9
8
  constructor(scope: Construct, tableName: string);
@@ -5,7 +5,6 @@ const aws_cdk_lib_1 = require("aws-cdk-lib");
5
5
  const aws_dynamodb_1 = require("aws-cdk-lib/aws-dynamodb");
6
6
  const tsgBaseResource_1 = require("../base/tsgBaseResource");
7
7
  class CreateDynamoSingleTableDesign extends tsgBaseResource_1.TsgBaseResource {
8
- scope;
9
8
  tableName;
10
9
  static ReadWriteActions = [
11
10
  "dynamodb:BatchGetItem",
@@ -26,59 +25,58 @@ class CreateDynamoSingleTableDesign extends tsgBaseResource_1.TsgBaseResource {
26
25
  }
27
26
  constructor(scope, tableName) {
28
27
  super(scope, tableName);
29
- this.scope = scope;
30
28
  this.tableName = tableName;
31
29
  }
32
30
  createResource(scope) {
33
- const dbTable = new aws_dynamodb_1.Table(scope, `${this.tableName}`, {
31
+ const dbTable = new aws_dynamodb_1.Table(scope, `db-table-${this.tableName}`, {
34
32
  tableName: this.tableName,
35
33
  removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
36
34
  partitionKey: {
37
- name: 'pk',
35
+ name: "pk",
38
36
  type: aws_dynamodb_1.AttributeType.STRING,
39
37
  },
40
38
  sortKey: {
41
- name: 'sk',
39
+ name: "sk",
42
40
  type: aws_dynamodb_1.AttributeType.STRING,
43
41
  },
44
42
  billingMode: aws_dynamodb_1.BillingMode.PAY_PER_REQUEST,
45
43
  });
46
44
  const gsiIndexes = [
47
45
  {
48
- indexName: 'gsi1Index',
46
+ indexName: "gsi1Index",
49
47
  partitionKey: {
50
- name: 'gsi1pk',
51
- type: aws_dynamodb_1.AttributeType.STRING
48
+ name: "gsi1pk",
49
+ type: aws_dynamodb_1.AttributeType.STRING,
52
50
  },
53
51
  sortKey: {
54
- name: 'gsi1sk',
55
- type: aws_dynamodb_1.AttributeType.STRING
52
+ name: "gsi1sk",
53
+ type: aws_dynamodb_1.AttributeType.STRING,
56
54
  },
57
- projectionType: aws_dynamodb_1.ProjectionType.ALL
55
+ projectionType: aws_dynamodb_1.ProjectionType.ALL,
58
56
  },
59
57
  {
60
- indexName: 'gsi2Index',
58
+ indexName: "gsi2Index",
61
59
  partitionKey: {
62
- name: 'gsi2pk',
63
- type: aws_dynamodb_1.AttributeType.STRING
60
+ name: "gsi2pk",
61
+ type: aws_dynamodb_1.AttributeType.STRING,
64
62
  },
65
63
  sortKey: {
66
- name: 'gsi2sk',
67
- type: aws_dynamodb_1.AttributeType.STRING
64
+ name: "gsi2sk",
65
+ type: aws_dynamodb_1.AttributeType.STRING,
68
66
  },
69
- projectionType: aws_dynamodb_1.ProjectionType.ALL
67
+ projectionType: aws_dynamodb_1.ProjectionType.ALL,
70
68
  },
71
69
  {
72
- indexName: 'gsi3Index',
70
+ indexName: "gsi3Index",
73
71
  partitionKey: {
74
- name: 'gsi3pk',
75
- type: aws_dynamodb_1.AttributeType.STRING
72
+ name: "gsi3pk",
73
+ type: aws_dynamodb_1.AttributeType.STRING,
76
74
  },
77
75
  sortKey: {
78
- name: 'gsi3sk',
79
- type: aws_dynamodb_1.AttributeType.STRING
76
+ name: "gsi3sk",
77
+ type: aws_dynamodb_1.AttributeType.STRING,
80
78
  },
81
- projectionType: aws_dynamodb_1.ProjectionType.ALL
79
+ projectionType: aws_dynamodb_1.ProjectionType.ALL,
82
80
  },
83
81
  ];
84
82
  gsiIndexes.map((gsi) => {
@@ -86,7 +84,7 @@ class CreateDynamoSingleTableDesign extends tsgBaseResource_1.TsgBaseResource {
86
84
  indexName: gsi.indexName,
87
85
  partitionKey: gsi.partitionKey,
88
86
  sortKey: gsi.sortKey,
89
- projectionType: gsi.projectionType
87
+ projectionType: gsi.projectionType,
90
88
  };
91
89
  dbTable.addGlobalSecondaryIndex(gsiProps);
92
90
  });
@@ -94,9 +92,9 @@ class CreateDynamoSingleTableDesign extends tsgBaseResource_1.TsgBaseResource {
94
92
  }
95
93
  createOutput(scope) {
96
94
  new aws_cdk_lib_1.CfnOutput(scope, `dynamoTable-${this.tableName}`, {
97
- value: `Table Name: ${this.tableName}`
95
+ value: `Table Name: ${this.tableName}`,
98
96
  });
99
97
  }
100
98
  }
101
99
  exports.CreateDynamoSingleTableDesign = CreateDynamoSingleTableDesign;
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlYXRlRHluYW1vU2luZ2xlVGFibGVEZXNpZ24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVzb3VyY2VzL2R5bmFtb2RiL0NyZWF0ZUR5bmFtb1NpbmdsZVRhYmxlRGVzaWduLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUF1RDtBQUN2RCwyREFBb0k7QUFFcEksNkRBQTBEO0FBRzFELE1BQWEsNkJBQThCLFNBQVEsaUNBQThCO0lBcUJ2RDtJQUE0QjtJQW5CbEQsTUFBTSxDQUFDLGdCQUFnQixHQUFhO1FBQ2hDLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIsNkJBQTZCO1FBQzdCLHFCQUFxQjtRQUNyQix3QkFBd0I7UUFDeEIsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQiwyQkFBMkI7UUFDM0Isa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YscUJBQXFCO0tBQ3hCLENBQUM7SUFFRixJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQXNCLEtBQWdCLEVBQVksU0FBaUI7UUFDL0QsS0FBSyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQUROLFVBQUssR0FBTCxLQUFLLENBQVc7UUFBWSxjQUFTLEdBQVQsU0FBUyxDQUFRO0lBRW5FLENBQUM7SUFFUyxjQUFjLENBQUMsS0FBZ0I7UUFFckMsTUFBTSxPQUFPLEdBQUcsSUFBSSxvQkFBSyxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNsRCxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsYUFBYSxFQUFFLDJCQUFhLENBQUMsT0FBTztZQUVwQyxZQUFZLEVBQUU7Z0JBQ1YsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsSUFBSSxFQUFFLDRCQUFhLENBQUMsTUFBTTthQUM3QjtZQUNELE9BQU8sRUFBRTtnQkFDTCxJQUFJLEVBQUUsSUFBSTtnQkFDVixJQUFJLEVBQUUsNEJBQWEsQ0FBQyxNQUFNO2FBQzdCO1lBQ0QsV0FBVyxFQUFFLDBCQUFXLENBQUMsZUFBZTtTQUMzQyxDQUFDLENBQUM7UUFFSCxNQUFNLFVBQVUsR0FBRztZQUNmO2dCQUNJLFNBQVMsRUFBRSxXQUFXO2dCQUN0QixZQUFZLEVBQUU7b0JBQ1YsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsSUFBSSxFQUFFLDRCQUFhLENBQUMsTUFBTTtpQkFDN0I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLElBQUksRUFBRSxRQUFRO29CQUNkLElBQUksRUFBRSw0QkFBYSxDQUFDLE1BQU07aUJBQzdCO2dCQUNELGNBQWMsRUFBRSw2QkFBYyxDQUFDLEdBQUc7YUFDckM7WUFDRDtnQkFDSSxTQUFTLEVBQUUsV0FBVztnQkFDdEIsWUFBWSxFQUFFO29CQUNWLElBQUksRUFBRSxRQUFRO29CQUNkLElBQUksRUFBRSw0QkFBYSxDQUFDLE1BQU07aUJBQzdCO2dCQUNELE9BQU8sRUFBRTtvQkFDTCxJQUFJLEVBQUUsUUFBUTtvQkFDZCxJQUFJLEVBQUUsNEJBQWEsQ0FBQyxNQUFNO2lCQUM3QjtnQkFDRCxjQUFjLEVBQUUsNkJBQWMsQ0FBQyxHQUFHO2FBQ3JDO1lBQ0Q7Z0JBQ0ksU0FBUyxFQUFFLFdBQVc7Z0JBQ3RCLFlBQVksRUFBRTtvQkFDVixJQUFJLEVBQUUsUUFBUTtvQkFDZCxJQUFJLEVBQUUsNEJBQWEsQ0FBQyxNQUFNO2lCQUM3QjtnQkFDRCxPQUFPLEVBQUU7b0JBQ0wsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsSUFBSSxFQUFFLDRCQUFhLENBQUMsTUFBTTtpQkFDN0I7Z0JBQ0QsY0FBYyxFQUFFLDZCQUFjLENBQUMsR0FBRzthQUNyQztTQUNKLENBQUM7UUFFRixVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFFbkIsTUFBTSxRQUFRLEdBQThCO2dCQUN4QyxTQUFTLEVBQUUsR0FBRyxDQUFDLFNBQVM7Z0JBQ3hCLFlBQVksRUFBRSxHQUFHLENBQUMsWUFBWTtnQkFDOUIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPO2dCQUNwQixjQUFjLEVBQUUsR0FBRyxDQUFDLGNBQWM7YUFFckMsQ0FBQztZQUVGLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFHUyxZQUFZLENBQUksS0FBZ0I7UUFFdEMsSUFBSSx1QkFBUyxDQUFDLEtBQUssRUFBRSxlQUFlLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNsRCxLQUFLLEVBQUUsZUFBZSxJQUFJLENBQUMsU0FBUyxFQUFFO1NBQ3pDLENBQUMsQ0FBQztJQUVQLENBQUM7O0FBeEdMLHNFQXlHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENmbk91dHB1dCwgUmVtb3ZhbFBvbGljeSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQXR0cmlidXRlVHlwZSwgQmlsbGluZ01vZGUsIEdsb2JhbFNlY29uZGFyeUluZGV4UHJvcHMsIFByb2plY3Rpb25UeXBlLCBUYWJsZSwgVGFibGVQcm9wcyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZHluYW1vZGJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUc2dCYXNlUmVzb3VyY2UgfSBmcm9tIFwiLi4vYmFzZS90c2dCYXNlUmVzb3VyY2VcIjtcblxuXG5leHBvcnQgY2xhc3MgQ3JlYXRlRHluYW1vU2luZ2xlVGFibGVEZXNpZ24gZXh0ZW5kcyBUc2dCYXNlUmVzb3VyY2U8VGFibGUsIHN0cmluZz4ge1xuXG4gICAgc3RhdGljIFJlYWRXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuICAgICAgICBcImR5bmFtb2RiOkJhdGNoR2V0SXRlbVwiLFxuICAgICAgICBcImR5bmFtb2RiOkJhdGNoV3JpdGVJdGVtXCIsXG4gICAgICAgIFwiZHluYW1vZGI6Q29uZGl0aW9uQ2hlY2tJdGVtXCIsXG4gICAgICAgIFwiZHluYW1vZGI6RGVsZXRlSXRlbVwiLFxuICAgICAgICBcImR5bmFtb2RiOkRlc2NyaWJlVGFibGVcIixcbiAgICAgICAgXCJkeW5hbW9kYjpHZXRJdGVtXCIsXG4gICAgICAgIFwiZHluYW1vZGI6R2V0UmVjb3Jkc1wiLFxuICAgICAgICBcImR5bmFtb2RiOkdldFNoYXJkSXRlcmF0b3JcIixcbiAgICAgICAgXCJkeW5hbW9kYjpQdXRJdGVtXCIsXG4gICAgICAgIFwiZHluYW1vZGI6UXVlcnlcIixcbiAgICAgICAgXCJkeW5hbW9kYjpTY2FuXCIsXG4gICAgICAgIFwiZHluYW1vZGI6VXBkYXRlSXRlbVwiLFxuICAgIF07XG5cbiAgICBnZXQgQ3JlYXRlZFRhYmxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVkUmVzb3VyY2U7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHNjb3BlOiBDb25zdHJ1Y3QsIHByb3RlY3RlZCB0YWJsZU5hbWU6IHN0cmluZykge1xuICAgICAgICBzdXBlcihzY29wZSwgdGFibGVOYW1lKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlUmVzb3VyY2Uoc2NvcGU6IENvbnN0cnVjdCk6IFRhYmxlIHtcblxuICAgICAgICBjb25zdCBkYlRhYmxlID0gbmV3IFRhYmxlKHNjb3BlLCBgJHt0aGlzLnRhYmxlTmFtZX1gLCB7XG4gICAgICAgICAgICB0YWJsZU5hbWU6IHRoaXMudGFibGVOYW1lLFxuICAgICAgICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuXG4gICAgICAgICAgICBwYXJ0aXRpb25LZXk6IHtcbiAgICAgICAgICAgICAgICBuYW1lOiAncGsnLFxuICAgICAgICAgICAgICAgIHR5cGU6IEF0dHJpYnV0ZVR5cGUuU1RSSU5HLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNvcnRLZXk6IHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnc2snLFxuICAgICAgICAgICAgICAgIHR5cGU6IEF0dHJpYnV0ZVR5cGUuU1RSSU5HLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGJpbGxpbmdNb2RlOiBCaWxsaW5nTW9kZS5QQVlfUEVSX1JFUVVFU1QsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGdzaUluZGV4ZXMgPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaW5kZXhOYW1lOiAnZ3NpMUluZGV4JyxcbiAgICAgICAgICAgICAgICBwYXJ0aXRpb25LZXk6IHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2dzaTFwaycsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IEF0dHJpYnV0ZVR5cGUuU1RSSU5HXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBzb3J0S2V5OiB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdnc2kxc2snLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBBdHRyaWJ1dGVUeXBlLlNUUklOR1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgcHJvamVjdGlvblR5cGU6IFByb2plY3Rpb25UeXBlLkFMTFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpbmRleE5hbWU6ICdnc2kySW5kZXgnLFxuICAgICAgICAgICAgICAgIHBhcnRpdGlvbktleToge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnZ3NpMnBrJyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogQXR0cmlidXRlVHlwZS5TVFJJTkdcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHNvcnRLZXk6IHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2dzaTJzaycsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IEF0dHJpYnV0ZVR5cGUuU1RSSU5HXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBwcm9qZWN0aW9uVHlwZTogUHJvamVjdGlvblR5cGUuQUxMXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGluZGV4TmFtZTogJ2dzaTNJbmRleCcsXG4gICAgICAgICAgICAgICAgcGFydGl0aW9uS2V5OiB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdnc2kzcGsnLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBBdHRyaWJ1dGVUeXBlLlNUUklOR1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgc29ydEtleToge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnZ3NpM3NrJyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogQXR0cmlidXRlVHlwZS5TVFJJTkdcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHByb2plY3Rpb25UeXBlOiBQcm9qZWN0aW9uVHlwZS5BTExcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF07XG5cbiAgICAgICAgZ3NpSW5kZXhlcy5tYXAoKGdzaSkgPT4ge1xuXG4gICAgICAgICAgICBjb25zdCBnc2lQcm9wczogR2xvYmFsU2Vjb25kYXJ5SW5kZXhQcm9wcyA9IHtcbiAgICAgICAgICAgICAgICBpbmRleE5hbWU6IGdzaS5pbmRleE5hbWUsXG4gICAgICAgICAgICAgICAgcGFydGl0aW9uS2V5OiBnc2kucGFydGl0aW9uS2V5LFxuICAgICAgICAgICAgICAgIHNvcnRLZXk6IGdzaS5zb3J0S2V5LFxuICAgICAgICAgICAgICAgIHByb2plY3Rpb25UeXBlOiBnc2kucHJvamVjdGlvblR5cGVcblxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgZGJUYWJsZS5hZGRHbG9iYWxTZWNvbmRhcnlJbmRleChnc2lQcm9wcyk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBkYlRhYmxlO1xuICAgIH1cblxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZU91dHB1dDxUPihzY29wZTogQ29uc3RydWN0KTogdm9pZCB7XG5cbiAgICAgICAgbmV3IENmbk91dHB1dChzY29wZSwgYGR5bmFtb1RhYmxlLSR7dGhpcy50YWJsZU5hbWV9YCwge1xuICAgICAgICAgICAgdmFsdWU6IGBUYWJsZSBOYW1lOiAke3RoaXMudGFibGVOYW1lfWBcbiAgICAgICAgfSk7XG5cbiAgICB9XG59Il19
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlYXRlRHluYW1vU2luZ2xlVGFibGVEZXNpZ24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVzb3VyY2VzL2R5bmFtb2RiL0NyZWF0ZUR5bmFtb1NpbmdsZVRhYmxlRGVzaWduLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUF1RDtBQUN2RCwyREFPa0M7QUFFbEMsNkRBQTBEO0FBRTFELE1BQWEsNkJBQThCLFNBQVEsaUNBQThCO0lBcUJ6QztJQW5CcEMsTUFBTSxDQUFDLGdCQUFnQixHQUFhO1FBQ3BDLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIsNkJBQTZCO1FBQzdCLHFCQUFxQjtRQUNyQix3QkFBd0I7UUFDeEIsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQiwyQkFBMkI7UUFDM0Isa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YscUJBQXFCO0tBQ3RCLENBQUM7SUFFRixJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUVELFlBQVksS0FBZ0IsRUFBVSxTQUFpQjtRQUNyRCxLQUFLLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRFksY0FBUyxHQUFULFNBQVMsQ0FBUTtJQUV2RCxDQUFDO0lBRVMsY0FBYyxDQUFDLEtBQWdCO1FBQ3ZDLE1BQU0sT0FBTyxHQUFHLElBQUksb0JBQUssQ0FBQyxLQUFLLEVBQUUsWUFBWSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDN0QsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLGFBQWEsRUFBRSwyQkFBYSxDQUFDLE9BQU87WUFFcEMsWUFBWSxFQUFFO2dCQUNaLElBQUksRUFBRSxJQUFJO2dCQUNWLElBQUksRUFBRSw0QkFBYSxDQUFDLE1BQU07YUFDM0I7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsSUFBSSxFQUFFLDRCQUFhLENBQUMsTUFBTTthQUMzQjtZQUNELFdBQVcsRUFBRSwwQkFBVyxDQUFDLGVBQWU7U0FDekMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxVQUFVLEdBQUc7WUFDakI7Z0JBQ0UsU0FBUyxFQUFFLFdBQVc7Z0JBQ3RCLFlBQVksRUFBRTtvQkFDWixJQUFJLEVBQUUsUUFBUTtvQkFDZCxJQUFJLEVBQUUsNEJBQWEsQ0FBQyxNQUFNO2lCQUMzQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsSUFBSSxFQUFFLDRCQUFhLENBQUMsTUFBTTtpQkFDM0I7Z0JBQ0QsY0FBYyxFQUFFLDZCQUFjLENBQUMsR0FBRzthQUNuQztZQUNEO2dCQUNFLFNBQVMsRUFBRSxXQUFXO2dCQUN0QixZQUFZLEVBQUU7b0JBQ1osSUFBSSxFQUFFLFFBQVE7b0JBQ2QsSUFBSSxFQUFFLDRCQUFhLENBQUMsTUFBTTtpQkFDM0I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLElBQUksRUFBRSxRQUFRO29CQUNkLElBQUksRUFBRSw0QkFBYSxDQUFDLE1BQU07aUJBQzNCO2dCQUNELGNBQWMsRUFBRSw2QkFBYyxDQUFDLEdBQUc7YUFDbkM7WUFDRDtnQkFDRSxTQUFTLEVBQUUsV0FBVztnQkFDdEIsWUFBWSxFQUFFO29CQUNaLElBQUksRUFBRSxRQUFRO29CQUNkLElBQUksRUFBRSw0QkFBYSxDQUFDLE1BQU07aUJBQzNCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxJQUFJLEVBQUUsUUFBUTtvQkFDZCxJQUFJLEVBQUUsNEJBQWEsQ0FBQyxNQUFNO2lCQUMzQjtnQkFDRCxjQUFjLEVBQUUsNkJBQWMsQ0FBQyxHQUFHO2FBQ25DO1NBQ0YsQ0FBQztRQUVGLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNyQixNQUFNLFFBQVEsR0FBOEI7Z0JBQzFDLFNBQVMsRUFBRSxHQUFHLENBQUMsU0FBUztnQkFDeEIsWUFBWSxFQUFFLEdBQUcsQ0FBQyxZQUFZO2dCQUM5QixPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU87Z0JBQ3BCLGNBQWMsRUFBRSxHQUFHLENBQUMsY0FBYzthQUNuQyxDQUFDO1lBRUYsT0FBTyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVTLFlBQVksQ0FBSSxLQUFnQjtRQUN4QyxJQUFJLHVCQUFTLENBQUMsS0FBSyxFQUFFLGVBQWUsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3BELEtBQUssRUFBRSxlQUFlLElBQUksQ0FBQyxTQUFTLEVBQUU7U0FDdkMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFsR0gsc0VBbUdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuT3V0cHV0LCBSZW1vdmFsUG9saWN5IH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1xuICBBdHRyaWJ1dGVUeXBlLFxuICBCaWxsaW5nTW9kZSxcbiAgR2xvYmFsU2Vjb25kYXJ5SW5kZXhQcm9wcyxcbiAgUHJvamVjdGlvblR5cGUsXG4gIFRhYmxlLFxuICBUYWJsZVByb3BzLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgVHNnQmFzZVJlc291cmNlIH0gZnJvbSBcIi4uL2Jhc2UvdHNnQmFzZVJlc291cmNlXCI7XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVEeW5hbW9TaW5nbGVUYWJsZURlc2lnbiBleHRlbmRzIFRzZ0Jhc2VSZXNvdXJjZTxUYWJsZSwgc3RyaW5nPiB7XG4gIFxuICAgIHN0YXRpYyBSZWFkV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcbiAgICBcImR5bmFtb2RiOkJhdGNoR2V0SXRlbVwiLFxuICAgIFwiZHluYW1vZGI6QmF0Y2hXcml0ZUl0ZW1cIixcbiAgICBcImR5bmFtb2RiOkNvbmRpdGlvbkNoZWNrSXRlbVwiLFxuICAgIFwiZHluYW1vZGI6RGVsZXRlSXRlbVwiLFxuICAgIFwiZHluYW1vZGI6RGVzY3JpYmVUYWJsZVwiLFxuICAgIFwiZHluYW1vZGI6R2V0SXRlbVwiLFxuICAgIFwiZHluYW1vZGI6R2V0UmVjb3Jkc1wiLFxuICAgIFwiZHluYW1vZGI6R2V0U2hhcmRJdGVyYXRvclwiLFxuICAgIFwiZHluYW1vZGI6UHV0SXRlbVwiLFxuICAgIFwiZHluYW1vZGI6UXVlcnlcIixcbiAgICBcImR5bmFtb2RiOlNjYW5cIixcbiAgICBcImR5bmFtb2RiOlVwZGF0ZUl0ZW1cIixcbiAgXTtcblxuICBnZXQgQ3JlYXRlZFRhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZWRSZXNvdXJjZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIHByaXZhdGUgdGFibGVOYW1lOiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgdGFibGVOYW1lKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVSZXNvdXJjZShzY29wZTogQ29uc3RydWN0KTogVGFibGUge1xuICAgIGNvbnN0IGRiVGFibGUgPSBuZXcgVGFibGUoc2NvcGUsIGBkYi10YWJsZS0ke3RoaXMudGFibGVOYW1lfWAsIHtcbiAgICAgIHRhYmxlTmFtZTogdGhpcy50YWJsZU5hbWUsXG4gICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG5cbiAgICAgIHBhcnRpdGlvbktleToge1xuICAgICAgICBuYW1lOiBcInBrXCIsXG4gICAgICAgIHR5cGU6IEF0dHJpYnV0ZVR5cGUuU1RSSU5HLFxuICAgICAgfSxcbiAgICAgIHNvcnRLZXk6IHtcbiAgICAgICAgbmFtZTogXCJza1wiLFxuICAgICAgICB0eXBlOiBBdHRyaWJ1dGVUeXBlLlNUUklORyxcbiAgICAgIH0sXG4gICAgICBiaWxsaW5nTW9kZTogQmlsbGluZ01vZGUuUEFZX1BFUl9SRVFVRVNULFxuICAgIH0pO1xuXG4gICAgY29uc3QgZ3NpSW5kZXhlcyA9IFtcbiAgICAgIHtcbiAgICAgICAgaW5kZXhOYW1lOiBcImdzaTFJbmRleFwiLFxuICAgICAgICBwYXJ0aXRpb25LZXk6IHtcbiAgICAgICAgICBuYW1lOiBcImdzaTFwa1wiLFxuICAgICAgICAgIHR5cGU6IEF0dHJpYnV0ZVR5cGUuU1RSSU5HLFxuICAgICAgICB9LFxuICAgICAgICBzb3J0S2V5OiB7XG4gICAgICAgICAgbmFtZTogXCJnc2kxc2tcIixcbiAgICAgICAgICB0eXBlOiBBdHRyaWJ1dGVUeXBlLlNUUklORyxcbiAgICAgICAgfSxcbiAgICAgICAgcHJvamVjdGlvblR5cGU6IFByb2plY3Rpb25UeXBlLkFMTCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGluZGV4TmFtZTogXCJnc2kySW5kZXhcIixcbiAgICAgICAgcGFydGl0aW9uS2V5OiB7XG4gICAgICAgICAgbmFtZTogXCJnc2kycGtcIixcbiAgICAgICAgICB0eXBlOiBBdHRyaWJ1dGVUeXBlLlNUUklORyxcbiAgICAgICAgfSxcbiAgICAgICAgc29ydEtleToge1xuICAgICAgICAgIG5hbWU6IFwiZ3NpMnNrXCIsXG4gICAgICAgICAgdHlwZTogQXR0cmlidXRlVHlwZS5TVFJJTkcsXG4gICAgICAgIH0sXG4gICAgICAgIHByb2plY3Rpb25UeXBlOiBQcm9qZWN0aW9uVHlwZS5BTEwsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpbmRleE5hbWU6IFwiZ3NpM0luZGV4XCIsXG4gICAgICAgIHBhcnRpdGlvbktleToge1xuICAgICAgICAgIG5hbWU6IFwiZ3NpM3BrXCIsXG4gICAgICAgICAgdHlwZTogQXR0cmlidXRlVHlwZS5TVFJJTkcsXG4gICAgICAgIH0sXG4gICAgICAgIHNvcnRLZXk6IHtcbiAgICAgICAgICBuYW1lOiBcImdzaTNza1wiLFxuICAgICAgICAgIHR5cGU6IEF0dHJpYnV0ZVR5cGUuU1RSSU5HLFxuICAgICAgICB9LFxuICAgICAgICBwcm9qZWN0aW9uVHlwZTogUHJvamVjdGlvblR5cGUuQUxMLFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgZ3NpSW5kZXhlcy5tYXAoKGdzaSkgPT4ge1xuICAgICAgY29uc3QgZ3NpUHJvcHM6IEdsb2JhbFNlY29uZGFyeUluZGV4UHJvcHMgPSB7XG4gICAgICAgIGluZGV4TmFtZTogZ3NpLmluZGV4TmFtZSxcbiAgICAgICAgcGFydGl0aW9uS2V5OiBnc2kucGFydGl0aW9uS2V5LFxuICAgICAgICBzb3J0S2V5OiBnc2kuc29ydEtleSxcbiAgICAgICAgcHJvamVjdGlvblR5cGU6IGdzaS5wcm9qZWN0aW9uVHlwZSxcbiAgICAgIH07XG5cbiAgICAgIGRiVGFibGUuYWRkR2xvYmFsU2Vjb25kYXJ5SW5kZXgoZ3NpUHJvcHMpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGRiVGFibGU7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlT3V0cHV0PFQ+KHNjb3BlOiBDb25zdHJ1Y3QpOiB2b2lkIHtcbiAgICBuZXcgQ2ZuT3V0cHV0KHNjb3BlLCBgZHluYW1vVGFibGUtJHt0aGlzLnRhYmxlTmFtZX1gLCB7XG4gICAgICB2YWx1ZTogYFRhYmxlIE5hbWU6ICR7dGhpcy50YWJsZU5hbWV9YCxcbiAgICB9KTtcbiAgfVxufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sylvesterllc/aws-constructs",
3
- "version": "1.1.33",
3
+ "version": "1.1.35",
4
4
  "description": "AWS Constructs",
5
5
  "main": "dist/index.js",
6
6
  "keywords": [
@@ -2,12 +2,9 @@ import { Construct } from "constructs";
2
2
  import { CreateDynamoSingleTableDesign } from "../resources/dynamodb/CreateDynamoSingleTableDesign";
3
3
 
4
4
  export class DynamoDbSingleTable extends Construct {
5
+ constructor(scope: Construct, id: string, tableName: string) {
6
+ super(scope, id);
5
7
 
6
- constructor(scope: Construct, id: string, tableName: string) {
7
- super(scope, id); {
8
-
9
- new CreateDynamoSingleTableDesign(this, tableName);
10
-
11
- }
12
- }
13
- }
8
+ new CreateDynamoSingleTableDesign(this, tableName);
9
+ }
10
+ }
@@ -1,112 +1,112 @@
1
1
  import { CfnOutput, RemovalPolicy } from "aws-cdk-lib";
2
- import { AttributeType, BillingMode, GlobalSecondaryIndexProps, ProjectionType, Table, TableProps } from "aws-cdk-lib/aws-dynamodb";
2
+ import {
3
+ AttributeType,
4
+ BillingMode,
5
+ GlobalSecondaryIndexProps,
6
+ ProjectionType,
7
+ Table,
8
+ TableProps,
9
+ } from "aws-cdk-lib/aws-dynamodb";
3
10
  import { Construct } from "constructs";
4
11
  import { TsgBaseResource } from "../base/tsgBaseResource";
5
12
 
6
-
7
13
  export class CreateDynamoSingleTableDesign extends TsgBaseResource<Table, string> {
8
-
14
+
9
15
  static ReadWriteActions: string[] = [
10
- "dynamodb:BatchGetItem",
11
- "dynamodb:BatchWriteItem",
12
- "dynamodb:ConditionCheckItem",
13
- "dynamodb:DeleteItem",
14
- "dynamodb:DescribeTable",
15
- "dynamodb:GetItem",
16
- "dynamodb:GetRecords",
17
- "dynamodb:GetShardIterator",
18
- "dynamodb:PutItem",
19
- "dynamodb:Query",
20
- "dynamodb:Scan",
21
- "dynamodb:UpdateItem",
16
+ "dynamodb:BatchGetItem",
17
+ "dynamodb:BatchWriteItem",
18
+ "dynamodb:ConditionCheckItem",
19
+ "dynamodb:DeleteItem",
20
+ "dynamodb:DescribeTable",
21
+ "dynamodb:GetItem",
22
+ "dynamodb:GetRecords",
23
+ "dynamodb:GetShardIterator",
24
+ "dynamodb:PutItem",
25
+ "dynamodb:Query",
26
+ "dynamodb:Scan",
27
+ "dynamodb:UpdateItem",
28
+ ];
29
+
30
+ get CreatedTable() {
31
+ return this.createdResource;
32
+ }
33
+
34
+ constructor(scope: Construct, private tableName: string) {
35
+ super(scope, tableName);
36
+ }
37
+
38
+ protected createResource(scope: Construct): Table {
39
+ const dbTable = new Table(scope, `db-table-${this.tableName}`, {
40
+ tableName: this.tableName,
41
+ removalPolicy: RemovalPolicy.DESTROY,
42
+
43
+ partitionKey: {
44
+ name: "pk",
45
+ type: AttributeType.STRING,
46
+ },
47
+ sortKey: {
48
+ name: "sk",
49
+ type: AttributeType.STRING,
50
+ },
51
+ billingMode: BillingMode.PAY_PER_REQUEST,
52
+ });
53
+
54
+ const gsiIndexes = [
55
+ {
56
+ indexName: "gsi1Index",
57
+ partitionKey: {
58
+ name: "gsi1pk",
59
+ type: AttributeType.STRING,
60
+ },
61
+ sortKey: {
62
+ name: "gsi1sk",
63
+ type: AttributeType.STRING,
64
+ },
65
+ projectionType: ProjectionType.ALL,
66
+ },
67
+ {
68
+ indexName: "gsi2Index",
69
+ partitionKey: {
70
+ name: "gsi2pk",
71
+ type: AttributeType.STRING,
72
+ },
73
+ sortKey: {
74
+ name: "gsi2sk",
75
+ type: AttributeType.STRING,
76
+ },
77
+ projectionType: ProjectionType.ALL,
78
+ },
79
+ {
80
+ indexName: "gsi3Index",
81
+ partitionKey: {
82
+ name: "gsi3pk",
83
+ type: AttributeType.STRING,
84
+ },
85
+ sortKey: {
86
+ name: "gsi3sk",
87
+ type: AttributeType.STRING,
88
+ },
89
+ projectionType: ProjectionType.ALL,
90
+ },
22
91
  ];
23
92
 
24
- get CreatedTable() {
25
- return this.createdResource;
26
- }
27
-
28
- constructor(protected scope: Construct, protected tableName: string) {
29
- super(scope, tableName);
30
- }
31
-
32
- protected createResource(scope: Construct): Table {
33
-
34
- const dbTable = new Table(scope, `${this.tableName}`, {
35
- tableName: this.tableName,
36
- removalPolicy: RemovalPolicy.DESTROY,
37
-
38
- partitionKey: {
39
- name: 'pk',
40
- type: AttributeType.STRING,
41
- },
42
- sortKey: {
43
- name: 'sk',
44
- type: AttributeType.STRING,
45
- },
46
- billingMode: BillingMode.PAY_PER_REQUEST,
47
- });
48
-
49
- const gsiIndexes = [
50
- {
51
- indexName: 'gsi1Index',
52
- partitionKey: {
53
- name: 'gsi1pk',
54
- type: AttributeType.STRING
55
- },
56
- sortKey: {
57
- name: 'gsi1sk',
58
- type: AttributeType.STRING
59
- },
60
- projectionType: ProjectionType.ALL
61
- },
62
- {
63
- indexName: 'gsi2Index',
64
- partitionKey: {
65
- name: 'gsi2pk',
66
- type: AttributeType.STRING
67
- },
68
- sortKey: {
69
- name: 'gsi2sk',
70
- type: AttributeType.STRING
71
- },
72
- projectionType: ProjectionType.ALL
73
- },
74
- {
75
- indexName: 'gsi3Index',
76
- partitionKey: {
77
- name: 'gsi3pk',
78
- type: AttributeType.STRING
79
- },
80
- sortKey: {
81
- name: 'gsi3sk',
82
- type: AttributeType.STRING
83
- },
84
- projectionType: ProjectionType.ALL
85
- },
86
- ];
87
-
88
- gsiIndexes.map((gsi) => {
89
-
90
- const gsiProps: GlobalSecondaryIndexProps = {
91
- indexName: gsi.indexName,
92
- partitionKey: gsi.partitionKey,
93
- sortKey: gsi.sortKey,
94
- projectionType: gsi.projectionType
95
-
96
- };
97
-
98
- dbTable.addGlobalSecondaryIndex(gsiProps);
99
- });
100
-
101
- return dbTable;
102
- }
103
-
104
-
105
- protected createOutput<T>(scope: Construct): void {
106
-
107
- new CfnOutput(scope, `dynamoTable-${this.tableName}`, {
108
- value: `Table Name: ${this.tableName}`
109
- });
110
-
111
- }
112
- }
93
+ gsiIndexes.map((gsi) => {
94
+ const gsiProps: GlobalSecondaryIndexProps = {
95
+ indexName: gsi.indexName,
96
+ partitionKey: gsi.partitionKey,
97
+ sortKey: gsi.sortKey,
98
+ projectionType: gsi.projectionType,
99
+ };
100
+
101
+ dbTable.addGlobalSecondaryIndex(gsiProps);
102
+ });
103
+
104
+ return dbTable;
105
+ }
106
+
107
+ protected createOutput<T>(scope: Construct): void {
108
+ new CfnOutput(scope, `dynamoTable-${this.tableName}`, {
109
+ value: `Table Name: ${this.tableName}`,
110
+ });
111
+ }
112
+ }