UNPKG

@cdklabs/cdk-amazonmq

Version:
36 lines 5.2 kB
"use strict"; /* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. SPDX-License-Identifier: Apache-2.0 */ Object.defineProperty(exports, "__esModule", { value: true }); exports.StringParameterDynamicRefereceParser = void 0; class StringParameterDynamicRefereceParser { static get regex() { return /^\{\{(resolve:ssm[a-zA-Z0-9:_-]*?)\}\}$/; } static looksLikeParameterDynamicReference(text) { return StringParameterDynamicRefereceParser.regex.test(text); } static parse(text) { if (!StringParameterDynamicRefereceParser.looksLikeParameterDynamicReference(text)) { return undefined; } const matches = text.match(StringParameterDynamicRefereceParser.regex); if (!matches) { throw new Error(`Invalid secret dynamic reference: ${text}`); } const referenceContents = matches[matches.length === 2 ? 1 : 2]; const parts = referenceContents.split(":"); if (parts.length < 3) { throw new Error(`Invalid secret dynamic reference: ${text}`); } return { isSecure: parts[1] === "ssm-secure", parameterName: parts[2], version: parts.length === 4 ? parseInt(parts[3]) : undefined, }; } } exports.StringParameterDynamicRefereceParser = StringParameterDynamicRefereceParser; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLXBhcmFtZXRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9yYWJiaXRtcS9jdXN0b20tcmVzb3VyY2UvaGFuZGxlci9keW5hbWljLXJlZmVyZW5jZXMvc3RyaW5nLXBhcmFtZXRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7OztFQUdFOzs7QUFXRixNQUFhLG9DQUFvQztJQUN2QyxNQUFNLEtBQUssS0FBSztRQUN0QixPQUFPLHlDQUF5QyxDQUFDO0lBQ25ELENBQUM7SUFFTSxNQUFNLENBQUMsa0NBQWtDLENBQUMsSUFBWTtRQUMzRCxPQUFPLG9DQUFvQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFLLENBQ2pCLElBQVk7UUFFWixJQUNFLENBQUMsb0NBQW9DLENBQUMsa0NBQWtDLENBQ3RFLElBQUksQ0FDTCxFQUNELENBQUM7WUFDRCxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV2RSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFFRCxNQUFNLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVoRSxNQUFNLEtBQUssR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFM0MsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDL0QsQ0FBQztRQUVELE9BQU87WUFDTCxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLFlBQVk7WUFDbkMsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDdkIsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7U0FDN0QsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXhDRCxvRkF3Q0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuKi9cblxuLy8gc2VlOiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9keW5hbWljLXJlZmVyZW5jZXMtc3NtLmh0bWxcbi8vICAgICAgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvZHluYW1pYy1yZWZlcmVuY2VzLXNzbS1zZWN1cmUtc3RyaW5ncy5odG1sXG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RyaW5nUGFyYW1ldGVyRHluYW1pY1JlZmVyZWNlQ29tcG9uZW50cyB7XG4gIHJlYWRvbmx5IHBhcmFtZXRlck5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgdmVyc2lvbj86IG51bWJlcjtcbiAgcmVhZG9ubHkgaXNTZWN1cmU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgU3RyaW5nUGFyYW1ldGVyRHluYW1pY1JlZmVyZWNlUGFyc2VyIHtcbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0IHJlZ2V4KCkge1xuICAgIHJldHVybiAvXlxce1xceyhyZXNvbHZlOnNzbVthLXpBLVowLTk6Xy1dKj8pXFx9XFx9JC87XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGxvb2tzTGlrZVBhcmFtZXRlckR5bmFtaWNSZWZlcmVuY2UodGV4dDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFN0cmluZ1BhcmFtZXRlckR5bmFtaWNSZWZlcmVjZVBhcnNlci5yZWdleC50ZXN0KHRleHQpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBwYXJzZShcbiAgICB0ZXh0OiBzdHJpbmcsXG4gICk6IFN0cmluZ1BhcmFtZXRlckR5bmFtaWNSZWZlcmVjZUNvbXBvbmVudHMgfCB1bmRlZmluZWQge1xuICAgIGlmIChcbiAgICAgICFTdHJpbmdQYXJhbWV0ZXJEeW5hbWljUmVmZXJlY2VQYXJzZXIubG9va3NMaWtlUGFyYW1ldGVyRHluYW1pY1JlZmVyZW5jZShcbiAgICAgICAgdGV4dCxcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3QgbWF0Y2hlcyA9IHRleHQubWF0Y2goU3RyaW5nUGFyYW1ldGVyRHluYW1pY1JlZmVyZWNlUGFyc2VyLnJlZ2V4KTtcblxuICAgIGlmICghbWF0Y2hlcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNlY3JldCBkeW5hbWljIHJlZmVyZW5jZTogJHt0ZXh0fWApO1xuICAgIH1cblxuICAgIGNvbnN0IHJlZmVyZW5jZUNvbnRlbnRzID0gbWF0Y2hlc1ttYXRjaGVzLmxlbmd0aCA9PT0gMiA/IDEgOiAyXTtcblxuICAgIGNvbnN0IHBhcnRzID0gcmVmZXJlbmNlQ29udGVudHMuc3BsaXQoXCI6XCIpO1xuXG4gICAgaWYgKHBhcnRzLmxlbmd0aCA8IDMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzZWNyZXQgZHluYW1pYyByZWZlcmVuY2U6ICR7dGV4dH1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgaXNTZWN1cmU6IHBhcnRzWzFdID09PSBcInNzbS1zZWN1cmVcIixcbiAgICAgIHBhcmFtZXRlck5hbWU6IHBhcnRzWzJdLFxuICAgICAgdmVyc2lvbjogcGFydHMubGVuZ3RoID09PSA0ID8gcGFyc2VJbnQocGFydHNbM10pIDogdW5kZWZpbmVkLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==