@ashishpandeyone/cdk-lambda-web-function 0.1.11 → 0.1.13
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/.jsii +125 -62
- package/.jsii.tabl.json +1 -1
- package/API.md +129 -0
- package/README.md +29 -0
- package/assets/web-function-provider/index.js +19 -19
- package/lib/nodejs-web-function.js +1 -1
- package/lib/private/log-group.d.ts +2 -0
- package/lib/private/log-group.js +11 -2
- package/lib/private/provider-protocol.d.ts +2 -0
- package/lib/private/provider-protocol.js +1 -1
- package/lib/private/provider.js +2 -2
- package/lib/web-function-deployment.js +1 -1
- package/lib/web-function-endpoint.js +1 -1
- package/lib/web-function-grants.js +1 -1
- package/lib/web-function-origin.js +1 -1
- package/lib/web-function-revision.js +1 -1
- package/lib/web-function.d.ts +29 -0
- package/lib/web-function.js +55 -4
- package/package.json +1 -1
|
@@ -50,7 +50,7 @@ const web_function_1 = require("./web-function");
|
|
|
50
50
|
* bundle, and `NODE_OPTIONS=--enable-source-maps` when source maps are on.
|
|
51
51
|
*/
|
|
52
52
|
class NodejsWebFunction extends web_function_1.WebFunction {
|
|
53
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@ashishpandeyone/cdk-lambda-web-function.NodejsWebFunction", version: "0.1.
|
|
53
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@ashishpandeyone/cdk-lambda-web-function.NodejsWebFunction", version: "0.1.13" };
|
|
54
54
|
/**
|
|
55
55
|
* Identifies this class to property injectors (`PropertyInjectors.of(scope).add(...)`). A `NodejsWebFunction` gets
|
|
56
56
|
* its own injector first, then `WebFunction`'s, as aws-cdk-lib's `NodejsFunction` does with `Function`'s.
|
|
@@ -8,6 +8,8 @@ export interface WebFunctionLogGroupProps {
|
|
|
8
8
|
readonly logGroupName: string;
|
|
9
9
|
readonly retention: logs.RetentionDays;
|
|
10
10
|
readonly removalPolicy: RemovalPolicy;
|
|
11
|
+
/** A KMS key in `region`, by ARN. */
|
|
12
|
+
readonly kmsKeyArn?: string;
|
|
11
13
|
}
|
|
12
14
|
/** One Web Function log group in one (possibly remote) region, owned through the provider. */
|
|
13
15
|
export declare class WebFunctionLogGroup extends Construct {
|
package/lib/private/log-group.js
CHANGED
|
@@ -60,18 +60,27 @@ class WebFunctionLogGroup extends constructs_1.Construct {
|
|
|
60
60
|
// per-region grants break when a region is removed (CloudFormation reverts or updates the role first).
|
|
61
61
|
const webLogGroups = stack.formatArn({ service: 'logs', region: '*', resource: 'log-group', resourceName: '/aws/lambda/web/*', arnFormat: aws_cdk_lib_1.ArnFormat.COLON_RESOURCE_NAME });
|
|
62
62
|
(0, provider_1.grantToProvider)(provider, {
|
|
63
|
-
|
|
63
|
+
// The key actions too when no group has a key: removing one needs DisassociateKmsKey.
|
|
64
|
+
Action: [
|
|
65
|
+
'logs:CreateLogGroup', 'logs:PutRetentionPolicy', 'logs:DeleteRetentionPolicy', 'logs:DeleteLogGroup',
|
|
66
|
+
'logs:AssociateKmsKey', 'logs:DisassociateKmsKey',
|
|
67
|
+
],
|
|
64
68
|
Resource: webLogGroups,
|
|
65
69
|
});
|
|
66
70
|
(0, provider_1.grantToProvider)(provider, {
|
|
67
71
|
Action: 'logs:DescribeLogGroups',
|
|
68
72
|
Resource: stack.formatArn({ service: 'logs', region: '*', resource: 'log-group', resourceName: '*', arnFormat: aws_cdk_lib_1.ArnFormat.COLON_RESOURCE_NAME }),
|
|
69
73
|
});
|
|
74
|
+
if (props.kmsKeyArn) {
|
|
75
|
+
// CreateLogGroup and AssociateKmsKey check that the caller can describe the key.
|
|
76
|
+
(0, provider_1.grantToProvider)(provider, { Action: 'kms:DescribeKey', Resource: props.kmsKeyArn });
|
|
77
|
+
}
|
|
70
78
|
const properties = {
|
|
71
79
|
Region: props.region,
|
|
72
80
|
LogGroupName: props.logGroupName,
|
|
73
81
|
RetentionInDays: props.retention === logs.RetentionDays.INFINITE ? 'Infinite' : String(props.retention),
|
|
74
82
|
RemovalPolicy: props.removalPolicy === aws_cdk_lib_1.RemovalPolicy.DESTROY ? 'destroy' : 'retain',
|
|
83
|
+
KmsKeyId: props.kmsKeyArn,
|
|
75
84
|
FlushWaitSeconds: String(exports.FLUSH_WAIT_SECONDS),
|
|
76
85
|
RecheckWaitSeconds: String(RECHECK_WAIT_SECONDS),
|
|
77
86
|
};
|
|
@@ -83,4 +92,4 @@ class WebFunctionLogGroup extends constructs_1.Construct {
|
|
|
83
92
|
}
|
|
84
93
|
}
|
|
85
94
|
exports.WebFunctionLogGroup = WebFunctionLogGroup;
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLWdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ByaXZhdGUvbG9nLWdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZDQUE4RTtBQUM5RSwyREFBNkM7QUFDN0MsMkNBQXVDO0FBQ3ZDLHlDQUFrRTtBQUNsRSwyREFBdUY7QUFFdkYsOEZBQThGO0FBQ2pGLFFBQUEsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0FBQ3JDLE1BQU0sb0JBQW9CLEdBQUcsRUFBRSxDQUFDO0FBV2hDLDhGQUE4RjtBQUM5RixNQUFhLG1CQUFvQixTQUFRLHNCQUFTO0lBQ2hDLE1BQU0sQ0FBUztJQUNmLFlBQVksQ0FBUztJQUNyQixRQUFRLENBQWlCO0lBRXpDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBK0I7UUFDdkUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixJQUFJLEtBQUssQ0FBQyxhQUFhLEtBQUssMkJBQWEsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsS0FBSywyQkFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xHLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUkscURBQXFELEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQy9HLENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDO1FBRXZDLE1BQU0sS0FBSyxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLE1BQU0sUUFBUSxHQUFHLElBQUEsOEJBQW1CLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0MsMEdBQTBHO1FBQzFHLHVHQUF1RztRQUN2RyxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSx1QkFBUyxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQztRQUMzSyxJQUFBLDBCQUFlLEVBQUMsUUFBUSxFQUFFO1lBQ3hCLHNGQUFzRjtZQUN0RixNQUFNLEVBQUU7Z0JBQ04scUJBQXFCLEVBQUUseUJBQXlCLEVBQUUsNEJBQTRCLEVBQUUscUJBQXFCO2dCQUNyRyxzQkFBc0IsRUFBRSx5QkFBeUI7YUFDbEQ7WUFDRCxRQUFRLEVBQUUsWUFBWTtTQUN2QixDQUFDLENBQUM7UUFDSCxJQUFBLDBCQUFlLEVBQUMsUUFBUSxFQUFFO1lBQ3hCLE1BQU0sRUFBRSx3QkFBd0I7WUFDaEMsUUFBUSxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSx1QkFBUyxDQUFDLG1CQUFtQixFQUFFLENBQUM7U0FDaEosQ0FBQyxDQUFDO1FBRUgsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsaUZBQWlGO1lBQ2pGLElBQUEsMEJBQWUsRUFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3RGLENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBdUI7WUFDckMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtZQUNoQyxlQUFlLEVBQUUsS0FBSyxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztZQUN2RyxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWEsS0FBSywyQkFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRO1lBQ25GLFFBQVEsRUFBRSxLQUFLLENBQUMsU0FBUztZQUN6QixnQkFBZ0IsRUFBRSxNQUFNLENBQUMsMEJBQWtCLENBQUM7WUFDNUMsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLG9CQUFvQixDQUFDO1NBQ2pELENBQUM7UUFDRixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksNEJBQWMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ25ELFlBQVksRUFBRSxRQUFRLENBQUMsWUFBWTtZQUNuQyxZQUFZLEVBQUUsMkNBQXVCO1lBQ3JDLFVBQVUsRUFBRSxFQUFFLEdBQUcsVUFBVSxFQUFFO1NBQzlCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQW5ERCxrREFtREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcm5Gb3JtYXQsIEN1c3RvbVJlc291cmNlLCBSZW1vdmFsUG9saWN5LCBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGxvZ3MgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBncmFudFRvUHJvdmlkZXIsIHdlYkZ1bmN0aW9uUHJvdmlkZXIgfSBmcm9tICcuL3Byb3ZpZGVyJztcbmltcG9ydCB7IExPR19HUk9VUF9SRVNPVVJDRV9UWVBFLCB0eXBlIExvZ0dyb3VwUHJvcGVydGllcyB9IGZyb20gJy4vcHJvdmlkZXItcHJvdG9jb2wnO1xuXG4vKiogU2Vjb25kcyB0byB3YWl0IGJlZm9yZSBkZWxldGluZyBhIGdyb3VwOyB2ZXJpZmllZCBhZ2FpbnN0IGxhdGUgZmx1c2hlcyBpbiBldmVyeSByZWdpb24uICovXG5leHBvcnQgY29uc3QgRkxVU0hfV0FJVF9TRUNPTkRTID0gNzU7XG5jb25zdCBSRUNIRUNLX1dBSVRfU0VDT05EUyA9IDMwO1xuXG5leHBvcnQgaW50ZXJmYWNlIFdlYkZ1bmN0aW9uTG9nR3JvdXBQcm9wcyB7XG4gIHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuICByZWFkb25seSBsb2dHcm91cE5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgcmV0ZW50aW9uOiBsb2dzLlJldGVudGlvbkRheXM7XG4gIHJlYWRvbmx5IHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3k7XG4gIC8qKiBBIEtNUyBrZXkgaW4gYHJlZ2lvbmAsIGJ5IEFSTi4gKi9cbiAgcmVhZG9ubHkga21zS2V5QXJuPzogc3RyaW5nO1xufVxuXG4vKiogT25lIFdlYiBGdW5jdGlvbiBsb2cgZ3JvdXAgaW4gb25lIChwb3NzaWJseSByZW1vdGUpIHJlZ2lvbiwgb3duZWQgdGhyb3VnaCB0aGUgcHJvdmlkZXIuICovXG5leHBvcnQgY2xhc3MgV2ViRnVuY3Rpb25Mb2dHcm91cCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSByZWdpb246IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGxvZ0dyb3VwTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgcmVzb3VyY2U6IEN1c3RvbVJlc291cmNlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBXZWJGdW5jdGlvbkxvZ0dyb3VwUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIGlmIChwcm9wcy5yZW1vdmFsUG9saWN5ICE9PSBSZW1vdmFsUG9saWN5LlJFVEFJTiAmJiBwcm9wcy5yZW1vdmFsUG9saWN5ICE9PSBSZW1vdmFsUG9saWN5LkRFU1RST1kpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJHt0aGlzLm5vZGUucGF0aH06IGxvZ1JlbW92YWxQb2xpY3kgbXVzdCBiZSBSRVRBSU4gb3IgREVTVFJPWSwgZ290ICR7cHJvcHMucmVtb3ZhbFBvbGljeX1gKTtcbiAgICB9XG4gICAgdGhpcy5yZWdpb24gPSBwcm9wcy5yZWdpb247XG4gICAgdGhpcy5sb2dHcm91cE5hbWUgPSBwcm9wcy5sb2dHcm91cE5hbWU7XG5cbiAgICBjb25zdCBzdGFjayA9IFN0YWNrLm9mKHRoaXMpO1xuICAgIGNvbnN0IHByb3ZpZGVyID0gd2ViRnVuY3Rpb25Qcm92aWRlcih0aGlzKTtcbiAgICAvLyBTdGFibGUgZ3JhbnQgKHNlZSBncmFudFRvUHJvdmlkZXIpOiBXZWIgRnVuY3Rpb24gbG9nIGdyb3VwcyBvZiB0aGlzIGFjY291bnQsIGluIGFueSByZWdpb24uIFBlci1uYW1lIG9yXG4gICAgLy8gcGVyLXJlZ2lvbiBncmFudHMgYnJlYWsgd2hlbiBhIHJlZ2lvbiBpcyByZW1vdmVkIChDbG91ZEZvcm1hdGlvbiByZXZlcnRzIG9yIHVwZGF0ZXMgdGhlIHJvbGUgZmlyc3QpLlxuICAgIGNvbnN0IHdlYkxvZ0dyb3VwcyA9IHN0YWNrLmZvcm1hdEFybih7IHNlcnZpY2U6ICdsb2dzJywgcmVnaW9uOiAnKicsIHJlc291cmNlOiAnbG9nLWdyb3VwJywgcmVzb3VyY2VOYW1lOiAnL2F3cy9sYW1iZGEvd2ViLyonLCBhcm5Gb3JtYXQ6IEFybkZvcm1hdC5DT0xPTl9SRVNPVVJDRV9OQU1FIH0pO1xuICAgIGdyYW50VG9Qcm92aWRlcihwcm92aWRlciwge1xuICAgICAgLy8gVGhlIGtleSBhY3Rpb25zIHRvbyB3aGVuIG5vIGdyb3VwIGhhcyBhIGtleTogcmVtb3Zpbmcgb25lIG5lZWRzIERpc2Fzc29jaWF0ZUttc0tleS5cbiAgICAgIEFjdGlvbjogW1xuICAgICAgICAnbG9nczpDcmVhdGVMb2dHcm91cCcsICdsb2dzOlB1dFJldGVudGlvblBvbGljeScsICdsb2dzOkRlbGV0ZVJldGVudGlvblBvbGljeScsICdsb2dzOkRlbGV0ZUxvZ0dyb3VwJyxcbiAgICAgICAgJ2xvZ3M6QXNzb2NpYXRlS21zS2V5JywgJ2xvZ3M6RGlzYXNzb2NpYXRlS21zS2V5JyxcbiAgICAgIF0sXG4gICAgICBSZXNvdXJjZTogd2ViTG9nR3JvdXBzLFxuICAgIH0pO1xuICAgIGdyYW50VG9Qcm92aWRlcihwcm92aWRlciwge1xuICAgICAgQWN0aW9uOiAnbG9nczpEZXNjcmliZUxvZ0dyb3VwcycsXG4gICAgICBSZXNvdXJjZTogc3RhY2suZm9ybWF0QXJuKHsgc2VydmljZTogJ2xvZ3MnLCByZWdpb246ICcqJywgcmVzb3VyY2U6ICdsb2ctZ3JvdXAnLCByZXNvdXJjZU5hbWU6ICcqJywgYXJuRm9ybWF0OiBBcm5Gb3JtYXQuQ09MT05fUkVTT1VSQ0VfTkFNRSB9KSxcbiAgICB9KTtcblxuICAgIGlmIChwcm9wcy5rbXNLZXlBcm4pIHtcbiAgICAgIC8vIENyZWF0ZUxvZ0dyb3VwIGFuZCBBc3NvY2lhdGVLbXNLZXkgY2hlY2sgdGhhdCB0aGUgY2FsbGVyIGNhbiBkZXNjcmliZSB0aGUga2V5LlxuICAgICAgZ3JhbnRUb1Byb3ZpZGVyKHByb3ZpZGVyLCB7IEFjdGlvbjogJ2ttczpEZXNjcmliZUtleScsIFJlc291cmNlOiBwcm9wcy5rbXNLZXlBcm4gfSk7XG4gICAgfVxuXG4gICAgY29uc3QgcHJvcGVydGllczogTG9nR3JvdXBQcm9wZXJ0aWVzID0ge1xuICAgICAgUmVnaW9uOiBwcm9wcy5yZWdpb24sXG4gICAgICBMb2dHcm91cE5hbWU6IHByb3BzLmxvZ0dyb3VwTmFtZSxcbiAgICAgIFJldGVudGlvbkluRGF5czogcHJvcHMucmV0ZW50aW9uID09PSBsb2dzLlJldGVudGlvbkRheXMuSU5GSU5JVEUgPyAnSW5maW5pdGUnIDogU3RyaW5nKHByb3BzLnJldGVudGlvbiksXG4gICAgICBSZW1vdmFsUG9saWN5OiBwcm9wcy5yZW1vdmFsUG9saWN5ID09PSBSZW1vdmFsUG9saWN5LkRFU1RST1kgPyAnZGVzdHJveScgOiAncmV0YWluJyxcbiAgICAgIEttc0tleUlkOiBwcm9wcy5rbXNLZXlBcm4sXG4gICAgICBGbHVzaFdhaXRTZWNvbmRzOiBTdHJpbmcoRkxVU0hfV0FJVF9TRUNPTkRTKSxcbiAgICAgIFJlY2hlY2tXYWl0U2Vjb25kczogU3RyaW5nKFJFQ0hFQ0tfV0FJVF9TRUNPTkRTKSxcbiAgICB9O1xuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgQ3VzdG9tUmVzb3VyY2UodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgc2VydmljZVRva2VuOiBwcm92aWRlci5zZXJ2aWNlVG9rZW4sXG4gICAgICByZXNvdXJjZVR5cGU6IExPR19HUk9VUF9SRVNPVVJDRV9UWVBFLFxuICAgICAgcHJvcGVydGllczogeyAuLi5wcm9wZXJ0aWVzIH0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -25,6 +25,8 @@ export interface LogGroupProperties {
|
|
|
25
25
|
/** Days, or 'Infinite' for no retention. */
|
|
26
26
|
readonly RetentionInDays: string;
|
|
27
27
|
readonly RemovalPolicy: 'retain' | 'destroy';
|
|
28
|
+
/** The ARN of a KMS key in the group's region to encrypt it with; none means the service's own encryption. */
|
|
29
|
+
readonly KmsKeyId?: string;
|
|
28
30
|
/** Seconds to wait before deleting, so environments still shutting down can flush their last lines. */
|
|
29
31
|
readonly FlushWaitSeconds: string;
|
|
30
32
|
/** Seconds to wait before checking once more that the service hasn't re-created the group. */
|
|
@@ -42,4 +42,4 @@ exports.EMPTY_ON_DELETE_TAG = { key: 'cdk-lambda-web:empty-on-delete', value: 't
|
|
|
42
42
|
* (Web Functions have no AddPermission: the policy is a single document, so writers merge into it).
|
|
43
43
|
*/
|
|
44
44
|
exports.RESOURCE_POLICY_STATEMENTS_RESOURCE_TYPE = 'Custom::LambdaWebResourcePolicyStatements';
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXItcHJvdG9jb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJpdmF0ZS9wcm92aWRlci1wcm90b2NvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7QUE2Q0gsMERBRUM7QUE3Q0QsdUZBQXVGO0FBQzFFLFFBQUEsa0JBQWtCLEdBQUcsdUJBQXVCLENBQUM7QUFjMUQsdUdBQXVHO0FBQzFGLFFBQUEsdUJBQXVCLEdBQUcsMkJBQTJCLENBQUM7QUFnQm5FLGdIQUFnSDtBQUNuRyxRQUFBLDZCQUE2QixHQUFHLGlDQUFpQyxDQUFDO0FBUy9FLGdGQUFnRjtBQUNoRixTQUFnQix1QkFBdUIsQ0FBQyxNQUFjO0lBQ3BELE9BQU8sVUFBVSxNQUFNLEVBQUUsQ0FBQztBQUM1QixDQUFDO0FBRUQsbUhBQW1IO0FBQ3RHLFFBQUEsOEJBQThCLEdBQUcsa0NBQWtDLENBQUM7QUFhakY7OztHQUdHO0FBQ1UsUUFBQSwyQkFBMkIsR0FBRywrQkFBK0IsQ0FBQztBQTJCM0Usa0hBQWtIO0FBQ2xILGlIQUFpSDtBQUNwRyxRQUFBLGlCQUFpQixHQUFHLFlBQVksQ0FBQztBQUNqQyxRQUFBLDRCQUE0QixHQUFHLHdCQUF3QixDQUFDO0FBZ0JyRSwwR0FBMEc7QUFDN0YsUUFBQSxpQ0FBaUMsR0FBRyxvQ0FBb0MsQ0FBQztBQUV0Rjs7O0dBR0c7QUFDVSxRQUFBLG1CQUFtQixHQUFHLEVBQUUsR0FBRyxFQUFFLGdDQUFnQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztBQU01Rjs7O0dBR0c7QUFDVSxRQUFBLHdDQUF3QyxHQUFHLDJDQUEyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb250cmFjdCBiZXR3ZWVuIHRoZSBjb25zdHJ1Y3RzIGFuZCB0aGUgY3VzdG9tIHJlc291cmNlIGhhbmRsZXIgaW5cbiAqIGBoYW5kbGVycy93ZWItZnVuY3Rpb24tcHJvdmlkZXJgLiBCb3RoIHNpZGVzIGltcG9ydCB0aGlzIGZpbGUsIHNvIHJlc291cmNlXG4gKiB0eXBlcyBhbmQgcHJvcGVydHkgbmFtZXMgY2FuJ3QgZHJpZnQgYXBhcnQuXG4gKlxuICogQ2xvdWRGb3JtYXRpb24gcGFzc2VzIGV2ZXJ5IHNjYWxhciBwcm9wZXJ0eSB0byB0aGUgaGFuZGxlciBhcyBhIHN0cmluZy5cbiAqL1xuXG4vKiogQ29waWVzIGEgY29kZSB6aXAgaW50byB0aGUgc3RhY2sncyBjb2RlIGJ1Y2tldCBhbmQgcmV0dXJucyB0aGUgb2JqZWN0J3MgdmVyc2lvbi4gKi9cbmV4cG9ydCBjb25zdCBDT0RFX1JFU09VUkNFX1RZUEUgPSAnQ3VzdG9tOjpMYW1iZGFXZWJDb2RlJztcblxuZXhwb3J0IGludGVyZmFjZSBDb2RlUHJvcGVydGllcyB7XG4gIHJlYWRvbmx5IFNvdXJjZUJ1Y2tldDogc3RyaW5nO1xuICByZWFkb25seSBTb3VyY2VLZXk6IHN0cmluZztcbiAgcmVhZG9ubHkgU291cmNlVmVyc2lvbj86IHN0cmluZztcbiAgcmVhZG9ubHkgRGVzdGluYXRpb25CdWNrZXQ6IHN0cmluZztcbiAgcmVhZG9ubHkgRGVzdGluYXRpb25LZXk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2RlQXR0cmlidXRlcyB7XG4gIHJlYWRvbmx5IFZlcnNpb25JZDogc3RyaW5nO1xufVxuXG4vKiogRW5zdXJlcyBvbmUgbG9nIGdyb3VwIChpbiBhbnkgcmVnaW9uKSBleGlzdHMgd2l0aCB0aGUgZ2l2ZW4gcmV0ZW50aW9uLCBhbmQgcmVtb3ZlcyBpdCBvbiBkZWxldGUuICovXG5leHBvcnQgY29uc3QgTE9HX0dST1VQX1JFU09VUkNFX1RZUEUgPSAnQ3VzdG9tOjpMYW1iZGFXZWJMb2dHcm91cCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9nR3JvdXBQcm9wZXJ0aWVzIHtcbiAgcmVhZG9ubHkgUmVnaW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IExvZ0dyb3VwTmFtZTogc3RyaW5nO1xuICAvKiogRGF5cywgb3IgJ0luZmluaXRlJyBmb3Igbm8gcmV0ZW50aW9uLiAqL1xuICByZWFkb25seSBSZXRlbnRpb25JbkRheXM6IHN0cmluZztcbiAgcmVhZG9ubHkgUmVtb3ZhbFBvbGljeTogJ3JldGFpbicgfCAnZGVzdHJveSc7XG4gIC8qKiBUaGUgQVJOIG9mIGEgS01TIGtleSBpbiB0aGUgZ3JvdXAncyByZWdpb24gdG8gZW5jcnlwdCBpdCB3aXRoOyBub25lIG1lYW5zIHRoZSBzZXJ2aWNlJ3Mgb3duIGVuY3J5cHRpb24uICovXG4gIHJlYWRvbmx5IEttc0tleUlkPzogc3RyaW5nO1xuICAvKiogU2Vjb25kcyB0byB3YWl0IGJlZm9yZSBkZWxldGluZywgc28gZW52aXJvbm1lbnRzIHN0aWxsIHNodXR0aW5nIGRvd24gY2FuIGZsdXNoIHRoZWlyIGxhc3QgbGluZXMuICovXG4gIHJlYWRvbmx5IEZsdXNoV2FpdFNlY29uZHM6IHN0cmluZztcbiAgLyoqIFNlY29uZHMgdG8gd2FpdCBiZWZvcmUgY2hlY2tpbmcgb25jZSBtb3JlIHRoYXQgdGhlIHNlcnZpY2UgaGFzbid0IHJlLWNyZWF0ZWQgdGhlIGdyb3VwLiAqL1xuICByZWFkb25seSBSZWNoZWNrV2FpdFNlY29uZHM6IHN0cmluZztcbn1cblxuLyoqIFJlYWRzIGFuIGVuZHBvaW50J3MgcGVyLXJlZ2lvbiBkb21haW4gbmFtZXMsIHdoaWNoIENsb3VkRm9ybWF0aW9uIGNhbid0IGluZGV4IG91dCBvZiBgUmVnaW9uYWxFbmRwb2ludHNgLiAqL1xuZXhwb3J0IGNvbnN0IEVORFBPSU5UX0xPT0tVUF9SRVNPVVJDRV9UWVBFID0gJ0N1c3RvbTo6TGFtYmRhV2ViRW5kcG9pbnRMb29rdXAnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVuZHBvaW50TG9va3VwUHJvcGVydGllcyB7XG4gIHJlYWRvbmx5IEZ1bmN0aW9uQXJuOiBzdHJpbmc7XG4gIHJlYWRvbmx5IEVuZHBvaW50TmFtZTogc3RyaW5nO1xuICAvKiogQ2hhbmdlcyB3aGVuZXZlciB0aGUgZW5kcG9pbnQgaXMgcmVwbGFjZWQsIHNvIHRoZSBsb29rdXAgcnVucyBhZ2Fpbi4gKi9cbiAgcmVhZG9ubHkgRW5kcG9pbnRBcm46IHN0cmluZztcbn1cblxuLyoqIEF0dHJpYnV0ZSBuYW1lIGhvbGRpbmcgdGhlIGRvbWFpbiBvZiBvbmUgcmVnaW9uLCBlLmcuIGBEb21haW4udXMtZWFzdC0xYC4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWdpb25hbERvbWFpbkF0dHJpYnV0ZShyZWdpb246IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgRG9tYWluLiR7cmVnaW9ufWA7XG59XG5cbi8qKiBEZWxldGVzIGEgZnVuY3Rpb24ncyBvbGRlc3QgcmV2aXNpb25zIGJleW9uZCBhIGNvdW50LCBleGNlcHQgdGhvc2UgdGhhdCBhcmUgaW4gdXNlIG9yIG1heSBiZSByb2xsZWQgYmFjayB0by4gKi9cbmV4cG9ydCBjb25zdCBSRVZJU0lPTl9DTEVBTlVQX1JFU09VUkNFX1RZUEUgPSAnQ3VzdG9tOjpMYW1iZGFXZWJSZXZpc2lvbkNsZWFudXAnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJldmlzaW9uQ2xlYW51cFByb3BlcnRpZXMge1xuICByZWFkb25seSBGdW5jdGlvbkFybjogc3RyaW5nO1xuICAvKiogSG93IG1hbnkgb2YgdGhlIG5ld2VzdCByZXZpc2lvbnMgdG8ga2VlcC4gKi9cbiAgcmVhZG9ubHkgS2VlcDogc3RyaW5nO1xuICAvKipcbiAgICogUmV2aXNpb25zIHRoZSB0ZW1wbGF0ZSB1c2VzICh0aGUgY3VycmVudCBvbmUgYW5kIGFueSBhbiBlbmRwb2ludCByb3V0ZXMgdG8pLiBBbHdheXMga2VwdCwgYW5kIG9uIGFuIHVwZGF0ZVxuICAgKiB0aGUgcHJldmlvdXMgdGVtcGxhdGUncyBhcmUga2VwdCB0b286IHRoZXkncmUgd2hhdCBhIHJvbGxiYWNrIHJvdXRlcyBiYWNrIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgUmV2aXNpb25JZHM6IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIE1vdmVzIGFuIGVuZHBvaW50J3MgdHJhZmZpYyB0byBhIHJldmlzaW9uIGluIHN0ZXBzLCB3YXRjaGluZyBhbGFybXMgKGNhbmFyeSBhbmQgbGluZWFyIGRlcGxveW1lbnRzKS5cbiAqIFNlcnZlZCBieSB0aGUgZGVwbG95bWVudCBwcm92aWRlciAoYGhhbmRsZXJzL3dlYi1mdW5jdGlvbi1kZXBsb3ltZW50YCksIG5vdCB0aGUgc2hhcmVkIHByb3ZpZGVyOiBpdCBjYW4gcnVuIGZvciB1cCB0byBhbiBob3VyLlxuICovXG5leHBvcnQgY29uc3QgVFJBRkZJQ19TSElGVF9SRVNPVVJDRV9UWVBFID0gJ0N1c3RvbTo6TGFtYmRhV2ViVHJhZmZpY1NoaWZ0JztcblxuZXhwb3J0IGludGVyZmFjZSBUcmFmZmljU2hpZnRQcm9wZXJ0aWVzIHtcbiAgcmVhZG9ubHkgRnVuY3Rpb25Bcm46IHN0cmluZztcbiAgcmVhZG9ubHkgRW5kcG9pbnROYW1lOiBzdHJpbmc7XG4gIC8qKiBUaGUgcmV2aXNpb24gdGhhdCBlbmRzIHVwIHdpdGggYWxsIG9mIHRoZSBlbmRwb2ludCdzIHRyYWZmaWMuICovXG4gIHJlYWRvbmx5IFJldmlzaW9uSWQ6IHN0cmluZztcbiAgLyoqIFRoZSByZXZpc2lvbidzIHNoYXJlIG9mIHRyYWZmaWMgYXQgZWFjaCBzdGVwLCBpbiBwZXJjZW50LCBjb21tYS1zZXBhcmF0ZWQ7IHRoZSBsYXN0IGlzIDEwMC4gKi9cbiAgcmVhZG9ubHkgU3RlcHM6IHN0cmluZztcbiAgLyoqIFNlY29uZHMgZWFjaCBzdGVwIHNlcnZlcyAoY291bnRlZCBmcm9tIHdoZW4gaXRzIHVwZGF0ZSBzdGFydGVkKSBiZWZvcmUgdGhlIG5leHQuICovXG4gIHJlYWRvbmx5IFdhaXRTZWNvbmRzOiBzdHJpbmc7XG4gIC8qKiBBbGFybXMgKGluIGFueSByZWdpb24pIHRoYXQgc3RvcCB0aGUgZGVwbG95bWVudCBhbmQgcmVzdG9yZSB0aGUgcHJldmlvdXMgd2VpZ2h0cy4gKi9cbiAgcmVhZG9ubHkgQWxhcm1Bcm5zPzogc3RyaW5nW107XG4gIC8qKiBIYXNoIG9mIHRoZSBlbmRwb2ludCdzIG90aGVyIHNldHRpbmdzOiBhbnkgZW5kcG9pbnQgY2hhbmdlIHJlLWNoZWNrcyBpdHMgdHJhZmZpYyBiZWZvcmUgQ2xvdWRGb3JtYXRpb24gd3JpdGVzIGl0LiAqL1xuICByZWFkb25seSBFbmRwb2ludENvbmZpZzogc3RyaW5nO1xufVxuXG4vKiogV2hhdCBgb25FdmVudGAgaGFuZHMgdG8gYGlzQ29tcGxldGVgICh0aGUgUHJvdmlkZXIgZnJhbWV3b3JrIHBhc3NlcyBpdCBhcyBgRGF0YWApLiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFmZmljU2hpZnRTdGF0ZSB7XG4gIC8qKiBgbm9uZWA6IG5vdGhpbmcgdG8gZG87IGBzaGlmdGA6IG1vdmluZyBpbiBzdGVwczsgYHN3aXRjaGA6IGFsbCBhdCBvbmNlLCB3aXRob3V0IGFsYXJtcyAoc3RhY2sgcm9sbGJhY2spLiAqL1xuICByZWFkb25seSBBY3Rpb246ICdub25lJyB8ICdzaGlmdCcgfCAnc3dpdGNoJztcbiAgLyoqIGBzaGlmdGA6IHRoZSBlbmRwb2ludCdzIHdlaWdodHMgYmVmb3JlIHRoZSBkZXBsb3ltZW50IChKU09OIGBbe3JldmlzaW9uSWQsIHdlaWdodH1dYCksIHJlc3RvcmVkIHdoZW4gYW4gYWxhcm0gZmlyZXMuICovXG4gIHJlYWRvbmx5IFByZXZpb3VzV2VpZ2h0cz86IHN0cmluZztcbiAgLyoqIGBzd2l0Y2hgOiB0aGUgd2VpZ2h0cyBiZWluZyB3cml0dGVuIChKU09OIGBbe3JldmlzaW9uSWQsIHdlaWdodH1dYCkuICovXG4gIHJlYWRvbmx5IFRhcmdldFdlaWdodHM/OiBzdHJpbmc7XG59XG5cbi8qKiBDcmVhdGVzIGEgQ2xvdWRXYXRjaCBtZXRyaWMgYWxhcm0gaW4gYW55IHJlZ2lvbiAoQ2xvdWRGb3JtYXRpb24gb25seSBjcmVhdGVzIGFsYXJtcyBpbiB0aGUgc3RhY2sncyByZWdpb24pLiAqL1xuLyoqIFByZWZpeCBvZiBldmVyeSBhbGFybSB0aGlzIGxpYnJhcnkgY3JlYXRlcyBvdXRzaWRlIHRoZSBzdGFjaydzIHJlZ2lvbjsgdGhlIHByb3ZpZGVyJ3MgSUFNIGlzIHNjb3BlZCB0byBpdC4gKi9cbmV4cG9ydCBjb25zdCBBTEFSTV9OQU1FX1BSRUZJWCA9ICdMYW1iZGFXZWItJztcbmV4cG9ydCBjb25zdCBSRUdJT05BTF9BTEFSTV9SRVNPVVJDRV9UWVBFID0gJ0N1c3RvbTo6TGFtYmRhV2ViQWxhcm0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lvbmFsQWxhcm1Qcm9wZXJ0aWVzIHtcbiAgcmVhZG9ubHkgUmVnaW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IEFsYXJtTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBBbGFybURlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIC8qKiBQdXRNZXRyaWNBbGFybSdzIGBNZXRyaWNzYCwgYXMgSlNPTi4gKi9cbiAgcmVhZG9ubHkgTWV0cmljczogc3RyaW5nO1xuICByZWFkb25seSBUaHJlc2hvbGQ6IHN0cmluZztcbiAgcmVhZG9ubHkgRXZhbHVhdGlvblBlcmlvZHM6IHN0cmluZztcbiAgLyoqIFB1dE1ldHJpY0FsYXJtJ3MgYENvbXBhcmlzb25PcGVyYXRvcmAuICovXG4gIHJlYWRvbmx5IENvbXBhcmlzb25PcGVyYXRvcjogc3RyaW5nO1xuICAvKiogUHV0TWV0cmljQWxhcm0ncyBgVHJlYXRNaXNzaW5nRGF0YWAuICovXG4gIHJlYWRvbmx5IFRyZWF0TWlzc2luZ0RhdGE6IHN0cmluZztcbn1cblxuLyoqIEVtcHRpZXMgdGhlIHN0YWNrJ3MgY29kZSBidWNrZXQgKGV2ZXJ5IG9iamVjdCB2ZXJzaW9uIGFuZCBkZWxldGUgbWFya2VyKSB3aGVuIHRoZSBzdGFjayBkZWxldGVzIGl0LiAqL1xuZXhwb3J0IGNvbnN0IENPREVfQlVDS0VUX0NMRUFOVVBfUkVTT1VSQ0VfVFlQRSA9ICdDdXN0b206OkxhbWJkYVdlYkNvZGVCdWNrZXRDbGVhbnVwJztcblxuLyoqXG4gKiBUYWcgb24gdGhlIGNvZGUgYnVja2V0IHRoYXQgbGV0cyB0aGUgY2xlYW51cCBlbXB0eSBpdC4gQSByb2xsYmFjayByZXZlcnRzIHRoZSBidWNrZXQncyB0YWdzIGJlZm9yZSBpdCBkZWxldGVzXG4gKiByZXNvdXJjZXMgdGhlIGZhaWxlZCB1cGRhdGUgY3JlYXRlZCwgc28gYSBjbGVhbnVwIHJlc291cmNlIGFkZGVkIHRvIGFuIGV4aXN0aW5nIGJ1Y2tldCBuZXZlciBlbXB0aWVzIGl0IG9uIHJvbGxiYWNrLlxuICovXG5leHBvcnQgY29uc3QgRU1QVFlfT05fREVMRVRFX1RBRyA9IHsga2V5OiAnY2RrLWxhbWJkYS13ZWI6ZW1wdHktb24tZGVsZXRlJywgdmFsdWU6ICd0cnVlJyB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIENvZGVCdWNrZXRDbGVhbnVwUHJvcGVydGllcyB7XG4gIHJlYWRvbmx5IEJ1Y2tldE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBXcml0ZXMgb25lIHN0YWNrJ3Mgc3RhdGVtZW50cyBpbnRvIGEgV2ViIEZ1bmN0aW9uJ3MgcmVzb3VyY2UgcG9saWN5LCBrZWVwaW5nIGV2ZXJ5IG90aGVyIHdyaXRlcidzIHN0YXRlbWVudHNcbiAqIChXZWIgRnVuY3Rpb25zIGhhdmUgbm8gQWRkUGVybWlzc2lvbjogdGhlIHBvbGljeSBpcyBhIHNpbmdsZSBkb2N1bWVudCwgc28gd3JpdGVycyBtZXJnZSBpbnRvIGl0KS5cbiAqL1xuZXhwb3J0IGNvbnN0IFJFU09VUkNFX1BPTElDWV9TVEFURU1FTlRTX1JFU09VUkNFX1RZUEUgPSAnQ3VzdG9tOjpMYW1iZGFXZWJSZXNvdXJjZVBvbGljeVN0YXRlbWVudHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlUG9saWN5U3RhdGVtZW50c1Byb3BlcnRpZXMge1xuICByZWFkb25seSBGdW5jdGlvbkFybjogc3RyaW5nO1xuICAvKiogVGhlIHN0YXRlbWVudHMgdGhpcyByZXNvdXJjZSBvd25zLCBlYWNoIHdpdGggYSBTaWQgdW5pcXVlIGluIHRoZSBmdW5jdGlvbidzIHBvbGljeS4gKi9cbiAgcmVhZG9ubHkgUG9saWN5OiB7IHJlYWRvbmx5IFN0YXRlbWVudDogUmVhZG9ubHlBcnJheTx7IHJlYWRvbmx5IFNpZDogc3RyaW5nOyByZWFkb25seSBba2V5OiBzdHJpbmddOiB1bmtub3duIH0+IH07XG59XG4iXX0=
|
package/lib/private/provider.js
CHANGED
|
@@ -73,7 +73,7 @@ function webFunctionProvider(scope) {
|
|
|
73
73
|
});
|
|
74
74
|
const handler = provider.node.findChild('Handler');
|
|
75
75
|
handler.addPropertyOverride('LoggingConfig', { LogGroup: logGroup.logGroupName, LogFormat: 'Text' });
|
|
76
|
-
handler.
|
|
76
|
+
handler.addResourceDependency(logGroup.node.defaultChild);
|
|
77
77
|
// Only write to that group. The default AWSLambdaBasicExecutionRole allows logs:CreateLogGroup, so log lines
|
|
78
78
|
// Lambda delivers late, after CloudFormation deleted the group with the stack, would re-create it without retention.
|
|
79
79
|
// No Role child when the app uses pre-created roles (iam.Role.customizeRoles): that role is managed outside CDK.
|
|
@@ -105,4 +105,4 @@ function grantToProvider(provider, statement) {
|
|
|
105
105
|
seen.add(key);
|
|
106
106
|
provider.addToRolePolicy({ Effect: 'Allow', ...statement });
|
|
107
107
|
}
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJpdmF0ZS9wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVlBLGtEQWtDQztBQWdCRCwwQ0FVQztBQXhFRCxnREFBa0M7QUFDbEMsNkNBQXVKO0FBQ3ZKLDJEQUE2QztBQUU3QywyREFBd0Q7QUFFeEQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixtQkFBbUIsQ0FBQyxLQUFnQjtJQUNsRCxNQUFNLEtBQUssR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixNQUFNLFFBQVEsR0FBRyxvQ0FBc0IsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFO1FBQzlFLGFBQWEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSx1QkFBdUIsQ0FBQztRQUNsRixPQUFPLEVBQUUsMkNBQTZCLENBQUMsV0FBVztRQUNsRCx3RkFBd0Y7UUFDeEYsT0FBTyxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUM1QixVQUFVLEVBQUUsa0JBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDO1FBQy9CLFdBQVcsRUFBRSxzR0FBc0c7S0FDcEgsQ0FBQyxDQUFDO0lBQ0gsNkdBQTZHO0lBQzdHLHNHQUFzRztJQUN0RyxlQUFlLENBQUMsUUFBUSxFQUFFO1FBQ3hCLE1BQU0sRUFBRSxDQUFDLDJCQUEyQixFQUFFLHlCQUF5QixDQUFDO1FBQ2hFLFFBQVEsRUFBRSxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcscUNBQWlCLEdBQUcsRUFBRSxTQUFTLEVBQUUsdUJBQVMsQ0FBQyxtQkFBbUI7U0FDdkksQ0FBQztLQUNILENBQUMsQ0FBQztJQUNILElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDO1FBQUUsT0FBTyxRQUFRLENBQUM7SUFDM0QsMEdBQTBHO0lBQzFHLCtGQUErRjtJQUMvRixNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRTtRQUN0RCxTQUFTLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTO1FBQ3ZDLGFBQWEsRUFBRSwyQkFBYSxDQUFDLE9BQU87S0FDckMsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFnQixDQUFDO0lBQ2xFLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLEVBQUUsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNyRyxPQUFPLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUEyQixDQUFDLENBQUM7SUFDekUsNkdBQTZHO0lBQzdHLHFIQUFxSDtJQUNySCxpSEFBaUg7SUFDaEgsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUE2QixFQUFFLDJCQUEyQixDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDbEgsZUFBZSxDQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLHNCQUFzQixFQUFFLG1CQUFtQixDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3JILE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRCxNQUFNLFdBQVcsR0FBRyxtQ0FBbUMsQ0FBQztBQUN4RCxNQUFNLFlBQVksR0FBRywrQkFBK0IsQ0FBQztBQUVyRCxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBdUMsQ0FBQztBQUVuRTs7Ozs7Ozs7R0FRRztBQUNILFNBQWdCLGVBQWUsQ0FBQyxRQUFnQyxFQUFFLFNBQXFFO0lBQ3JJLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQUssQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDbEUsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDVixJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNqQixPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztRQUFFLE9BQU87SUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNkLFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsU0FBUyxFQUFFLENBQUMsQ0FBQztBQUM5RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdub2RlOnBhdGgnO1xuaW1wb3J0IHsgQXJuRm9ybWF0LCB0eXBlIENmblJlc291cmNlLCBDdXN0b21SZXNvdXJjZVByb3ZpZGVyLCBDdXN0b21SZXNvdXJjZVByb3ZpZGVyUnVudGltZSwgRHVyYXRpb24sIFJlbW92YWxQb2xpY3ksIFNpemUsIFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgbG9ncyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbG9ncyc7XG5pbXBvcnQgdHlwZSB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQUxBUk1fTkFNRV9QUkVGSVggfSBmcm9tICcuL3Byb3ZpZGVyLXByb3RvY29sJztcblxuLyoqXG4gKiBUaGUgc2luZ2xlIGN1c3RvbSByZXNvdXJjZSBwcm92aWRlciAob25lIExhbWJkYSBwZXIgc3RhY2spIGJlaGluZCBjb2RlIGNvcGllcywgbG9nIGdyb3VwcyxcbiAqIGVuZHBvaW50IGxvb2t1cHMsIHJldmlzaW9uIGNsZWFudXAsIGFsYXJtcyBpbiBvdGhlciByZWdpb25zIGFuZCBlbXB0eWluZyB0aGUgY29kZSBidWNrZXQuIEl0J3MgYSBjb3JlXG4gKiBgQ3VzdG9tUmVzb3VyY2VQcm92aWRlcmAsIG5vdCBhIGBsYW1iZGEuRnVuY3Rpb25gLCBzbyB0b29scyB0aGF0IGRpc2NvdmVyIGZ1bmN0aW9ucyBieSBjbGFzcyAoZS5nLiBjZGstd2F0Y2hmdWwpXG4gKiBkb24ndCBwaWNrIGl0IHVwLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd2ViRnVuY3Rpb25Qcm92aWRlcihzY29wZTogQ29uc3RydWN0KTogQ3VzdG9tUmVzb3VyY2VQcm92aWRlciB7XG4gIGNvbnN0IHN0YWNrID0gU3RhY2sub2Yoc2NvcGUpO1xuICBjb25zdCBwcm92aWRlciA9IEN1c3RvbVJlc291cmNlUHJvdmlkZXIuZ2V0T3JDcmVhdGVQcm92aWRlcihzY29wZSwgUFJPVklERVJfSUQsIHtcbiAgICBjb2RlRGlyZWN0b3J5OiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4nLCAnLi4nLCAnYXNzZXRzJywgJ3dlYi1mdW5jdGlvbi1wcm92aWRlcicpLFxuICAgIHJ1bnRpbWU6IEN1c3RvbVJlc291cmNlUHJvdmlkZXJSdW50aW1lLk5PREVKU18yNF9YLFxuICAgIC8vIExvZyBncm91cCBkZWxldGlvbiB3YWl0cyBmb3IgbGF0ZSBmbHVzaGVzICg3NXMgKyBhIHJlLWNoZWNrKSBvbiB0b3Agb2YgdGhlIEFQSSBjYWxscy5cbiAgICB0aW1lb3V0OiBEdXJhdGlvbi5taW51dGVzKDUpLFxuICAgIG1lbW9yeVNpemU6IFNpemUubWViaWJ5dGVzKDI1NiksXG4gICAgZGVzY3JpcHRpb246ICdDb3BpZXMgY29kZSwgbWFuYWdlcyBsb2cgZ3JvdXBzLCBsb29rcyB1cCBlbmRwb2ludHMgYW5kIGNsZWFucyB1cCByZXZpc2lvbnMgZm9yIExhbWJkYSBXZWIgRnVuY3Rpb25zJyxcbiAgfSk7XG4gIC8vIEdyYW50ZWQgd2hldGhlciBvciBub3QgYSBzdGFjayBoYXMgYWxhcm1zIGluIG90aGVyIHJlZ2lvbnMgeWV0OiBhIGdyYW50IGFkZGVkIG9yIHJlbW92ZWQgdG9nZXRoZXIgd2l0aCB0aGVcbiAgLy8gYWxhcm0gZmFpbHMgb24gSUFNIHByb3BhZ2F0aW9uLCBvciBsZWF2ZXMgdGhlIGFsYXJtIGJlaGluZCB3aGVuIGl0J3MgcmVtb3ZlZCAoc2VlIGdyYW50VG9Qcm92aWRlcikuXG4gIGdyYW50VG9Qcm92aWRlcihwcm92aWRlciwge1xuICAgIEFjdGlvbjogWydjbG91ZHdhdGNoOlB1dE1ldHJpY0FsYXJtJywgJ2Nsb3Vkd2F0Y2g6RGVsZXRlQWxhcm1zJ10sXG4gICAgUmVzb3VyY2U6IFN0YWNrLm9mKHByb3ZpZGVyKS5mb3JtYXRBcm4oe1xuICAgICAgc2VydmljZTogJ2Nsb3Vkd2F0Y2gnLCByZWdpb246ICcqJywgcmVzb3VyY2U6ICdhbGFybScsIHJlc291cmNlTmFtZTogYCR7QUxBUk1fTkFNRV9QUkVGSVh9KmAsIGFybkZvcm1hdDogQXJuRm9ybWF0LkNPTE9OX1JFU09VUkNFX05BTUUsXG4gICAgfSksXG4gIH0pO1xuICBpZiAoc3RhY2subm9kZS50cnlGaW5kQ2hpbGQoTE9HX0dST1VQX0lEKSkgcmV0dXJuIHByb3ZpZGVyO1xuICAvLyBMb2dzIGdvIHRvIGEgZ3JvdXAgdGhlIHN0YWNrIG93bnMsIHdpdGggcmV0ZW50aW9uLCBkZWxldGVkIHdpdGggdGhlIHN0YWNrOiB0aGUgcHJvdmlkZXIncyBkZWZhdWx0IGdyb3VwXG4gIC8vICgvYXdzL2xhbWJkYS88ZnVuY3Rpb24+KSB3b3VsZCBiZSBjcmVhdGVkIGJ5IExhbWJkYSB3aXRob3V0IHJldGVudGlvbiBhbmQgb3V0bGl2ZSB0aGUgc3RhY2suXG4gIGNvbnN0IGxvZ0dyb3VwID0gbmV3IGxvZ3MuTG9nR3JvdXAoc3RhY2ssIExPR19HUk9VUF9JRCwge1xuICAgIHJldGVudGlvbjogbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9NT05USCxcbiAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gIH0pO1xuICBjb25zdCBoYW5kbGVyID0gcHJvdmlkZXIubm9kZS5maW5kQ2hpbGQoJ0hhbmRsZXInKSBhcyBDZm5SZXNvdXJjZTtcbiAgaGFuZGxlci5hZGRQcm9wZXJ0eU92ZXJyaWRlKCdMb2dnaW5nQ29uZmlnJywgeyBMb2dHcm91cDogbG9nR3JvdXAubG9nR3JvdXBOYW1lLCBMb2dGb3JtYXQ6ICdUZXh0JyB9KTtcbiAgaGFuZGxlci5hZGRSZXNvdXJjZURlcGVuZGVuY3kobG9nR3JvdXAubm9kZS5kZWZhdWx0Q2hpbGQgYXMgQ2ZuUmVzb3VyY2UpO1xuICAvLyBPbmx5IHdyaXRlIHRvIHRoYXQgZ3JvdXAuIFRoZSBkZWZhdWx0IEFXU0xhbWJkYUJhc2ljRXhlY3V0aW9uUm9sZSBhbGxvd3MgbG9nczpDcmVhdGVMb2dHcm91cCwgc28gbG9nIGxpbmVzXG4gIC8vIExhbWJkYSBkZWxpdmVycyBsYXRlLCBhZnRlciBDbG91ZEZvcm1hdGlvbiBkZWxldGVkIHRoZSBncm91cCB3aXRoIHRoZSBzdGFjaywgd291bGQgcmUtY3JlYXRlIGl0IHdpdGhvdXQgcmV0ZW50aW9uLlxuICAvLyBObyBSb2xlIGNoaWxkIHdoZW4gdGhlIGFwcCB1c2VzIHByZS1jcmVhdGVkIHJvbGVzIChpYW0uUm9sZS5jdXN0b21pemVSb2xlcyk6IHRoYXQgcm9sZSBpcyBtYW5hZ2VkIG91dHNpZGUgQ0RLLlxuICAocHJvdmlkZXIubm9kZS50cnlGaW5kQ2hpbGQoJ1JvbGUnKSBhcyBDZm5SZXNvdXJjZSB8IHVuZGVmaW5lZCk/LmFkZFByb3BlcnR5RGVsZXRpb25PdmVycmlkZSgnTWFuYWdlZFBvbGljeUFybnMnKTtcbiAgZ3JhbnRUb1Byb3ZpZGVyKHByb3ZpZGVyLCB7IEFjdGlvbjogWydsb2dzOkNyZWF0ZUxvZ1N0cmVhbScsICdsb2dzOlB1dExvZ0V2ZW50cyddLCBSZXNvdXJjZTogbG9nR3JvdXAubG9nR3JvdXBBcm4gfSk7XG4gIHJldHVybiBwcm92aWRlcjtcbn1cblxuY29uc3QgUFJPVklERVJfSUQgPSAnQ3VzdG9tOjpMYW1iZGFXZWJGdW5jdGlvblByb3ZpZGVyJztcbmNvbnN0IExPR19HUk9VUF9JRCA9ICdMYW1iZGFXZWJGdW5jdGlvblByb3ZpZGVyTG9ncyc7XG5cbmNvbnN0IGdyYW50ZWQgPSBuZXcgV2Vha01hcDxDdXN0b21SZXNvdXJjZVByb3ZpZGVyLCBTZXQ8c3RyaW5nPj4oKTtcblxuLyoqXG4gKiBBZGRzIGEgc3RhdGVtZW50IHRvIHRoZSBzaGFyZWQgcHJvdmlkZXIncyByb2xlLCBvbmNlLlxuICpcbiAqIEdyYW50cyBtdXN0IGJlICoqc3RhYmxlIGFjcm9zcyB1cGRhdGVzKio6IHNjb3BlZCBieSBwcmVmaXhlcyB0aGF0IGRvbid0IGNoYW5nZSB3aGVuIGFcbiAqIHJlc291cmNlIGlzIHJlbmFtZWQgb3IgcmVwbGFjZWQuIENsb3VkRm9ybWF0aW9uIHVwZGF0ZXMgdGhlIHJvbGUganVzdCBiZWZvcmUgKGFuZCBvbiByb2xsYmFjayxcbiAqIHJldmVydHMgaXQganVzdCBiZWZvcmUpIHRoZSBjdXN0b20gcmVzb3VyY2VzIHJ1biwgYW5kIElBTSB0YWtlcyBzZWNvbmRzIHRvIG1pbnV0ZXMgdG9cbiAqIHByb3BhZ2F0ZSwgc28gcGVyLW5hbWUgZ3JhbnRzIGZhaWwgd2l0aCBBY2Nlc3NEZW5pZWQgb24gcmVuYW1lcyBhbmQgb24gcm9sbGJhY2sgY2xlYW51cC5cbiAqIFRoZXkgbXVzdCBhbHNvIG5ldmVyIHJlZmVyZW5jZSBhdHRyaWJ1dGVzIG9mIHJlc291cmNlcyB0aGF0IHVzZSB0aGUgcHJvdmlkZXIgKGN5Y2xlKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdyYW50VG9Qcm92aWRlcihwcm92aWRlcjogQ3VzdG9tUmVzb3VyY2VQcm92aWRlciwgc3RhdGVtZW50OiB7IEFjdGlvbjogc3RyaW5nIHwgc3RyaW5nW107IFJlc291cmNlOiBzdHJpbmcgfCBzdHJpbmdbXSB9KTogdm9pZCB7XG4gIGNvbnN0IGtleSA9IEpTT04uc3RyaW5naWZ5KFN0YWNrLm9mKHByb3ZpZGVyKS5yZXNvbHZlKHN0YXRlbWVudCkpO1xuICBsZXQgc2VlbiA9IGdyYW50ZWQuZ2V0KHByb3ZpZGVyKTtcbiAgaWYgKCFzZWVuKSB7XG4gICAgc2VlbiA9IG5ldyBTZXQoKTtcbiAgICBncmFudGVkLnNldChwcm92aWRlciwgc2Vlbik7XG4gIH1cbiAgaWYgKHNlZW4uaGFzKGtleSkpIHJldHVybjtcbiAgc2Vlbi5hZGQoa2V5KTtcbiAgcHJvdmlkZXIuYWRkVG9Sb2xlUG9saWN5KHsgRWZmZWN0OiAnQWxsb3cnLCAuLi5zdGF0ZW1lbnQgfSk7XG59XG4iXX0=
|
|
@@ -11,7 +11,7 @@ const MAX_STEPS = 20;
|
|
|
11
11
|
* How an endpoint moves its traffic to a new revision.
|
|
12
12
|
*/
|
|
13
13
|
class WebFunctionDeployment {
|
|
14
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@ashishpandeyone/cdk-lambda-web-function.WebFunctionDeployment", version: "0.1.
|
|
14
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@ashishpandeyone/cdk-lambda-web-function.WebFunctionDeployment", version: "0.1.13" };
|
|
15
15
|
/**
|
|
16
16
|
* All traffic moves to the new revision at once, as soon as it's ready (the default).
|
|
17
17
|
*/
|
|
@@ -53,7 +53,7 @@ const web_function_grants_1 = require("./web-function-grants");
|
|
|
53
53
|
* Endpoints are created only through `WebFunction`, which owns their log groups in every region, so the constructor is private.
|
|
54
54
|
*/
|
|
55
55
|
class WebFunctionEndpoint extends constructs_1.Construct {
|
|
56
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@ashishpandeyone/cdk-lambda-web-function.WebFunctionEndpoint", version: "0.1.
|
|
56
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@ashishpandeyone/cdk-lambda-web-function.WebFunctionEndpoint", version: "0.1.13" };
|
|
57
57
|
/**
|
|
58
58
|
* Creates an endpoint of a Web Function. Used by `WebFunction`.
|
|
59
59
|
*
|
|
@@ -42,7 +42,7 @@ const iam = __importStar(require("aws-cdk-lib/aws-iam"));
|
|
|
42
42
|
class WebFunctionGrants {
|
|
43
43
|
endpointArns;
|
|
44
44
|
webFunction;
|
|
45
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@ashishpandeyone/cdk-lambda-web-function.WebFunctionGrants", version: "0.1.
|
|
45
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@ashishpandeyone/cdk-lambda-web-function.WebFunctionGrants", version: "0.1.13" };
|
|
46
46
|
/**
|
|
47
47
|
* @internal
|
|
48
48
|
*/
|
|
@@ -54,7 +54,7 @@ const OPT_IN_REGIONS = [
|
|
|
54
54
|
* and only your distribution may call the endpoint. `new WebFunctionOrigin(endpoint)` is for a public (`NONE`) endpoint.
|
|
55
55
|
*/
|
|
56
56
|
class WebFunctionOrigin extends cloudfront.OriginBase {
|
|
57
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@ashishpandeyone/cdk-lambda-web-function.WebFunctionOrigin", version: "0.1.
|
|
57
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@ashishpandeyone/cdk-lambda-web-function.WebFunctionOrigin", version: "0.1.13" };
|
|
58
58
|
/**
|
|
59
59
|
* An origin for an `AWS_IAM` endpoint, with origin access control: CloudFront signs every request to the endpoint
|
|
60
60
|
* (`always-amz-auth`, which keeps the viewer's `Authorization` header for your application), and the function's
|
|
@@ -11,7 +11,7 @@ const constructs_1 = require("constructs");
|
|
|
11
11
|
* only revisions within `revisionRetention`, or that an endpoint routes to, are kept.
|
|
12
12
|
*/
|
|
13
13
|
class WebFunctionRevision extends constructs_1.Construct {
|
|
14
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@ashishpandeyone/cdk-lambda-web-function.WebFunctionRevision", version: "0.1.
|
|
14
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@ashishpandeyone/cdk-lambda-web-function.WebFunctionRevision", version: "0.1.13" };
|
|
15
15
|
/**
|
|
16
16
|
* References an existing revision of `webFunction`, e.g. to pin an endpoint to it or split traffic with it.
|
|
17
17
|
*/
|
package/lib/web-function.d.ts
CHANGED
|
@@ -105,6 +105,19 @@ export interface WebFunctionOptions {
|
|
|
105
105
|
* @default RemovalPolicy.RETAIN
|
|
106
106
|
*/
|
|
107
107
|
readonly logRemovalPolicy?: RemovalPolicy;
|
|
108
|
+
/**
|
|
109
|
+
* A customer managed KMS key for the function's log groups, in every region it serves from.
|
|
110
|
+
*
|
|
111
|
+
* CloudWatch Logs needs a key in each group's region: for regions other than the key's own, the construct uses the
|
|
112
|
+
* replica of a **multi-Region key** there (the same key ID). Each key's policy must allow CloudWatch Logs in its
|
|
113
|
+
* region (see `logEncryptionKeyPolicyStatement()`). A key defined in this app gets that statement for its own region.
|
|
114
|
+
*
|
|
115
|
+
* Removing the key decrypts nothing: the groups keep their existing events encrypted with it.
|
|
116
|
+
* [disable-awslint:prefer-ref-interface]
|
|
117
|
+
*
|
|
118
|
+
* @default - CloudWatch Logs' own encryption
|
|
119
|
+
*/
|
|
120
|
+
readonly logEncryptionKey?: kms.IKey;
|
|
108
121
|
/**
|
|
109
122
|
* The minimum level of application logs to keep.
|
|
110
123
|
*
|
|
@@ -342,6 +355,8 @@ export declare class WebFunction extends WebFunctionBase implements iam.IGrantab
|
|
|
342
355
|
readonly role: iam.IRole;
|
|
343
356
|
/** The customer managed key of the function's revisions, if any. */
|
|
344
357
|
readonly encryptionKey?: kms.IKey;
|
|
358
|
+
/** The customer managed key of the function's log groups, if any. */
|
|
359
|
+
readonly logEncryptionKey?: kms.IKey;
|
|
345
360
|
/** The principal to grant permissions to (the execution role). */
|
|
346
361
|
readonly grantPrincipal: iam.IPrincipal;
|
|
347
362
|
/**
|
|
@@ -393,8 +408,22 @@ export declare class WebFunction extends WebFunctionBase implements iam.IGrantab
|
|
|
393
408
|
* yourself: replicas don't share their primary's policy.
|
|
394
409
|
*/
|
|
395
410
|
encryptionKeyPolicyStatement(): iam.PolicyStatement;
|
|
411
|
+
/**
|
|
412
|
+
* The key-policy statement CloudWatch Logs needs in `region` to encrypt this function's log groups there with
|
|
413
|
+
* `logEncryptionKey`, limited to those groups (`kms:EncryptionContext:aws:logs:arn`).
|
|
414
|
+
*
|
|
415
|
+
* It's added to `logEncryptionKey` for the key's own region when the key is defined in this app. Add it to the
|
|
416
|
+
* replica in every other region the function serves from yourself: replicas don't share their primary's policy.
|
|
417
|
+
*
|
|
418
|
+
* @param region the region of the key or replica
|
|
419
|
+
*/
|
|
420
|
+
logEncryptionKeyPolicyStatement(region: string): iam.PolicyStatement;
|
|
396
421
|
/** Regional and multi-region endpoints need a multi-Region key: otherwise their other regions fail to activate. */
|
|
397
422
|
private validateEncryptionKey;
|
|
423
|
+
/** Log groups outside the key's region need the replica of a multi-Region key there. */
|
|
424
|
+
private validateLogEncryptionKey;
|
|
425
|
+
/** The key for a log group in `region`: the key itself in its own region, otherwise its replica there (same key ID). */
|
|
426
|
+
private logKeyArnIn;
|
|
398
427
|
private createEndpoint;
|
|
399
428
|
/**
|
|
400
429
|
* The default execution role: write to the function's own log groups only (the home region's and every region's
|