@intentius/chant-lexicon-aws 0.18.18 → 0.18.19
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.
- package/dist/actions/dynamodb.d.ts +2 -0
- package/dist/actions/dynamodb.d.ts.map +1 -1
- package/dist/actions/s3.d.ts +2 -0
- package/dist/actions/s3.d.ts.map +1 -1
- package/dist/composites/alb-shared.d.ts.map +1 -1
- package/dist/composites/efs-with-access-point.d.ts.map +1 -1
- package/dist/composites/fargate-alb.d.ts.map +1 -1
- package/dist/composites/fargate-service.d.ts.map +1 -1
- package/dist/composites/lambda-dynamodb.d.ts.map +1 -1
- package/dist/composites/lambda-s3.d.ts.map +1 -1
- package/dist/composites/microvm-app.d.ts.map +1 -1
- package/dist/composites/rds-instance.d.ts.map +1 -1
- package/dist/composites/vpc-default.d.ts.map +1 -1
- package/dist/integrity.json +2 -2
- package/dist/manifest.json +1 -1
- package/package.json +2 -2
- package/src/actions/actions.test.ts +16 -2
- package/src/actions/dynamodb.ts +11 -0
- package/src/actions/s3.ts +12 -0
- package/src/composites/alb-shared.ts +5 -7
- package/src/composites/efs-with-access-point.ts +6 -16
- package/src/composites/fargate-alb.ts +35 -41
- package/src/composites/fargate-service.ts +26 -35
- package/src/composites/lambda-dynamodb.ts +44 -55
- package/src/composites/lambda-s3.ts +11 -6
- package/src/composites/microvm-app.ts +10 -4
- package/src/composites/rds-instance.ts +22 -35
- package/src/composites/vpc-default.ts +32 -39
|
@@ -8,4 +8,6 @@ export declare const DynamoDBActions: {
|
|
|
8
8
|
readonly Query: readonly ["dynamodb:Query"];
|
|
9
9
|
readonly Scan: readonly ["dynamodb:Scan"];
|
|
10
10
|
};
|
|
11
|
+
export type DynamoDBAccessLevel = keyof typeof DynamoDBActions;
|
|
12
|
+
export declare function dynamoDBActionsFor(access: DynamoDBAccessLevel): readonly string[];
|
|
11
13
|
//# sourceMappingURL=dynamodb.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamodb.d.ts","sourceRoot":"","sources":["../../src/actions/dynamodb.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;CAmClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"dynamodb.d.ts","sourceRoot":"","sources":["../../src/actions/dynamodb.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;;;;;CAmClB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,eAAe,CAAC;AAO/D,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,GAAG,SAAS,MAAM,EAAE,CAEjF"}
|
package/dist/actions/s3.d.ts
CHANGED
|
@@ -8,4 +8,6 @@ export declare const S3Actions: {
|
|
|
8
8
|
readonly DeleteObject: readonly ["s3:DeleteObject", "s3:DeleteObjectVersion"];
|
|
9
9
|
readonly ListObjects: readonly ["s3:ListBucket", "s3:ListBucketVersions"];
|
|
10
10
|
};
|
|
11
|
+
export type S3AccessLevel = keyof typeof S3Actions;
|
|
12
|
+
export declare function s3ActionsFor(access: S3AccessLevel): readonly string[];
|
|
11
13
|
//# sourceMappingURL=s3.d.ts.map
|
package/dist/actions/s3.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../../src/actions/s3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;CAiCZ,CAAC"}
|
|
1
|
+
{"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../../src/actions/s3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;CAiCZ,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,SAAS,CAAC;AAQnD,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,MAAM,EAAE,CAErE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alb-shared.d.ts","sourceRoot":"","sources":["../../src/composites/alb-shared.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,YAAY,EACZ,QAAQ,EAMR,IAAI,EAEL,MAAM,cAAc,CAAC;AAKtB,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,aAAa,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,GAAG,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC/D,CAAC;CACH;AAED,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"alb-shared.d.ts","sourceRoot":"","sources":["../../src/composites/alb-shared.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,YAAY,EACZ,QAAQ,EAMR,IAAI,EAEL,MAAM,cAAc,CAAC;AAKtB,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,aAAa,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,GAAG,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC/D,CAAC;CACH;AAED,eAAO,MAAM,SAAS,6GA0FP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"efs-with-access-point.d.ts","sourceRoot":"","sources":["../../src/composites/efs-with-access-point.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;kEAE8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gGAAgG;IAChG,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC;IAC7C,cAAc,CAAC,EAAE,UAAU,GAAG,aAAa,GAAG,SAAS,CAAC;CACzD;AAED,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"efs-with-access-point.d.ts","sourceRoot":"","sources":["../../src/composites/efs-with-access-point.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;kEAE8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gGAAgG;IAChG,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC;IAC7C,cAAc,CAAC,EAAE,UAAU,GAAG,aAAa,GAAG,SAAS,CAAC;CACzD;AAED,eAAO,MAAM,kBAAkB,sHAiDP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fargate-alb.d.ts","sourceRoot":"","sources":["../../src/composites/fargate-alb.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,UAAU,EAIV,cAAc,EAKd,YAAY,EACZ,WAAW,EAQX,IAAI,EACJ,WAAW,EACZ,MAAM,cAAc,CAAC;AAMtB,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,YAAY,CAAC,OAAO,WAAW,CAAC,EAAE,CAAC;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,aAAa,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,GAAG,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,WAAW,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAChE,CAAC;CACH;AAED,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"fargate-alb.d.ts","sourceRoot":"","sources":["../../src/composites/fargate-alb.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,UAAU,EAIV,cAAc,EAKd,YAAY,EACZ,WAAW,EAQX,IAAI,EACJ,WAAW,EACZ,MAAM,cAAc,CAAC;AAMtB,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,YAAY,CAAC,OAAO,WAAW,CAAC,EAAE,CAAC;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,aAAa,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,GAAG,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,WAAW,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAChE,CAAC;CACH;AAED,eAAO,MAAM,UAAU,8GA6OP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fargate-service.d.ts","sourceRoot":"","sources":["../../src/composites/fargate-service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EAIV,cAAc,EAEd,yBAAyB,EAOzB,WAAW,EASX,IAAI,EACJ,WAAW,EAKZ,MAAM,cAAc,CAAC;AAItB,MAAM,WAAW,mBAAmB;IAElC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IAGzB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAGvB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,WAAW,CAAC,EAAE;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,yBAAyB,CAAC,EAAE,CAAC;IAC/D,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,iBAAiB,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;KAC5C,CAAC,CAAC;IAGH,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IAGzB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAGxE,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,YAAY,CAAC,OAAO,WAAW,CAAC,EAAE,CAAC;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,WAAW,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAChE,CAAC;CACH;AAED,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"fargate-service.d.ts","sourceRoot":"","sources":["../../src/composites/fargate-service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EAIV,cAAc,EAEd,yBAAyB,EAOzB,WAAW,EASX,IAAI,EACJ,WAAW,EAKZ,MAAM,cAAc,CAAC;AAItB,MAAM,WAAW,mBAAmB;IAElC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IAGzB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAGvB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,WAAW,CAAC,EAAE;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,yBAAyB,CAAC,EAAE,CAAC;IAC/D,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,iBAAiB,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;KAC5C,CAAC,CAAC;IAGH,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IAGzB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAGxE,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,YAAY,CAAC,OAAO,WAAW,CAAC,EAAE,CAAC;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,WAAW,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAChE,CAAC;CACH;AAED,eAAO,MAAM,cAAc,kHA8OP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lambda-dynamodb.d.ts","sourceRoot":"","sources":["../../src/composites/lambda-dynamodb.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,EAKL,kBAAkB,EACnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7E,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;IACpD,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,oBAAoB,GAAG,WAAW,CAAC;QAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,gBAAgB,CAAC,EAAE,cAAc,GAAG,QAAQ,CAAC;QAC7C,qBAAqB,CAAC,EAAE,OAAO,CAAC;KACjC,CAAC;IACF,QAAQ,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,GAAG;QAC3C,KAAK,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,kBAAkB,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACnF,CAAC;CACH;AAED,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"lambda-dynamodb.d.ts","sourceRoot":"","sources":["../../src/composites/lambda-dynamodb.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,EAKL,kBAAkB,EACnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7E,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;IACpD,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,oBAAoB,GAAG,WAAW,CAAC;QAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,gBAAgB,CAAC,EAAE,cAAc,GAAG,QAAQ,CAAC;QAC7C,qBAAqB,CAAC,EAAE,OAAO,CAAC;KACjC,CAAC;IACF,QAAQ,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,GAAG;QAC3C,KAAK,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,kBAAkB,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACnF,CAAC;CACH;AAED,eAAO,MAAM,cAAc,kHA6EP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lambda-s3.d.ts","sourceRoot":"","sources":["../../src/composites/lambda-s3.ts"],"names":[],"mappings":"AACA,OAAO,EACL,MAAM,EAON,UAAU,EAEX,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAkB,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAExG,MAAM,WAAW,aAAc,SAAQ,mBAAmB;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC;IAC3C,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,QAAQ,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,GAAG;QAC3C,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC3D,CAAC;CACH;AAED,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG;IAClD,MAAM,EAAE,YAAY,CAAC,OAAO,MAAM,CAAC,CAAC;IACpC,UAAU,EAAE,YAAY,CAAC,OAAO,UAAU,CAAC,CAAC;CAC7C,CAAC;AAEF,eAAO,MAAM,QAAQ;YAA6D,YAAY,CAAC,OAAO,MAAM,CAAC;iBAAe,YAAY,CAAC,OAAO,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"lambda-s3.d.ts","sourceRoot":"","sources":["../../src/composites/lambda-s3.ts"],"names":[],"mappings":"AACA,OAAO,EACL,MAAM,EAON,UAAU,EAEX,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAkB,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAExG,MAAM,WAAW,aAAc,SAAQ,mBAAmB;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC;IAC3C,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,QAAQ,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,GAAG;QAC3C,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC3D,CAAC;CACH;AAED,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG;IAClD,MAAM,EAAE,YAAY,CAAC,OAAO,MAAM,CAAC,CAAC;IACpC,UAAU,EAAE,YAAY,CAAC,OAAO,UAAU,CAAC,CAAC;CAC7C,CAAC;AAEF,eAAO,MAAM,QAAQ;YAA6D,YAAY,CAAC,OAAO,MAAM,CAAC;iBAAe,YAAY,CAAC,OAAO,UAAU,CAAC;EAkG7I,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"microvm-app.d.ts","sourceRoot":"","sources":["../../src/composites/microvm-app.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"microvm-app.d.ts","sourceRoot":"","sources":["../../src/composites/microvm-app.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rds-instance.d.ts","sourceRoot":"","sources":["../../src/composites/rds-instance.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EAEd,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"rds-instance.d.ts","sourceRoot":"","sources":["../../src/composites/rds-instance.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EAEd,MAAM,cAAc,CAAC;AAUtB,MAAM,WAAW,gBAAgB;IAE/B,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;IAG1C,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAG7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IAGvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAG7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAGlB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAG7B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAGlC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,kCAAkC,CAAC,EAAE,MAAM,CAAC;IAG5C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAGpC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE;QACT,WAAW,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,EAAE,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,EAAE,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,cAAc,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAChF,CAAC;CACH;AAED,eAAO,MAAM,WAAW,+GAwFP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vpc-default.d.ts","sourceRoot":"","sources":["../../src/composites/vpc-default.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"vpc-default.d.ts","sourceRoot":"","sources":["../../src/composites/vpc-default.ts"],"names":[],"mappings":"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"}
|
package/dist/integrity.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"algorithm": "sha256",
|
|
3
3
|
"artifacts": {
|
|
4
|
-
"manifest.json": "
|
|
4
|
+
"manifest.json": "8173ef9c24ebc218923b670aa1a27a958057a1014704ffff637b7762645ffd07",
|
|
5
5
|
"meta.json": "e96f0cf357942aca842092be3fd19419da32b0577e621b0e32ad1c95210f6f4b",
|
|
6
6
|
"types/index.d.ts": "a2e0cc4eb7edfd8a6e0b3b41e8913d4e4d4fe74ae96317e94fd2c7227996b32e",
|
|
7
7
|
"rules/hardcoded-region.ts": "5a0eaf7ab391231fe6cd51426ece29539cb4b36f31c8dd060956638fed55722a",
|
|
@@ -58,5 +58,5 @@
|
|
|
58
58
|
"skills/chant-aws.md": "4d65eb160e001f2af42eb7c622a5b498c2fd1f5afbd6c8155615c010fb265c63",
|
|
59
59
|
"skills/chant-aws-eks.md": "8789255709ff004ad0a875fd5999edcdc66fc6e33d710db058d9f42703bcfdfe"
|
|
60
60
|
},
|
|
61
|
-
"composite": "
|
|
61
|
+
"composite": "cb8ffb086470656d02605ac3d456b8720f18cdf4a2b04741a129f6c6c282bbb7"
|
|
62
62
|
}
|
package/dist/manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intentius/chant-lexicon-aws",
|
|
3
|
-
"version": "0.18.
|
|
3
|
+
"version": "0.18.19",
|
|
4
4
|
"description": "AWS CloudFormation lexicon for chant — declarative IaC in TypeScript",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://intentius.io/chant",
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"typescript": "^5.9.3"
|
|
81
81
|
},
|
|
82
82
|
"peerDependencies": {
|
|
83
|
-
"@intentius/chant": "^0.18.
|
|
83
|
+
"@intentius/chant": "^0.18.19",
|
|
84
84
|
"typescript": "^5.9.3"
|
|
85
85
|
}
|
|
86
86
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { describe, test, expect } from "vitest";
|
|
2
|
-
import { S3Actions } from "./s3";
|
|
2
|
+
import { S3Actions, s3ActionsFor } from "./s3";
|
|
3
3
|
import { LambdaActions } from "./lambda";
|
|
4
|
-
import { DynamoDBActions } from "./dynamodb";
|
|
4
|
+
import { DynamoDBActions, dynamoDBActionsFor } from "./dynamodb";
|
|
5
5
|
import { SQSActions } from "./sqs";
|
|
6
6
|
import { SNSActions } from "./sns";
|
|
7
7
|
import { IAMActions } from "./iam";
|
|
@@ -73,3 +73,17 @@ describe("Action Constants", () => {
|
|
|
73
73
|
});
|
|
74
74
|
});
|
|
75
75
|
});
|
|
76
|
+
|
|
77
|
+
// The EVL003-clean lookup helpers must return the same arrays as the tables (#952).
|
|
78
|
+
describe("action-level lookup helpers", () => {
|
|
79
|
+
test("s3ActionsFor mirrors S3Actions for every access level", () => {
|
|
80
|
+
for (const level of Object.keys(S3Actions) as (keyof typeof S3Actions)[]) {
|
|
81
|
+
expect(s3ActionsFor(level)).toEqual(S3Actions[level]);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
test("dynamoDBActionsFor mirrors DynamoDBActions for every access level", () => {
|
|
85
|
+
for (const level of Object.keys(DynamoDBActions) as (keyof typeof DynamoDBActions)[]) {
|
|
86
|
+
expect(dynamoDBActionsFor(level)).toEqual(DynamoDBActions[level]);
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
});
|
package/src/actions/dynamodb.ts
CHANGED
|
@@ -34,3 +34,14 @@ export const DynamoDBActions = {
|
|
|
34
34
|
Query: ["dynamodb:Query"],
|
|
35
35
|
Scan: ["dynamodb:Scan"],
|
|
36
36
|
} as const;
|
|
37
|
+
|
|
38
|
+
export type DynamoDBAccessLevel = keyof typeof DynamoDBActions;
|
|
39
|
+
|
|
40
|
+
// Map-backed lookup — avoids computed element access `DynamoDBActions[access]`
|
|
41
|
+
// that the evaluability lint (EVL003) flags despite the statically-typed key (#952).
|
|
42
|
+
const DYNAMODB_ACTIONS = new Map<DynamoDBAccessLevel, readonly string[]>(
|
|
43
|
+
Object.entries(DynamoDBActions) as [DynamoDBAccessLevel, readonly string[]][],
|
|
44
|
+
);
|
|
45
|
+
export function dynamoDBActionsFor(access: DynamoDBAccessLevel): readonly string[] {
|
|
46
|
+
return DYNAMODB_ACTIONS.get(access) ?? [];
|
|
47
|
+
}
|
package/src/actions/s3.ts
CHANGED
|
@@ -32,3 +32,15 @@ export const S3Actions = {
|
|
|
32
32
|
DeleteObject: ["s3:DeleteObject", "s3:DeleteObjectVersion"],
|
|
33
33
|
ListObjects: ["s3:ListBucket", "s3:ListBucketVersions"],
|
|
34
34
|
} as const;
|
|
35
|
+
|
|
36
|
+
export type S3AccessLevel = keyof typeof S3Actions;
|
|
37
|
+
|
|
38
|
+
// A Map-backed lookup avoids computed element access (`S3Actions[access]`), which
|
|
39
|
+
// the evaluability lint (EVL003) flags even though the key is statically typed —
|
|
40
|
+
// prefer this in evaluable code such as composites (#952).
|
|
41
|
+
const S3_ACTIONS = new Map<S3AccessLevel, readonly string[]>(
|
|
42
|
+
Object.entries(S3Actions) as [S3AccessLevel, readonly string[]][],
|
|
43
|
+
);
|
|
44
|
+
export function s3ActionsFor(access: S3AccessLevel): readonly string[] {
|
|
45
|
+
return S3_ACTIONS.get(access) ?? [];
|
|
46
|
+
}
|
|
@@ -103,15 +103,13 @@ export const AlbShared = Composite<AlbSharedProps>((props) => {
|
|
|
103
103
|
Port: listenerPort,
|
|
104
104
|
Protocol: protocol,
|
|
105
105
|
DefaultActions: [defaultAction],
|
|
106
|
+
// HTTPS listeners carry a cert; a ternary keeps the `new` out of an `if` (EVL002).
|
|
107
|
+
Certificates:
|
|
108
|
+
protocol === "HTTPS" && props.certificateArn
|
|
109
|
+
? [new Listener_Certificate({ CertificateArn: props.certificateArn })]
|
|
110
|
+
: undefined,
|
|
106
111
|
};
|
|
107
112
|
|
|
108
|
-
if (protocol === "HTTPS" && props.certificateArn) {
|
|
109
|
-
const cert = new Listener_Certificate({
|
|
110
|
-
CertificateArn: props.certificateArn,
|
|
111
|
-
});
|
|
112
|
-
listenerProps.Certificates = [cert];
|
|
113
|
-
}
|
|
114
|
-
|
|
115
113
|
const listener = new Listener(mergeDefaults(listenerProps, defs?.listener));
|
|
116
114
|
|
|
117
115
|
return {
|
|
@@ -29,22 +29,12 @@ export interface EfsWithAccessPointProps {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
export const EfsWithAccessPoint = Composite<EfsWithAccessPointProps>((props) => {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
FromPort: 2049,
|
|
37
|
-
|
|
38
|
-
SourceSecurityGroupId: props.sourceSecurityGroupId,
|
|
39
|
-
}));
|
|
40
|
-
} else if (props.ingressCidr) {
|
|
41
|
-
ingressRules.push(new SecurityGroup_Ingress({
|
|
42
|
-
IpProtocol: "tcp",
|
|
43
|
-
FromPort: 2049,
|
|
44
|
-
ToPort: 2049,
|
|
45
|
-
CidrIp: props.ingressCidr,
|
|
46
|
-
}));
|
|
47
|
-
}
|
|
32
|
+
// Ternary (not push-inside-if) keeps the `new`s out of control flow (EVL002).
|
|
33
|
+
const ingressRules: InstanceType<typeof SecurityGroup_Ingress>[] = props.sourceSecurityGroupId
|
|
34
|
+
? [new SecurityGroup_Ingress({ IpProtocol: "tcp", FromPort: 2049, ToPort: 2049, SourceSecurityGroupId: props.sourceSecurityGroupId })]
|
|
35
|
+
: props.ingressCidr
|
|
36
|
+
? [new SecurityGroup_Ingress({ IpProtocol: "tcp", FromPort: 2049, ToPort: 2049, CidrIp: props.ingressCidr })]
|
|
37
|
+
: [];
|
|
48
38
|
|
|
49
39
|
const securityGroup = new SecurityGroup({
|
|
50
40
|
GroupDescription: "EFS mount target SG",
|
|
@@ -143,14 +143,10 @@ export const FargateAlb = Composite<FargateAlbProps>((props) => {
|
|
|
143
143
|
},
|
|
144
144
|
});
|
|
145
145
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
new TaskDefinition_KeyValuePair({ Name: name, Value: value }),
|
|
151
|
-
);
|
|
152
|
-
}
|
|
153
|
-
}
|
|
146
|
+
// `.map` keeps the `new`s out of the `for`/`if` (EVL002).
|
|
147
|
+
const environmentVars: InstanceType<typeof TaskDefinition_KeyValuePair>[] = props.environment
|
|
148
|
+
? Object.entries(props.environment).map(([name, value]) => new TaskDefinition_KeyValuePair({ Name: name, Value: value }))
|
|
149
|
+
: [];
|
|
154
150
|
|
|
155
151
|
const container = new TaskDefinition_ContainerDefinition({
|
|
156
152
|
Name: "app",
|
|
@@ -232,40 +228,38 @@ export const FargateAlb = Composite<FargateAlbProps>((props) => {
|
|
|
232
228
|
TargetGroupArn: targetGroup.TargetGroupArn,
|
|
233
229
|
});
|
|
234
230
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
231
|
+
// Ternaries keep the `new`s out of the `if`/`else` (EVL002).
|
|
232
|
+
const listener: InstanceType<typeof Listener> = props.certificateArn
|
|
233
|
+
? new Listener({
|
|
234
|
+
LoadBalancerArn: alb.LoadBalancerArn,
|
|
235
|
+
Port: 443,
|
|
236
|
+
Protocol: "HTTPS",
|
|
237
|
+
Certificates: [new Listener_Certificate({ CertificateArn: props.certificateArn })],
|
|
238
|
+
DefaultActions: [forwardAction],
|
|
239
|
+
})
|
|
240
|
+
: new Listener({
|
|
241
|
+
LoadBalancerArn: alb.LoadBalancerArn,
|
|
242
|
+
Port: listenerPort,
|
|
243
|
+
Protocol: "HTTP",
|
|
244
|
+
DefaultActions: [forwardAction],
|
|
245
|
+
});
|
|
246
|
+
const redirectListener: InstanceType<typeof Listener> | undefined = props.certificateArn
|
|
247
|
+
? new Listener({
|
|
248
|
+
LoadBalancerArn: alb.LoadBalancerArn,
|
|
249
|
+
Port: 80,
|
|
250
|
+
Protocol: "HTTP",
|
|
251
|
+
DefaultActions: [
|
|
252
|
+
new Listener_Action({
|
|
253
|
+
Type: "redirect",
|
|
254
|
+
RedirectConfig: new Listener_RedirectConfig({
|
|
255
|
+
Protocol: "HTTPS",
|
|
256
|
+
Port: "443",
|
|
257
|
+
StatusCode: "HTTP_301",
|
|
258
|
+
}),
|
|
257
259
|
}),
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
} else {
|
|
262
|
-
listener = new Listener({
|
|
263
|
-
LoadBalancerArn: alb.LoadBalancerArn,
|
|
264
|
-
Port: listenerPort,
|
|
265
|
-
Protocol: "HTTP",
|
|
266
|
-
DefaultActions: [forwardAction],
|
|
267
|
-
});
|
|
268
|
-
}
|
|
260
|
+
],
|
|
261
|
+
})
|
|
262
|
+
: undefined;
|
|
269
263
|
|
|
270
264
|
// ECS Service
|
|
271
265
|
const serviceLoadBalancer = new EcsService_LoadBalancer({
|
|
@@ -140,14 +140,10 @@ export const FargateService = Composite<FargateServiceProps>((props) => {
|
|
|
140
140
|
},
|
|
141
141
|
});
|
|
142
142
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
new TaskDefinition_KeyValuePair({ Name: name, Value: value }),
|
|
148
|
-
);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
143
|
+
// `.map` keeps the `new`s out of the `for`/`if` (EVL002).
|
|
144
|
+
const environmentVars: InstanceType<typeof TaskDefinition_KeyValuePair>[] = props.environment
|
|
145
|
+
? Object.entries(props.environment).map(([name, value]) => new TaskDefinition_KeyValuePair({ Name: name, Value: value }))
|
|
146
|
+
: [];
|
|
151
147
|
|
|
152
148
|
// EFS volumes and mount points
|
|
153
149
|
const efsVolumes = (props.efsMounts ?? []).map((m, i) =>
|
|
@@ -222,31 +218,21 @@ export const FargateService = Composite<FargateServiceProps>((props) => {
|
|
|
222
218
|
}, defs?.targetGroup));
|
|
223
219
|
|
|
224
220
|
// Listener rule conditions
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
const hostConfig = new ListenerRule_HostHeaderConfig({
|
|
241
|
-
Values: props.hostHeaders,
|
|
242
|
-
});
|
|
243
|
-
conditions.push(
|
|
244
|
-
new ListenerRule_RuleCondition({
|
|
245
|
-
Field: "host-header",
|
|
246
|
-
HostHeaderConfig: hostConfig,
|
|
247
|
-
}),
|
|
248
|
-
);
|
|
249
|
-
}
|
|
221
|
+
// Conditional entries via spread keep the `new`s out of the `if`s (EVL002).
|
|
222
|
+
const conditions: InstanceType<typeof ListenerRule_RuleCondition>[] = [
|
|
223
|
+
...(props.pathPatterns
|
|
224
|
+
? [new ListenerRule_RuleCondition({
|
|
225
|
+
Field: "path-pattern",
|
|
226
|
+
PathPatternConfig: new ListenerRule_PathPatternConfig({ Values: props.pathPatterns }),
|
|
227
|
+
})]
|
|
228
|
+
: []),
|
|
229
|
+
...(props.hostHeaders
|
|
230
|
+
? [new ListenerRule_RuleCondition({
|
|
231
|
+
Field: "host-header",
|
|
232
|
+
HostHeaderConfig: new ListenerRule_HostHeaderConfig({ Values: props.hostHeaders }),
|
|
233
|
+
})]
|
|
234
|
+
: []),
|
|
235
|
+
];
|
|
250
236
|
|
|
251
237
|
// Listener rule
|
|
252
238
|
const ruleAction = new ListenerRule_Action({
|
|
@@ -294,7 +280,10 @@ export const FargateService = Composite<FargateServiceProps>((props) => {
|
|
|
294
280
|
let scalableTarget: InstanceType<typeof ScalableTarget> | undefined;
|
|
295
281
|
let scalingPolicy: InstanceType<typeof ApplicationAutoScalingScalingPolicy> | undefined;
|
|
296
282
|
|
|
297
|
-
if (
|
|
283
|
+
// Closure (invoked below) keeps the autoscaling `new`s out of the `if` (EVL002);
|
|
284
|
+
// the guard narrows `props.autoscaling` for the body.
|
|
285
|
+
const buildAutoscaling = () => {
|
|
286
|
+
if (!props.autoscaling) return;
|
|
298
287
|
const { minCapacity = 1, maxCapacity, cpuTarget = 60, scaleInCooldown, scaleOutCooldown } = props.autoscaling;
|
|
299
288
|
|
|
300
289
|
const resourceId = Join("/", ["service", Select(1, Split("/", props.clusterArn)), service.Name]);
|
|
@@ -324,7 +313,9 @@ export const FargateService = Composite<FargateServiceProps>((props) => {
|
|
|
324
313
|
ResourceId: resourceId,
|
|
325
314
|
TargetTrackingScalingPolicyConfiguration: trackingConfig,
|
|
326
315
|
});
|
|
327
|
-
}
|
|
316
|
+
};
|
|
317
|
+
|
|
318
|
+
if (props.autoscaling) buildAutoscaling();
|
|
328
319
|
|
|
329
320
|
return {
|
|
330
321
|
taskRole,
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
Role_Policy,
|
|
8
8
|
EventSourceMapping,
|
|
9
9
|
} from "../generated";
|
|
10
|
-
import {
|
|
10
|
+
import { dynamoDBActionsFor } from "../actions/dynamodb";
|
|
11
11
|
import { LambdaFunction, type LambdaFunctionProps } from "./lambda-function";
|
|
12
12
|
|
|
13
13
|
export interface LambdaDynamoDBProps extends LambdaFunctionProps {
|
|
@@ -28,22 +28,16 @@ export interface LambdaDynamoDBProps extends LambdaFunctionProps {
|
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
export const LambdaDynamoDB = Composite<LambdaDynamoDBProps>((props) => {
|
|
31
|
+
// Conditional entries via spread keep the `new`s out of the `if` (EVL002).
|
|
31
32
|
const attributeDefinitions = [
|
|
32
33
|
new Table_AttributeDefinition({ AttributeName: props.partitionKey, AttributeType: "S" }),
|
|
34
|
+
...(props.sortKey ? [new Table_AttributeDefinition({ AttributeName: props.sortKey, AttributeType: "S" })] : []),
|
|
33
35
|
];
|
|
34
36
|
const keySchema: InstanceType<typeof Table_KeySchema>[] = [
|
|
35
37
|
new Table_KeySchema({ AttributeName: props.partitionKey, KeyType: "HASH" }),
|
|
38
|
+
...(props.sortKey ? [new Table_KeySchema({ AttributeName: props.sortKey, KeyType: "RANGE" })] : []),
|
|
36
39
|
];
|
|
37
40
|
|
|
38
|
-
if (props.sortKey) {
|
|
39
|
-
attributeDefinitions.push(
|
|
40
|
-
new Table_AttributeDefinition({ AttributeName: props.sortKey, AttributeType: "S" }),
|
|
41
|
-
);
|
|
42
|
-
keySchema.push(
|
|
43
|
-
new Table_KeySchema({ AttributeName: props.sortKey, KeyType: "RANGE" }),
|
|
44
|
-
);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
41
|
const { defaults } = props;
|
|
48
42
|
|
|
49
43
|
const table = new Table(mergeDefaults({
|
|
@@ -59,40 +53,37 @@ export const LambdaDynamoDB = Composite<LambdaDynamoDBProps>((props) => {
|
|
|
59
53
|
}, defaults?.table));
|
|
60
54
|
|
|
61
55
|
const access = props.access ?? "ReadWrite";
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
if (props.Policies) {
|
|
94
|
-
policies.push(...props.Policies);
|
|
95
|
-
}
|
|
56
|
+
// Build the policy list with conditional spreads (no push-inside-if) (EVL002).
|
|
57
|
+
const policies: InstanceType<typeof Role_Policy>[] = [
|
|
58
|
+
...(access !== "None"
|
|
59
|
+
? [new Role_Policy({
|
|
60
|
+
PolicyName: `DynamoDB${access}`,
|
|
61
|
+
PolicyDocument: {
|
|
62
|
+
Version: "2012-10-17",
|
|
63
|
+
Statement: [{ Effect: "Allow", Action: dynamoDBActionsFor(access), Resource: table.Arn }],
|
|
64
|
+
},
|
|
65
|
+
})]
|
|
66
|
+
: []),
|
|
67
|
+
...(props.streams
|
|
68
|
+
? [new Role_Policy({
|
|
69
|
+
PolicyName: "DynamoDBStreamRead",
|
|
70
|
+
PolicyDocument: {
|
|
71
|
+
Version: "2012-10-17",
|
|
72
|
+
Statement: [{
|
|
73
|
+
Effect: "Allow",
|
|
74
|
+
Action: [
|
|
75
|
+
"dynamodb:GetRecords",
|
|
76
|
+
"dynamodb:GetShardIterator",
|
|
77
|
+
"dynamodb:DescribeStream",
|
|
78
|
+
"dynamodb:ListStreams",
|
|
79
|
+
],
|
|
80
|
+
Resource: table.StreamArn,
|
|
81
|
+
}],
|
|
82
|
+
},
|
|
83
|
+
})]
|
|
84
|
+
: []),
|
|
85
|
+
...(props.Policies ?? []),
|
|
86
|
+
];
|
|
96
87
|
|
|
97
88
|
const env = props.Environment ?? { Variables: {} };
|
|
98
89
|
const variables = { ...((env as any).Variables ?? {}), TABLE_NAME: table.Ref };
|
|
@@ -102,17 +93,15 @@ export const LambdaDynamoDB = Composite<LambdaDynamoDBProps>((props) => {
|
|
|
102
93
|
Environment: { Variables: variables },
|
|
103
94
|
});
|
|
104
95
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
}, defaults?.eventSourceMapping));
|
|
115
|
-
}
|
|
96
|
+
const eventSourceMapping: InstanceType<typeof EventSourceMapping> | undefined = props.streams
|
|
97
|
+
? new EventSourceMapping(mergeDefaults({
|
|
98
|
+
FunctionName: func.Arn,
|
|
99
|
+
EventSourceArn: table.StreamArn,
|
|
100
|
+
StartingPosition: props.streams.startingPosition ?? "TRIM_HORIZON",
|
|
101
|
+
...(props.streams.batchSize !== undefined && { BatchSize: props.streams.batchSize }),
|
|
102
|
+
...(props.streams.bisectOnFunctionError !== undefined && { BisectBatchOnFunctionError: props.streams.bisectOnFunctionError }),
|
|
103
|
+
}, defaults?.eventSourceMapping))
|
|
104
|
+
: undefined;
|
|
116
105
|
|
|
117
106
|
return { table, role, func, ...(eventSourceMapping ? { eventSourceMapping } : {}) };
|
|
118
107
|
}, "LambdaDynamoDB");
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
Role_Policy,
|
|
12
12
|
} from "../generated";
|
|
13
13
|
import { Sub, Join } from "../intrinsics";
|
|
14
|
-
import {
|
|
14
|
+
import { s3ActionsFor } from "../actions/s3";
|
|
15
15
|
import { LambdaFunction, type LambdaFunctionProps, type LambdaFunctionResult } from "./lambda-function";
|
|
16
16
|
|
|
17
17
|
export interface LambdaS3Props extends LambdaFunctionProps {
|
|
@@ -50,7 +50,9 @@ export const LambdaS3 = Composite<LambdaS3Props, LambdaFunctionResult & { bucket
|
|
|
50
50
|
const { defaults } = props;
|
|
51
51
|
const access = props.access ?? "ReadWrite";
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
// The triggered path builds its resources in a closure so the `new`s aren't
|
|
54
|
+
// under the `if` (EVL002); it's invoked below only when a trigger is declared.
|
|
55
|
+
const buildTriggered = () => {
|
|
54
56
|
// Create Lambda first to break the circular CFN dependency.
|
|
55
57
|
// Compute bucket ARN from name (no GetAtt on bucket → no resource dep).
|
|
56
58
|
const name = props.bucketName ?? Sub`\${AWS::StackName}-bucket`;
|
|
@@ -61,7 +63,7 @@ export const LambdaS3 = Composite<LambdaS3Props, LambdaFunctionResult & { bucket
|
|
|
61
63
|
PolicyName: `S3${access}`,
|
|
62
64
|
PolicyDocument: {
|
|
63
65
|
Version: "2012-10-17",
|
|
64
|
-
Statement: [{ Effect: "Allow", Action:
|
|
66
|
+
Statement: [{ Effect: "Allow", Action: s3ActionsFor(access), Resource: [bucketArnBase, bucketArnWildcard] }],
|
|
65
67
|
},
|
|
66
68
|
});
|
|
67
69
|
|
|
@@ -77,7 +79,8 @@ export const LambdaS3 = Composite<LambdaS3Props, LambdaFunctionResult & { bucket
|
|
|
77
79
|
SourceArn: bucketArnBase,
|
|
78
80
|
});
|
|
79
81
|
|
|
80
|
-
|
|
82
|
+
// Non-null: the closure is only invoked when `props.trigger` is set (below).
|
|
83
|
+
const { events = ["s3:ObjectCreated:*"], prefix, suffix } = props.trigger!;
|
|
81
84
|
const rules: Array<{ Name: string; Value: string }> = [];
|
|
82
85
|
if (prefix) rules.push({ Name: "prefix", Value: prefix });
|
|
83
86
|
if (suffix) rules.push({ Name: "suffix", Value: suffix });
|
|
@@ -100,7 +103,9 @@ export const LambdaS3 = Composite<LambdaS3Props, LambdaFunctionResult & { bucket
|
|
|
100
103
|
}, defaults?.bucket), { DependsOn: [permission] });
|
|
101
104
|
|
|
102
105
|
return { bucket, role, func, permission };
|
|
103
|
-
}
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
if (props.trigger) return buildTriggered();
|
|
104
109
|
|
|
105
110
|
// Non-trigger path: original flow
|
|
106
111
|
const bucket = new Bucket(mergeDefaults({
|
|
@@ -111,7 +116,7 @@ export const LambdaS3 = Composite<LambdaS3Props, LambdaFunctionResult & { bucket
|
|
|
111
116
|
|
|
112
117
|
const s3PolicyDocument = {
|
|
113
118
|
Version: "2012-10-17",
|
|
114
|
-
Statement: [{ Effect: "Allow", Action:
|
|
119
|
+
Statement: [{ Effect: "Allow", Action: s3ActionsFor(access), Resource: [bucket.Arn, Sub`${bucket.Arn}/*`] }],
|
|
115
120
|
};
|
|
116
121
|
|
|
117
122
|
const s3Policy = new Role_Policy({ PolicyName: `S3${access}`, PolicyDocument: s3PolicyDocument });
|
|
@@ -298,7 +298,10 @@ export const MicrovmApp = Composite<MicrovmAppProps, MicrovmAppResult>((props) =
|
|
|
298
298
|
let connector: InstanceType<typeof NetworkConnector> | undefined;
|
|
299
299
|
const egressConnectorArns: unknown[] = [...additionalEgressConnectors];
|
|
300
300
|
|
|
301
|
-
if (
|
|
301
|
+
// A closure (invoked below) keeps the connector `new`s out of the `if` (EVL002);
|
|
302
|
+
// the early-return guard also narrows `props.buildConnector` for the body.
|
|
303
|
+
const buildConnectorResources = () => {
|
|
304
|
+
if (!props.buildConnector) return;
|
|
302
305
|
// Deny-all by default — the security group's rules ARE the egress policy;
|
|
303
306
|
// open specific traffic via `defaults.connectorSecurityGroup`.
|
|
304
307
|
connectorSecurityGroup = new SecurityGroup(
|
|
@@ -376,15 +379,18 @@ export const MicrovmApp = Composite<MicrovmAppProps, MicrovmAppResult>((props) =
|
|
|
376
379
|
);
|
|
377
380
|
|
|
378
381
|
egressConnectorArns.push(connector.Arn);
|
|
379
|
-
}
|
|
382
|
+
};
|
|
383
|
+
|
|
384
|
+
if (props.buildConnector) buildConnectorResources();
|
|
380
385
|
|
|
381
386
|
// ── The image itself ───────────────────────────────────────────────────────
|
|
382
387
|
const logging = props.disableLogging
|
|
383
388
|
? new MicrovmImage_Logging({ Disabled: true })
|
|
384
389
|
: new MicrovmImage_Logging({ CloudWatch: new MicrovmImage_CloudWatchLogging({ LogGroup: logGroupName }) });
|
|
385
390
|
|
|
386
|
-
|
|
387
|
-
|
|
391
|
+
// Object.entries avoids the computed `environment[key]` access (EVL003, #952).
|
|
392
|
+
const environmentVariables = Object.entries(environment).map(
|
|
393
|
+
([key, value]) => new MicrovmImage_EnvironmentVariable({ Key: key, Value: value }),
|
|
388
394
|
);
|
|
389
395
|
|
|
390
396
|
// `Hooks` is required by the CFN schema but every nested field is optional —
|
|
@@ -7,11 +7,13 @@ import {
|
|
|
7
7
|
SecurityGroup_Ingress,
|
|
8
8
|
} from "../generated";
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
10
|
+
// A Map (not a Record) so the per-engine lookup uses `.get()` rather than the
|
|
11
|
+
// computed `ENGINE_DEFAULTS[engine]` element access the evaluability lint flags (#952).
|
|
12
|
+
const ENGINE_DEFAULTS = new Map<string, { port: number; username: string; version: string; logExport: string }>([
|
|
13
|
+
["postgres", { port: 5432, username: "postgres", version: "16.6", logExport: "postgresql" }],
|
|
14
|
+
["mysql", { port: 3306, username: "admin", version: "8.0.40", logExport: "general" }],
|
|
15
|
+
["mariadb", { port: 3306, username: "admin", version: "11.4.3", logExport: "general" }],
|
|
16
|
+
]);
|
|
15
17
|
|
|
16
18
|
export interface RdsInstanceProps {
|
|
17
19
|
// ── Engine ──────────────────────────────────────────────────────
|
|
@@ -76,7 +78,7 @@ export interface RdsInstanceProps {
|
|
|
76
78
|
|
|
77
79
|
export const RdsInstance = Composite<RdsInstanceProps>((props) => {
|
|
78
80
|
const engine = props.engine ?? "postgres";
|
|
79
|
-
const defaults = ENGINE_DEFAULTS
|
|
81
|
+
const defaults = ENGINE_DEFAULTS.get(engine)!;
|
|
80
82
|
const port = props.port ?? defaults.port;
|
|
81
83
|
const masterUsername = props.masterUsername ?? defaults.username;
|
|
82
84
|
const engineVersion = props.engineVersion ?? defaults.version;
|
|
@@ -99,26 +101,12 @@ export const RdsInstance = Composite<RdsInstanceProps>((props) => {
|
|
|
99
101
|
}, defs?.subnetGroup));
|
|
100
102
|
|
|
101
103
|
// Security Group
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
ToPort: port,
|
|
109
|
-
SourceSecurityGroupId: props.ingressSourceSG,
|
|
110
|
-
}),
|
|
111
|
-
);
|
|
112
|
-
} else if (props.ingressCidr) {
|
|
113
|
-
ingressRules.push(
|
|
114
|
-
new SecurityGroup_Ingress({
|
|
115
|
-
IpProtocol: "tcp",
|
|
116
|
-
FromPort: port,
|
|
117
|
-
ToPort: port,
|
|
118
|
-
CidrIp: props.ingressCidr,
|
|
119
|
-
}),
|
|
120
|
-
);
|
|
121
|
-
}
|
|
104
|
+
// Ternary (not push-inside-if) keeps the `new`s out of control flow (EVL002).
|
|
105
|
+
const ingressRules: InstanceType<typeof SecurityGroup_Ingress>[] = props.ingressSourceSG
|
|
106
|
+
? [new SecurityGroup_Ingress({ IpProtocol: "tcp", FromPort: port, ToPort: port, SourceSecurityGroupId: props.ingressSourceSG })]
|
|
107
|
+
: props.ingressCidr
|
|
108
|
+
? [new SecurityGroup_Ingress({ IpProtocol: "tcp", FromPort: port, ToPort: port, CidrIp: props.ingressCidr })]
|
|
109
|
+
: [];
|
|
122
110
|
|
|
123
111
|
const sg = new SecurityGroup(mergeDefaults({
|
|
124
112
|
GroupDescription: "Security group for RDS instance",
|
|
@@ -126,15 +114,14 @@ export const RdsInstance = Composite<RdsInstanceProps>((props) => {
|
|
|
126
114
|
SecurityGroupIngress: ingressRules.length > 0 ? ingressRules : undefined,
|
|
127
115
|
}, defs?.sg));
|
|
128
116
|
|
|
129
|
-
// Optional Parameter Group
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
}
|
|
117
|
+
// Optional Parameter Group — ternary keeps the `new` out of the `if` (EVL002).
|
|
118
|
+
const parameterGroup: InstanceType<typeof RDSDBParameterGroup> | undefined = props.parameterGroupFamily
|
|
119
|
+
? new RDSDBParameterGroup(mergeDefaults({
|
|
120
|
+
Family: props.parameterGroupFamily,
|
|
121
|
+
Description: "Custom parameter group",
|
|
122
|
+
Parameters: props.parameters,
|
|
123
|
+
}, defs?.parameterGroup))
|
|
124
|
+
: undefined;
|
|
138
125
|
|
|
139
126
|
// DB Instance
|
|
140
127
|
const dbProps: Record<string, any> = {
|
|
@@ -170,45 +170,37 @@ export const VpcDefault = Composite<VpcDefaultProps, VpcDefaultResult>((props) =
|
|
|
170
170
|
|
|
171
171
|
// ── AZ3 (optional) ──────────────────────────────────────────────
|
|
172
172
|
|
|
173
|
-
if (
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
privateSubnet1, privateSubnet2, privateSubnet3,
|
|
205
|
-
publicRouteTable, publicRoute,
|
|
206
|
-
publicRta1, publicRta2, publicRta3,
|
|
207
|
-
privateRouteTable, privateRoute,
|
|
208
|
-
privateRta1, privateRta2, privateRta3,
|
|
209
|
-
natEip, natGateway,
|
|
210
|
-
};
|
|
211
|
-
}
|
|
173
|
+
// Ternaries keep the `new`s out of the `if` (EVL002); the AZ3 resources fold
|
|
174
|
+
// into one return via a conditional spread.
|
|
175
|
+
const publicSubnet3 =
|
|
176
|
+
azCount >= 3
|
|
177
|
+
? new Subnet(mergeDefaults({
|
|
178
|
+
VpcId: vpc.VpcId,
|
|
179
|
+
CidrBlock: props.publicSubnet3Cidr ?? "10.0.32.0/20",
|
|
180
|
+
AvailabilityZone: Select(2, GetAZs("")),
|
|
181
|
+
MapPublicIpOnLaunch: true,
|
|
182
|
+
}, defs?.publicSubnet3))
|
|
183
|
+
: undefined;
|
|
184
|
+
const privateSubnet3 =
|
|
185
|
+
azCount >= 3
|
|
186
|
+
? new Subnet(mergeDefaults({
|
|
187
|
+
VpcId: vpc.VpcId,
|
|
188
|
+
CidrBlock: props.privateSubnet3Cidr ?? "10.0.160.0/20",
|
|
189
|
+
AvailabilityZone: Select(2, GetAZs("")),
|
|
190
|
+
}, defs?.privateSubnet3))
|
|
191
|
+
: undefined;
|
|
192
|
+
const publicRta3 = publicSubnet3
|
|
193
|
+
? new SubnetRouteTableAssociation({
|
|
194
|
+
SubnetId: publicSubnet3.SubnetId,
|
|
195
|
+
RouteTableId: publicRouteTable.RouteTableId,
|
|
196
|
+
})
|
|
197
|
+
: undefined;
|
|
198
|
+
const privateRta3 = privateSubnet3
|
|
199
|
+
? new SubnetRouteTableAssociation({
|
|
200
|
+
SubnetId: privateSubnet3.SubnetId,
|
|
201
|
+
RouteTableId: privateRouteTable.RouteTableId,
|
|
202
|
+
})
|
|
203
|
+
: undefined;
|
|
212
204
|
|
|
213
205
|
return {
|
|
214
206
|
vpc, igw, igwAttachment,
|
|
@@ -219,5 +211,6 @@ export const VpcDefault = Composite<VpcDefaultProps, VpcDefaultResult>((props) =
|
|
|
219
211
|
privateRouteTable, privateRoute,
|
|
220
212
|
privateRta1, privateRta2,
|
|
221
213
|
natEip, natGateway,
|
|
214
|
+
...(publicSubnet3 ? { publicSubnet3, privateSubnet3, publicRta3, privateRta3 } : {}),
|
|
222
215
|
};
|
|
223
216
|
}, "VpcDefault");
|