cdk-secret-manager-wrapper-layer
Version:
that Lambda layer uses a wrapper script to fetch information from Secrets Manager and create environmental variables. > idea from [source](https://github.com/aws-samples/aws-lambda-environmental-variables-from-aws-secrets-manager)
32 lines • 5.49 kB
JavaScript
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SecretManagerWrapperLayer = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const path = require("path");
const aws_cdk_lib_1 = require("aws-cdk-lib");
const lambda = require("aws-cdk-lib/aws-lambda");
const constructs_1 = require("constructs");
class SecretManagerWrapperLayer extends constructs_1.Construct {
constructor(scope, id, props) {
super(scope, id);
const image = aws_cdk_lib_1.DockerImage.fromBuild(path.join(__dirname, '../layer'), {
platform: props?.lambdaArchitecture == lambda.Architecture.ARM_64 ? 'linux/arm64' : 'linux/amd64',
file: 'Dockerfile',
});
image.cp('/layer.zip', path.join(__dirname));
const layerVersionProps = {
removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
code: lambda.Code.fromAsset(path.join(__dirname, 'layer.zip')),
description: 'this layer has wrapper script help you setting secret manager json string into lambda runtime',
};
if (!props?.lambdaArchitecture) {
aws_cdk_lib_1.Annotations.of(this).addWarning('The Lambda Function that uses this layer will need to have a runtime that supports X86_64 linux/amd64.');
}
this.layerVersion = new lambda.LayerVersion(this, 'SecretManagerWrapperLayer', layerVersionProps);
}
}
exports.SecretManagerWrapperLayer = SecretManagerWrapperLayer;
_a = JSII_RTTI_SYMBOL_1;
SecretManagerWrapperLayer[_a] = { fqn: "cdk-secret-manager-wrapper-layer.SecretManagerWrapperLayer", version: "2.1.157" };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbGF5ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2QkFBNkI7QUFDN0IsNkNBQXNFO0FBQ3RFLGlEQUFpRDtBQUNqRCwyQ0FBdUM7QUFRdkMsTUFBYSx5QkFBMEIsU0FBUSxzQkFBUztJQVF0RCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNDO1FBQzlFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsTUFBTSxLQUFLLEdBQUcseUJBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLEVBQUU7WUFDcEUsUUFBUSxFQUFFLEtBQUssRUFBRSxrQkFBbUIsSUFBSSxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxhQUFhO1lBQ2xHLElBQUksRUFBRSxZQUFZO1NBQ25CLENBQUMsQ0FBQztRQUNILEtBQUssQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUU3QyxNQUFNLGlCQUFpQixHQUE2QjtZQUNsRCxhQUFhLEVBQUUsMkJBQWEsQ0FBQyxPQUFPO1lBQ3BDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUM5RCxXQUFXLEVBQUUsK0ZBQStGO1NBQzdHLENBQUM7UUFFRixJQUFJLENBQUMsS0FBSyxFQUFFLGtCQUFrQixFQUFFLENBQUM7WUFDL0IseUJBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUM3Qix3R0FBd0csQ0FDekcsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsMkJBQTJCLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUNwRyxDQUFDOztBQTdCSCw4REE4QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgRG9ja2VySW1hZ2UsIFJlbW92YWxQb2xpY3ksIEFubm90YXRpb25zIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VjcmV0TWFuYWdlcldyYXBwZXJMYXllclByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBhcmNoaXRlY3R1cmUgZm9yIHRoZSBMYW1iZGEgZnVuY3Rpb24gdGhhdCB3aWxsIHVzZSB0aGlzIGxheWVyXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFBcmNoaXRlY3R1cmU/OiBsYW1iZGEuQXJjaGl0ZWN0dXJlO1xufVxuZXhwb3J0IGNsYXNzIFNlY3JldE1hbmFnZXJXcmFwcGVyTGF5ZXIgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvLyBwdWJsaWMgc3RhdGljIGdldE9yQ3JlYXRlKHNjb3BlOiBDb25zdHJ1Y3QpOiBTZWNyZXRNYW5hZ2VyV3JhcHBlckxheWVyIHtcbiAgLy8gICBjb25zdCBzdGFjayA9IFN0YWNrLm9mKHNjb3BlKTtcbiAgLy8gICBjb25zdCBpZCA9ICdTZWNyZXRNYW5hZ2VyV3JhcHBlckxheWVyJztcbiAgLy8gICBjb25zdCBleGlzdGluZyA9IHN0YWNrLm5vZGUudHJ5RmluZENoaWxkKGlkKTtcbiAgLy8gICByZXR1cm4gKGV4aXN0aW5nIGFzIFNlY3JldE1hbmFnZXJXcmFwcGVyTGF5ZXIpIHx8IG5ldyBTZWNyZXRNYW5hZ2VyV3JhcHBlckxheWVyKHN0YWNrLCBpZCwgKTtcbiAgLy8gfVxuICBwdWJsaWMgcmVhZG9ubHkgbGF5ZXJWZXJzaW9uOiBsYW1iZGEuSUxheWVyVmVyc2lvbjtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBTZWNyZXRNYW5hZ2VyV3JhcHBlckxheWVyUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIGNvbnN0IGltYWdlID0gRG9ja2VySW1hZ2UuZnJvbUJ1aWxkKHBhdGguam9pbihfX2Rpcm5hbWUsICcuLi9sYXllcicpLCB7XG4gICAgICBwbGF0Zm9ybTogcHJvcHM/LmxhbWJkYUFyY2hpdGVjdHVyZSEgPT0gbGFtYmRhLkFyY2hpdGVjdHVyZS5BUk1fNjQgPyAnbGludXgvYXJtNjQnIDogJ2xpbnV4L2FtZDY0JyxcbiAgICAgIGZpbGU6ICdEb2NrZXJmaWxlJyxcbiAgICB9KTtcbiAgICBpbWFnZS5jcCgnL2xheWVyLnppcCcsIHBhdGguam9pbihfX2Rpcm5hbWUpKTtcblxuICAgIGNvbnN0IGxheWVyVmVyc2lvblByb3BzOiBsYW1iZGEuTGF5ZXJWZXJzaW9uUHJvcHMgPSB7XG4gICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJ2xheWVyLnppcCcpKSxcbiAgICAgIGRlc2NyaXB0aW9uOiAndGhpcyBsYXllciBoYXMgd3JhcHBlciBzY3JpcHQgaGVscCB5b3Ugc2V0dGluZyBzZWNyZXQgbWFuYWdlciBqc29uIHN0cmluZyBpbnRvIGxhbWJkYSBydW50aW1lJyxcbiAgICB9O1xuXG4gICAgaWYgKCFwcm9wcz8ubGFtYmRhQXJjaGl0ZWN0dXJlKSB7XG4gICAgICBBbm5vdGF0aW9ucy5vZih0aGlzKS5hZGRXYXJuaW5nKFxuICAgICAgICAnVGhlIExhbWJkYSBGdW5jdGlvbiB0aGF0IHVzZXMgdGhpcyBsYXllciB3aWxsIG5lZWQgdG8gaGF2ZSBhIHJ1bnRpbWUgdGhhdCBzdXBwb3J0cyBYODZfNjQgbGludXgvYW1kNjQuJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5sYXllclZlcnNpb24gPSBuZXcgbGFtYmRhLkxheWVyVmVyc2lvbih0aGlzLCAnU2VjcmV0TWFuYWdlcldyYXBwZXJMYXllcicsIGxheWVyVmVyc2lvblByb3BzKTtcbiAgfVxufSJdfQ==
;