@sylvesterllc/aws-constructs 1.1.32 → 1.1.34

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,6 @@ 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;
7
5
  static ReadWriteActions: string[];
8
6
  get CreatedTable(): Table | null;
9
7
  constructor(scope: Construct, tableName: string);
@@ -5,8 +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
- tableName;
10
8
  static ReadWriteActions = [
11
9
  "dynamodb:BatchGetItem",
12
10
  "dynamodb:BatchWriteItem",
@@ -26,59 +24,57 @@ class CreateDynamoSingleTableDesign extends tsgBaseResource_1.TsgBaseResource {
26
24
  }
27
25
  constructor(scope, tableName) {
28
26
  super(scope, tableName);
29
- this.scope = scope;
30
- this.tableName = tableName;
31
27
  }
32
28
  createResource(scope) {
33
- const dbTable = new aws_dynamodb_1.Table(scope, `${this.tableName}`, {
34
- tableName: this.tableName,
29
+ const dbTable = new aws_dynamodb_1.Table(scope, `${this.config}`, {
30
+ tableName: this.config,
35
31
  removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
36
32
  partitionKey: {
37
- name: 'pk',
33
+ name: "pk",
38
34
  type: aws_dynamodb_1.AttributeType.STRING,
39
35
  },
40
36
  sortKey: {
41
- name: 'sk',
37
+ name: "sk",
42
38
  type: aws_dynamodb_1.AttributeType.STRING,
43
39
  },
44
40
  billingMode: aws_dynamodb_1.BillingMode.PAY_PER_REQUEST,
45
41
  });
46
42
  const gsiIndexes = [
47
43
  {
48
- indexName: 'gsi1Index',
44
+ indexName: "gsi1Index",
49
45
  partitionKey: {
50
- name: 'gsi1pk',
51
- type: aws_dynamodb_1.AttributeType.STRING
46
+ name: "gsi1pk",
47
+ type: aws_dynamodb_1.AttributeType.STRING,
52
48
  },
53
49
  sortKey: {
54
- name: 'gsi1sk',
55
- type: aws_dynamodb_1.AttributeType.STRING
50
+ name: "gsi1sk",
51
+ type: aws_dynamodb_1.AttributeType.STRING,
56
52
  },
57
- projectionType: aws_dynamodb_1.ProjectionType.ALL
53
+ projectionType: aws_dynamodb_1.ProjectionType.ALL,
58
54
  },
59
55
  {
60
- indexName: 'gsi2Index',
56
+ indexName: "gsi2Index",
61
57
  partitionKey: {
62
- name: 'gsi2pk',
63
- type: aws_dynamodb_1.AttributeType.STRING
58
+ name: "gsi2pk",
59
+ type: aws_dynamodb_1.AttributeType.STRING,
64
60
  },
65
61
  sortKey: {
66
- name: 'gsi2sk',
67
- type: aws_dynamodb_1.AttributeType.STRING
62
+ name: "gsi2sk",
63
+ type: aws_dynamodb_1.AttributeType.STRING,
68
64
  },
69
- projectionType: aws_dynamodb_1.ProjectionType.ALL
65
+ projectionType: aws_dynamodb_1.ProjectionType.ALL,
70
66
  },
71
67
  {
72
- indexName: 'gsi3Index',
68
+ indexName: "gsi3Index",
73
69
  partitionKey: {
74
- name: 'gsi3pk',
75
- type: aws_dynamodb_1.AttributeType.STRING
70
+ name: "gsi3pk",
71
+ type: aws_dynamodb_1.AttributeType.STRING,
76
72
  },
77
73
  sortKey: {
78
- name: 'gsi3sk',
79
- type: aws_dynamodb_1.AttributeType.STRING
74
+ name: "gsi3sk",
75
+ type: aws_dynamodb_1.AttributeType.STRING,
80
76
  },
81
- projectionType: aws_dynamodb_1.ProjectionType.ALL
77
+ projectionType: aws_dynamodb_1.ProjectionType.ALL,
82
78
  },
83
79
  ];
84
80
  gsiIndexes.map((gsi) => {
@@ -86,17 +82,17 @@ class CreateDynamoSingleTableDesign extends tsgBaseResource_1.TsgBaseResource {
86
82
  indexName: gsi.indexName,
87
83
  partitionKey: gsi.partitionKey,
88
84
  sortKey: gsi.sortKey,
89
- projectionType: gsi.projectionType
85
+ projectionType: gsi.projectionType,
90
86
  };
91
87
  dbTable.addGlobalSecondaryIndex(gsiProps);
92
88
  });
93
89
  return dbTable;
94
90
  }
95
91
  createOutput(scope) {
96
- new aws_cdk_lib_1.CfnOutput(scope, `dynamoTable-${this.tableName}`, {
97
- value: `Table Name: ${this.tableName}`
92
+ new aws_cdk_lib_1.CfnOutput(scope, `dynamoTable-${this.config}`, {
93
+ value: `Table Name: ${this.config}`,
98
94
  });
99
95
  }
100
96
  }
101
97
  exports.CreateDynamoSingleTableDesign = CreateDynamoSingleTableDesign;
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlYXRlRHluYW1vU2luZ2xlVGFibGVEZXNpZ24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVzb3VyY2VzL2R5bmFtb2RiL0NyZWF0ZUR5bmFtb1NpbmdsZVRhYmxlRGVzaWduLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUF1RDtBQUN2RCwyREFBb0k7QUFFcEksNkRBQTBEO0FBRzFELE1BQWEsNkJBQThCLFNBQVEsaUNBQThCO0lBcUJ2RDtJQUE0QjtJQW5CbEQsTUFBTSxDQUFDLGdCQUFnQixHQUFhO1FBQ2hDLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIsNkJBQTZCO1FBQzdCLHFCQUFxQjtRQUNyQix3QkFBd0I7UUFDeEIsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQiwyQkFBMkI7UUFDM0Isa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YscUJBQXFCO0tBQ3hCLENBQUM7SUFFRixJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQXNCLEtBQWdCLEVBQVksU0FBaUI7UUFDL0QsS0FBSyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQUROLFVBQUssR0FBTCxLQUFLLENBQVc7UUFBWSxjQUFTLEdBQVQsU0FBUyxDQUFRO0lBRW5FLENBQUM7SUFFUyxjQUFjLENBQUMsS0FBZ0I7UUFFckMsTUFBTSxPQUFPLEdBQUcsSUFBSSxvQkFBSyxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNsRCxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsYUFBYSxFQUFFLDJCQUFhLENBQUMsT0FBTztZQUVwQyxZQUFZLEVBQUU7Z0JBQ1YsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsSUFBSSxFQUFFLDRCQUFhLENBQUMsTUFBTTthQUM3QjtZQUNELE9BQU8sRUFBRTtnQkFDTCxJQUFJLEVBQUUsSUFBSTtnQkFDVixJQUFJLEVBQUUsNEJBQWEsQ0FBQyxNQUFNO2FBQzdCO1lBQ0QsV0FBVyxFQUFFLDBCQUFXLENBQUMsZUFBZTtTQUMzQyxDQUFDLENBQUM7UUFFSCxNQUFNLFVBQVUsR0FBRztZQUNmO2dCQUNJLFNBQVMsRUFBRSxXQUFXO2dCQUN0QixZQUFZLEVBQUU7b0JBQ1YsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsSUFBSSxFQUFFLDRCQUFhLENBQUMsTUFBTTtpQkFDN0I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLElBQUksRUFBRSxRQUFRO29CQUNkLElBQUksRUFBRSw0QkFBYSxDQUFDLE1BQU07aUJBQzdCO2dCQUNELGNBQWMsRUFBRSw2QkFBYyxDQUFDLEdBQUc7YUFDckM7WUFDRDtnQkFDSSxTQUFTLEVBQUUsV0FBVztnQkFDdEIsWUFBWSxFQUFFO29CQUNWLElBQUksRUFBRSxRQUFRO29CQUNkLElBQUksRUFBRSw0QkFBYSxDQUFDLE1BQU07aUJBQzdCO2dCQUNELE9BQU8sRUFBRTtvQkFDTCxJQUFJLEVBQUUsUUFBUTtvQkFDZCxJQUFJLEVBQUUsNEJBQWEsQ0FBQyxNQUFNO2lCQUM3QjtnQkFDRCxjQUFjLEVBQUUsNkJBQWMsQ0FBQyxHQUFHO2FBQ3JDO1lBQ0Q7Z0JBQ0ksU0FBUyxFQUFFLFdBQVc7Z0JBQ3RCLFlBQVksRUFBRTtvQkFDVixJQUFJLEVBQUUsUUFBUTtvQkFDZCxJQUFJLEVBQUUsNEJBQWEsQ0FBQyxNQUFNO2lCQUM3QjtnQkFDRCxPQUFPLEVBQUU7b0JBQ0wsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsSUFBSSxFQUFFLDRCQUFhLENBQUMsTUFBTTtpQkFDN0I7Z0JBQ0QsY0FBYyxFQUFFLDZCQUFjLENBQUMsR0FBRzthQUNyQztTQUNKLENBQUM7UUFFRixVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFFbkIsTUFBTSxRQUFRLEdBQThCO2dCQUN4QyxTQUFTLEVBQUUsR0FBRyxDQUFDLFNBQVM7Z0JBQ3hCLFlBQVksRUFBRSxHQUFHLENBQUMsWUFBWTtnQkFDOUIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPO2dCQUNwQixjQUFjLEVBQUUsR0FBRyxDQUFDLGNBQWM7YUFFckMsQ0FBQztZQUVGLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFHUyxZQUFZLENBQUksS0FBZ0I7UUFFdEMsSUFBSSx1QkFBUyxDQUFDLEtBQUssRUFBRSxlQUFlLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNsRCxLQUFLLEVBQUUsZUFBZSxJQUFJLENBQUMsU0FBUyxFQUFFO1NBQ3pDLENBQUMsQ0FBQztJQUVQLENBQUM7O0FBeEdMLHNFQXlHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENmbk91dHB1dCwgUmVtb3ZhbFBvbGljeSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQXR0cmlidXRlVHlwZSwgQmlsbGluZ01vZGUsIEdsb2JhbFNlY29uZGFyeUluZGV4UHJvcHMsIFByb2plY3Rpb25UeXBlLCBUYWJsZSwgVGFibGVQcm9wcyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZHluYW1vZGJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUc2dCYXNlUmVzb3VyY2UgfSBmcm9tIFwiLi4vYmFzZS90c2dCYXNlUmVzb3VyY2VcIjtcblxuXG5leHBvcnQgY2xhc3MgQ3JlYXRlRHluYW1vU2luZ2xlVGFibGVEZXNpZ24gZXh0ZW5kcyBUc2dCYXNlUmVzb3VyY2U8VGFibGUsIHN0cmluZz4ge1xuXG4gICAgc3RhdGljIFJlYWRXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuICAgICAgICBcImR5bmFtb2RiOkJhdGNoR2V0SXRlbVwiLFxuICAgICAgICBcImR5bmFtb2RiOkJhdGNoV3JpdGVJdGVtXCIsXG4gICAgICAgIFwiZHluYW1vZGI6Q29uZGl0aW9uQ2hlY2tJdGVtXCIsXG4gICAgICAgIFwiZHluYW1vZGI6RGVsZXRlSXRlbVwiLFxuICAgICAgICBcImR5bmFtb2RiOkRlc2NyaWJlVGFibGVcIixcbiAgICAgICAgXCJkeW5hbW9kYjpHZXRJdGVtXCIsXG4gICAgICAgIFwiZHluYW1vZGI6R2V0UmVjb3Jkc1wiLFxuICAgICAgICBcImR5bmFtb2RiOkdldFNoYXJkSXRlcmF0b3JcIixcbiAgICAgICAgXCJkeW5hbW9kYjpQdXRJdGVtXCIsXG4gICAgICAgIFwiZHluYW1vZGI6UXVlcnlcIixcbiAgICAgICAgXCJkeW5hbW9kYjpTY2FuXCIsXG4gICAgICAgIFwiZHluYW1vZGI6VXBkYXRlSXRlbVwiLFxuICAgIF07XG5cbiAgICBnZXQgQ3JlYXRlZFRhYmxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVkUmVzb3VyY2U7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHNjb3BlOiBDb25zdHJ1Y3QsIHByb3RlY3RlZCB0YWJsZU5hbWU6IHN0cmluZykge1xuICAgICAgICBzdXBlcihzY29wZSwgdGFibGVOYW1lKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlUmVzb3VyY2Uoc2NvcGU6IENvbnN0cnVjdCk6IFRhYmxlIHtcblxuICAgICAgICBjb25zdCBkYlRhYmxlID0gbmV3IFRhYmxlKHNjb3BlLCBgJHt0aGlzLnRhYmxlTmFtZX1gLCB7XG4gICAgICAgICAgICB0YWJsZU5hbWU6IHRoaXMudGFibGVOYW1lLFxuICAgICAgICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuXG4gICAgICAgICAgICBwYXJ0aXRpb25LZXk6IHtcbiAgICAgICAgICAgICAgICBuYW1lOiAncGsnLFxuICAgICAgICAgICAgICAgIHR5cGU6IEF0dHJpYnV0ZVR5cGUuU1RSSU5HLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNvcnRLZXk6IHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnc2snLFxuICAgICAgICAgICAgICAgIHR5cGU6IEF0dHJpYnV0ZVR5cGUuU1RSSU5HLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGJpbGxpbmdNb2RlOiBCaWxsaW5nTW9kZS5QQVlfUEVSX1JFUVVFU1QsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGdzaUluZGV4ZXMgPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaW5kZXhOYW1lOiAnZ3NpMUluZGV4JyxcbiAgICAgICAgICAgICAgICBwYXJ0aXRpb25LZXk6IHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2dzaTFwaycsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IEF0dHJpYnV0ZVR5cGUuU1RSSU5HXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBzb3J0S2V5OiB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdnc2kxc2snLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBBdHRyaWJ1dGVUeXBlLlNUUklOR1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgcHJvamVjdGlvblR5cGU6IFByb2plY3Rpb25UeXBlLkFMTFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpbmRleE5hbWU6ICdnc2kySW5kZXgnLFxuICAgICAgICAgICAgICAgIHBhcnRpdGlvbktleToge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnZ3NpMnBrJyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogQXR0cmlidXRlVHlwZS5TVFJJTkdcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHNvcnRLZXk6IHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2dzaTJzaycsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IEF0dHJpYnV0ZVR5cGUuU1RSSU5HXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBwcm9qZWN0aW9uVHlwZTogUHJvamVjdGlvblR5cGUuQUxMXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGluZGV4TmFtZTogJ2dzaTNJbmRleCcsXG4gICAgICAgICAgICAgICAgcGFydGl0aW9uS2V5OiB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdnc2kzcGsnLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBBdHRyaWJ1dGVUeXBlLlNUUklOR1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgc29ydEtleToge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnZ3NpM3NrJyxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogQXR0cmlidXRlVHlwZS5TVFJJTkdcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHByb2plY3Rpb25UeXBlOiBQcm9qZWN0aW9uVHlwZS5BTExcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF07XG5cbiAgICAgICAgZ3NpSW5kZXhlcy5tYXAoKGdzaSkgPT4ge1xuXG4gICAgICAgICAgICBjb25zdCBnc2lQcm9wczogR2xvYmFsU2Vjb25kYXJ5SW5kZXhQcm9wcyA9IHtcbiAgICAgICAgICAgICAgICBpbmRleE5hbWU6IGdzaS5pbmRleE5hbWUsXG4gICAgICAgICAgICAgICAgcGFydGl0aW9uS2V5OiBnc2kucGFydGl0aW9uS2V5LFxuICAgICAgICAgICAgICAgIHNvcnRLZXk6IGdzaS5zb3J0S2V5LFxuICAgICAgICAgICAgICAgIHByb2plY3Rpb25UeXBlOiBnc2kucHJvamVjdGlvblR5cGVcblxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgZGJUYWJsZS5hZGRHbG9iYWxTZWNvbmRhcnlJbmRleChnc2lQcm9wcyk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBkYlRhYmxlO1xuICAgIH1cblxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZU91dHB1dDxUPihzY29wZTogQ29uc3RydWN0KTogdm9pZCB7XG5cbiAgICAgICAgbmV3IENmbk91dHB1dChzY29wZSwgYGR5bmFtb1RhYmxlLSR7dGhpcy50YWJsZU5hbWV9YCwge1xuICAgICAgICAgICAgdmFsdWU6IGBUYWJsZSBOYW1lOiAke3RoaXMudGFibGVOYW1lfWBcbiAgICAgICAgfSk7XG5cbiAgICB9XG59Il19
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlYXRlRHluYW1vU2luZ2xlVGFibGVEZXNpZ24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVzb3VyY2VzL2R5bmFtb2RiL0NyZWF0ZUR5bmFtb1NpbmdsZVRhYmxlRGVzaWduLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUF1RDtBQUN2RCwyREFPa0M7QUFFbEMsNkRBQTBEO0FBRTFELE1BQWEsNkJBQThCLFNBQVEsaUNBR2xEO0lBQ0MsTUFBTSxDQUFDLGdCQUFnQixHQUFhO1FBQ2xDLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIsNkJBQTZCO1FBQzdCLHFCQUFxQjtRQUNyQix3QkFBd0I7UUFDeEIsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQiwyQkFBMkI7UUFDM0Isa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YscUJBQXFCO0tBQ3RCLENBQUM7SUFFRixJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUVELFlBQVksS0FBZ0IsRUFBRSxTQUFpQjtRQUM3QyxLQUFLLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFUyxjQUFjLENBQUMsS0FBZ0I7UUFDdkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxvQkFBSyxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNqRCxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDdEIsYUFBYSxFQUFFLDJCQUFhLENBQUMsT0FBTztZQUVwQyxZQUFZLEVBQUU7Z0JBQ1osSUFBSSxFQUFFLElBQUk7Z0JBQ1YsSUFBSSxFQUFFLDRCQUFhLENBQUMsTUFBTTthQUMzQjtZQUNELE9BQU8sRUFBRTtnQkFDUCxJQUFJLEVBQUUsSUFBSTtnQkFDVixJQUFJLEVBQUUsNEJBQWEsQ0FBQyxNQUFNO2FBQzNCO1lBQ0QsV0FBVyxFQUFFLDBCQUFXLENBQUMsZUFBZTtTQUN6QyxDQUFDLENBQUM7UUFFSCxNQUFNLFVBQVUsR0FBRztZQUNqQjtnQkFDRSxTQUFTLEVBQUUsV0FBVztnQkFDdEIsWUFBWSxFQUFFO29CQUNaLElBQUksRUFBRSxRQUFRO29CQUNkLElBQUksRUFBRSw0QkFBYSxDQUFDLE1BQU07aUJBQzNCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxJQUFJLEVBQUUsUUFBUTtvQkFDZCxJQUFJLEVBQUUsNEJBQWEsQ0FBQyxNQUFNO2lCQUMzQjtnQkFDRCxjQUFjLEVBQUUsNkJBQWMsQ0FBQyxHQUFHO2FBQ25DO1lBQ0Q7Z0JBQ0UsU0FBUyxFQUFFLFdBQVc7Z0JBQ3RCLFlBQVksRUFBRTtvQkFDWixJQUFJLEVBQUUsUUFBUTtvQkFDZCxJQUFJLEVBQUUsNEJBQWEsQ0FBQyxNQUFNO2lCQUMzQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsSUFBSSxFQUFFLDRCQUFhLENBQUMsTUFBTTtpQkFDM0I7Z0JBQ0QsY0FBYyxFQUFFLDZCQUFjLENBQUMsR0FBRzthQUNuQztZQUNEO2dCQUNFLFNBQVMsRUFBRSxXQUFXO2dCQUN0QixZQUFZLEVBQUU7b0JBQ1osSUFBSSxFQUFFLFFBQVE7b0JBQ2QsSUFBSSxFQUFFLDRCQUFhLENBQUMsTUFBTTtpQkFDM0I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLElBQUksRUFBRSxRQUFRO29CQUNkLElBQUksRUFBRSw0QkFBYSxDQUFDLE1BQU07aUJBQzNCO2dCQUNELGNBQWMsRUFBRSw2QkFBYyxDQUFDLEdBQUc7YUFDbkM7U0FDRixDQUFDO1FBRUYsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3JCLE1BQU0sUUFBUSxHQUE4QjtnQkFDMUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxTQUFTO2dCQUN4QixZQUFZLEVBQUUsR0FBRyxDQUFDLFlBQVk7Z0JBQzlCLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTztnQkFDcEIsY0FBYyxFQUFFLEdBQUcsQ0FBQyxjQUFjO2FBQ25DLENBQUM7WUFFRixPQUFPLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRVMsWUFBWSxDQUFJLEtBQWdCO1FBQ3hDLElBQUksdUJBQVMsQ0FBQyxLQUFLLEVBQUUsZUFBZSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDakQsS0FBSyxFQUFFLGVBQWUsSUFBSSxDQUFDLE1BQU0sRUFBRTtTQUNwQyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQXBHSCxzRUFxR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5PdXRwdXQsIFJlbW92YWxQb2xpY3kgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7XG4gIEF0dHJpYnV0ZVR5cGUsXG4gIEJpbGxpbmdNb2RlLFxuICBHbG9iYWxTZWNvbmRhcnlJbmRleFByb3BzLFxuICBQcm9qZWN0aW9uVHlwZSxcbiAgVGFibGUsXG4gIFRhYmxlUHJvcHMsXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZHluYW1vZGJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUc2dCYXNlUmVzb3VyY2UgfSBmcm9tIFwiLi4vYmFzZS90c2dCYXNlUmVzb3VyY2VcIjtcblxuZXhwb3J0IGNsYXNzIENyZWF0ZUR5bmFtb1NpbmdsZVRhYmxlRGVzaWduIGV4dGVuZHMgVHNnQmFzZVJlc291cmNlPFxuICBUYWJsZSxcbiAgc3RyaW5nXG4+IHtcbiAgc3RhdGljIFJlYWRXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuICAgIFwiZHluYW1vZGI6QmF0Y2hHZXRJdGVtXCIsXG4gICAgXCJkeW5hbW9kYjpCYXRjaFdyaXRlSXRlbVwiLFxuICAgIFwiZHluYW1vZGI6Q29uZGl0aW9uQ2hlY2tJdGVtXCIsXG4gICAgXCJkeW5hbW9kYjpEZWxldGVJdGVtXCIsXG4gICAgXCJkeW5hbW9kYjpEZXNjcmliZVRhYmxlXCIsXG4gICAgXCJkeW5hbW9kYjpHZXRJdGVtXCIsXG4gICAgXCJkeW5hbW9kYjpHZXRSZWNvcmRzXCIsXG4gICAgXCJkeW5hbW9kYjpHZXRTaGFyZEl0ZXJhdG9yXCIsXG4gICAgXCJkeW5hbW9kYjpQdXRJdGVtXCIsXG4gICAgXCJkeW5hbW9kYjpRdWVyeVwiLFxuICAgIFwiZHluYW1vZGI6U2NhblwiLFxuICAgIFwiZHluYW1vZGI6VXBkYXRlSXRlbVwiLFxuICBdO1xuXG4gIGdldCBDcmVhdGVkVGFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlZFJlc291cmNlO1xuICB9XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgdGFibGVOYW1lOiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgdGFibGVOYW1lKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVSZXNvdXJjZShzY29wZTogQ29uc3RydWN0KTogVGFibGUge1xuICAgIGNvbnN0IGRiVGFibGUgPSBuZXcgVGFibGUoc2NvcGUsIGAke3RoaXMuY29uZmlnfWAsIHtcbiAgICAgIHRhYmxlTmFtZTogdGhpcy5jb25maWcsXG4gICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG5cbiAgICAgIHBhcnRpdGlvbktleToge1xuICAgICAgICBuYW1lOiBcInBrXCIsXG4gICAgICAgIHR5cGU6IEF0dHJpYnV0ZVR5cGUuU1RSSU5HLFxuICAgICAgfSxcbiAgICAgIHNvcnRLZXk6IHtcbiAgICAgICAgbmFtZTogXCJza1wiLFxuICAgICAgICB0eXBlOiBBdHRyaWJ1dGVUeXBlLlNUUklORyxcbiAgICAgIH0sXG4gICAgICBiaWxsaW5nTW9kZTogQmlsbGluZ01vZGUuUEFZX1BFUl9SRVFVRVNULFxuICAgIH0pO1xuXG4gICAgY29uc3QgZ3NpSW5kZXhlcyA9IFtcbiAgICAgIHtcbiAgICAgICAgaW5kZXhOYW1lOiBcImdzaTFJbmRleFwiLFxuICAgICAgICBwYXJ0aXRpb25LZXk6IHtcbiAgICAgICAgICBuYW1lOiBcImdzaTFwa1wiLFxuICAgICAgICAgIHR5cGU6IEF0dHJpYnV0ZVR5cGUuU1RSSU5HLFxuICAgICAgICB9LFxuICAgICAgICBzb3J0S2V5OiB7XG4gICAgICAgICAgbmFtZTogXCJnc2kxc2tcIixcbiAgICAgICAgICB0eXBlOiBBdHRyaWJ1dGVUeXBlLlNUUklORyxcbiAgICAgICAgfSxcbiAgICAgICAgcHJvamVjdGlvblR5cGU6IFByb2plY3Rpb25UeXBlLkFMTCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGluZGV4TmFtZTogXCJnc2kySW5kZXhcIixcbiAgICAgICAgcGFydGl0aW9uS2V5OiB7XG4gICAgICAgICAgbmFtZTogXCJnc2kycGtcIixcbiAgICAgICAgICB0eXBlOiBBdHRyaWJ1dGVUeXBlLlNUUklORyxcbiAgICAgICAgfSxcbiAgICAgICAgc29ydEtleToge1xuICAgICAgICAgIG5hbWU6IFwiZ3NpMnNrXCIsXG4gICAgICAgICAgdHlwZTogQXR0cmlidXRlVHlwZS5TVFJJTkcsXG4gICAgICAgIH0sXG4gICAgICAgIHByb2plY3Rpb25UeXBlOiBQcm9qZWN0aW9uVHlwZS5BTEwsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpbmRleE5hbWU6IFwiZ3NpM0luZGV4XCIsXG4gICAgICAgIHBhcnRpdGlvbktleToge1xuICAgICAgICAgIG5hbWU6IFwiZ3NpM3BrXCIsXG4gICAgICAgICAgdHlwZTogQXR0cmlidXRlVHlwZS5TVFJJTkcsXG4gICAgICAgIH0sXG4gICAgICAgIHNvcnRLZXk6IHtcbiAgICAgICAgICBuYW1lOiBcImdzaTNza1wiLFxuICAgICAgICAgIHR5cGU6IEF0dHJpYnV0ZVR5cGUuU1RSSU5HLFxuICAgICAgICB9LFxuICAgICAgICBwcm9qZWN0aW9uVHlwZTogUHJvamVjdGlvblR5cGUuQUxMLFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgZ3NpSW5kZXhlcy5tYXAoKGdzaSkgPT4ge1xuICAgICAgY29uc3QgZ3NpUHJvcHM6IEdsb2JhbFNlY29uZGFyeUluZGV4UHJvcHMgPSB7XG4gICAgICAgIGluZGV4TmFtZTogZ3NpLmluZGV4TmFtZSxcbiAgICAgICAgcGFydGl0aW9uS2V5OiBnc2kucGFydGl0aW9uS2V5LFxuICAgICAgICBzb3J0S2V5OiBnc2kuc29ydEtleSxcbiAgICAgICAgcHJvamVjdGlvblR5cGU6IGdzaS5wcm9qZWN0aW9uVHlwZSxcbiAgICAgIH07XG5cbiAgICAgIGRiVGFibGUuYWRkR2xvYmFsU2Vjb25kYXJ5SW5kZXgoZ3NpUHJvcHMpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGRiVGFibGU7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlT3V0cHV0PFQ+KHNjb3BlOiBDb25zdHJ1Y3QpOiB2b2lkIHtcbiAgICBuZXcgQ2ZuT3V0cHV0KHNjb3BlLCBgZHluYW1vVGFibGUtJHt0aGlzLmNvbmZpZ31gLCB7XG4gICAgICB2YWx1ZTogYFRhYmxlIE5hbWU6ICR7dGhpcy5jb25maWd9YCxcbiAgICB9KTtcbiAgfVxufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sylvesterllc/aws-constructs",
3
- "version": "1.1.32",
3
+ "version": "1.1.34",
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,114 @@
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
- export class CreateDynamoSingleTableDesign extends TsgBaseResource<Table, string> {
8
-
9
- 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",
13
+ export class CreateDynamoSingleTableDesign extends TsgBaseResource<
14
+ Table,
15
+ string
16
+ > {
17
+ static ReadWriteActions: string[] = [
18
+ "dynamodb:BatchGetItem",
19
+ "dynamodb:BatchWriteItem",
20
+ "dynamodb:ConditionCheckItem",
21
+ "dynamodb:DeleteItem",
22
+ "dynamodb:DescribeTable",
23
+ "dynamodb:GetItem",
24
+ "dynamodb:GetRecords",
25
+ "dynamodb:GetShardIterator",
26
+ "dynamodb:PutItem",
27
+ "dynamodb:Query",
28
+ "dynamodb:Scan",
29
+ "dynamodb:UpdateItem",
30
+ ];
31
+
32
+ get CreatedTable() {
33
+ return this.createdResource;
34
+ }
35
+
36
+ constructor(scope: Construct, tableName: string) {
37
+ super(scope, tableName);
38
+ }
39
+
40
+ protected createResource(scope: Construct): Table {
41
+ const dbTable = new Table(scope, `${this.config}`, {
42
+ tableName: this.config,
43
+ removalPolicy: RemovalPolicy.DESTROY,
44
+
45
+ partitionKey: {
46
+ name: "pk",
47
+ type: AttributeType.STRING,
48
+ },
49
+ sortKey: {
50
+ name: "sk",
51
+ type: AttributeType.STRING,
52
+ },
53
+ billingMode: BillingMode.PAY_PER_REQUEST,
54
+ });
55
+
56
+ const gsiIndexes = [
57
+ {
58
+ indexName: "gsi1Index",
59
+ partitionKey: {
60
+ name: "gsi1pk",
61
+ type: AttributeType.STRING,
62
+ },
63
+ sortKey: {
64
+ name: "gsi1sk",
65
+ type: AttributeType.STRING,
66
+ },
67
+ projectionType: ProjectionType.ALL,
68
+ },
69
+ {
70
+ indexName: "gsi2Index",
71
+ partitionKey: {
72
+ name: "gsi2pk",
73
+ type: AttributeType.STRING,
74
+ },
75
+ sortKey: {
76
+ name: "gsi2sk",
77
+ type: AttributeType.STRING,
78
+ },
79
+ projectionType: ProjectionType.ALL,
80
+ },
81
+ {
82
+ indexName: "gsi3Index",
83
+ partitionKey: {
84
+ name: "gsi3pk",
85
+ type: AttributeType.STRING,
86
+ },
87
+ sortKey: {
88
+ name: "gsi3sk",
89
+ type: AttributeType.STRING,
90
+ },
91
+ projectionType: ProjectionType.ALL,
92
+ },
22
93
  ];
23
94
 
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
- }
95
+ gsiIndexes.map((gsi) => {
96
+ const gsiProps: GlobalSecondaryIndexProps = {
97
+ indexName: gsi.indexName,
98
+ partitionKey: gsi.partitionKey,
99
+ sortKey: gsi.sortKey,
100
+ projectionType: gsi.projectionType,
101
+ };
102
+
103
+ dbTable.addGlobalSecondaryIndex(gsiProps);
104
+ });
105
+
106
+ return dbTable;
107
+ }
108
+
109
+ protected createOutput<T>(scope: Construct): void {
110
+ new CfnOutput(scope, `dynamoTable-${this.config}`, {
111
+ value: `Table Name: ${this.config}`,
112
+ });
113
+ }
114
+ }