@cdklabs/cdk-amazonmq
Version:
<!--BEGIN STABILITY BANNER-->
36 lines • 5.2 kB
JavaScript
;
/*
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==