UNPKG

8.1 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.renderLogDriverSecretOptions = exports.joinWithCommas = exports.renderCommonLogDriverOptions = exports.stringifyOptions = exports.ensureInRange = exports.ensurePositiveInteger = exports.removeEmpty = void 0;
4const core_1 = require("@aws-cdk/core");
5/**
6 * Remove undefined values from a dictionary
7 */
8function removeEmpty(x) {
9 for (const key of Object.keys(x)) {
10 if (x[key] === undefined) {
11 delete x[key];
12 }
13 }
14 return x;
15}
16exports.removeEmpty = removeEmpty;
17/**
18 * Checks that a value is a positive integer
19 */
20function ensurePositiveInteger(val) {
21 if (!core_1.Token.isUnresolved(val) && Number.isInteger(val) && val < 0) {
22 throw new Error(`\`${val}\` must be a positive integer.`);
23 }
24}
25exports.ensurePositiveInteger = ensurePositiveInteger;
26/**
27 * Checks that a value is contained in a range of two other values
28 */
29function ensureInRange(val, start, end) {
30 if (!core_1.Token.isUnresolved(val) && !(val >= start && val <= end)) {
31 throw new Error(`\`${val}\` must be within range ${start}:${end}`);
32 }
33}
34exports.ensureInRange = ensureInRange;
35function stringifyOptions(options) {
36 const _options = {};
37 const filteredOptions = removeEmpty(options);
38 for (const [key, value] of Object.entries(filteredOptions)) {
39 // Convert value to string
40 _options[key] = core_1.SecretValue.isSecretValue(value) ? value.unsafeUnwrap() : `${value}`;
41 }
42 return _options;
43}
44exports.stringifyOptions = stringifyOptions;
45function renderCommonLogDriverOptions(opts) {
46 return {
47 'tag': opts.tag,
48 'labels': joinWithCommas(opts.labels),
49 'env': joinWithCommas(opts.env),
50 'env-regex': opts.envRegex,
51 };
52}
53exports.renderCommonLogDriverOptions = renderCommonLogDriverOptions;
54function joinWithCommas(xs) {
55 return xs && xs.join(',');
56}
57exports.joinWithCommas = joinWithCommas;
58function renderLogDriverSecretOptions(secretValue, taskDefinition) {
59 const secrets = [];
60 for (const [name, secret] of Object.entries(secretValue)) {
61 secret.grantRead(taskDefinition.obtainExecutionRole());
62 secrets.push({
63 name,
64 valueFrom: secret.arn,
65 });
66 }
67 return secrets;
68}
69exports.renderLogDriverSecretOptions = renderLogDriverSecretOptions;
70//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ1dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx3Q0FBNkQ7QUFNN0Q7O0dBRUc7QUFDSCxTQUFnQixXQUFXLENBQUksQ0FBOEM7SUFDM0UsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ2hDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUN4QixPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNmO0tBQ0Y7SUFDRCxPQUFPLENBQVEsQ0FBQztBQUNsQixDQUFDO0FBUEQsa0NBT0M7QUFFRDs7R0FFRztBQUNILFNBQWdCLHFCQUFxQixDQUFDLEdBQVc7SUFDL0MsSUFBSSxDQUFDLFlBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFO1FBQ2hFLE1BQU0sSUFBSSxLQUFLLENBQUMsS0FBSyxHQUFHLGdDQUFnQyxDQUFDLENBQUM7S0FDM0Q7QUFDSCxDQUFDO0FBSkQsc0RBSUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLGFBQWEsQ0FBQyxHQUFXLEVBQUUsS0FBYSxFQUFFLEdBQVc7SUFDbkUsSUFBSSxDQUFDLFlBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxLQUFLLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxFQUFFO1FBQzdELE1BQU0sSUFBSSxLQUFLLENBQUMsS0FBSyxHQUFHLDJCQUEyQixLQUFLLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztLQUNwRTtBQUNILENBQUM7QUFKRCxzQ0FJQztBQUVELFNBQWdCLGdCQUFnQixDQUFDLE9BQXVHO0lBQ3RJLE1BQU0sUUFBUSxHQUE4QixFQUFFLENBQUM7SUFDL0MsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRTdDLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxFQUFFO1FBQzFELDBCQUEwQjtRQUMxQixRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsa0JBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQztLQUN0RjtJQUVELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFWRCw0Q0FVQztBQUVELFNBQWdCLDRCQUE0QixDQUFDLElBQXdCO0lBQ25FLE9BQU87UUFDTCxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUc7UUFDZixRQUFRLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDckMsS0FBSyxFQUFFLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQy9CLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUTtLQUMzQixDQUFDO0FBQ0osQ0FBQztBQVBELG9FQU9DO0FBRUQsU0FBZ0IsY0FBYyxDQUFDLEVBQWE7SUFDMUMsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM1QixDQUFDO0FBRkQsd0NBRUM7QUFFRCxTQUFnQiw0QkFBNEIsQ0FBQyxXQUFzQyxFQUFFLGNBQThCO0lBRWpILE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNuQixLQUFLLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRTtRQUN4RCxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUM7UUFDdkQsT0FBTyxDQUFDLElBQUksQ0FBQztZQUNYLElBQUk7WUFDSixTQUFTLEVBQUUsTUFBTSxDQUFDLEdBQUc7U0FDdEIsQ0FBQyxDQUFDO0tBQ0o7SUFDRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBWEQsb0VBV0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEdXJhdGlvbiwgU2VjcmV0VmFsdWUsIFRva2VuIH0gZnJvbSAnQGF3cy1jZGsvY29yZSc7XG5pbXBvcnQgeyBUYXNrRGVmaW5pdGlvbiB9IGZyb20gJy4uL2Jhc2UvdGFzay1kZWZpbml0aW9uJztcbmltcG9ydCB7IFNlY3JldCB9IGZyb20gJy4uL2NvbnRhaW5lci1kZWZpbml0aW9uJztcbmltcG9ydCB7IENmblRhc2tEZWZpbml0aW9uIH0gZnJvbSAnLi4vZWNzLmdlbmVyYXRlZCc7XG5pbXBvcnQgeyBCYXNlTG9nRHJpdmVyUHJvcHMgfSBmcm9tICcuL2Jhc2UtbG9nLWRyaXZlcic7XG5cbi8qKlxuICogUmVtb3ZlIHVuZGVmaW5lZCB2YWx1ZXMgZnJvbSBhIGRpY3Rpb25hcnlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUVtcHR5PFQ+KHg6IHsgW2tleTogc3RyaW5nXTogKFQgfCB1bmRlZmluZWQgfCBzdHJpbmcpIH0pOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoeCkpIHtcbiAgICBpZiAoeFtrZXldID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGRlbGV0ZSB4W2tleV07XG4gICAgfVxuICB9XG4gIHJldHVybiB4IGFzIGFueTtcbn1cblxuLyoqXG4gKiBDaGVja3MgdGhhdCBhIHZhbHVlIGlzIGEgcG9zaXRpdmUgaW50ZWdlclxuICovXG5leHBvcnQgZnVuY3Rpb24gZW5zdXJlUG9zaXRpdmVJbnRlZ2VyKHZhbDogbnVtYmVyKSB7XG4gIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKHZhbCkgJiYgTnVtYmVyLmlzSW50ZWdlcih2YWwpICYmIHZhbCA8IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFxcYCR7dmFsfVxcYCBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlci5gKTtcbiAgfVxufVxuXG4vKipcbiAqIENoZWNrcyB0aGF0IGEgdmFsdWUgaXMgY29udGFpbmVkIGluIGEgcmFuZ2Ugb2YgdHdvIG90aGVyIHZhbHVlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZW5zdXJlSW5SYW5nZSh2YWw6IG51bWJlciwgc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIpIHtcbiAgaWYgKCFUb2tlbi5pc1VucmVzb2x2ZWQodmFsKSAmJiAhKHZhbCA+PSBzdGFydCAmJiB2YWwgPD0gZW5kKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgXFxgJHt2YWx9XFxgIG11c3QgYmUgd2l0aGluIHJhbmdlICR7c3RhcnR9OiR7ZW5kfWApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdpZnlPcHRpb25zKG9wdGlvbnM6IHsgW2tleTogc3RyaW5nXTogKFNlY3JldFZhbHVlIHwgRHVyYXRpb24gfCBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bWJlciB8IGJvb2xlYW4gfCB1bmRlZmluZWQpIH0pIHtcbiAgY29uc3QgX29wdGlvbnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbiAgY29uc3QgZmlsdGVyZWRPcHRpb25zID0gcmVtb3ZlRW1wdHkob3B0aW9ucyk7XG5cbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoZmlsdGVyZWRPcHRpb25zKSkge1xuICAgIC8vIENvbnZlcnQgdmFsdWUgdG8gc3RyaW5nXG4gICAgX29wdGlvbnNba2V5XSA9IFNlY3JldFZhbHVlLmlzU2VjcmV0VmFsdWUodmFsdWUpID8gdmFsdWUudW5zYWZlVW53cmFwKCkgOiBgJHt2YWx1ZX1gO1xuICB9XG5cbiAgcmV0dXJuIF9vcHRpb25zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyQ29tbW9uTG9nRHJpdmVyT3B0aW9ucyhvcHRzOiBCYXNlTG9nRHJpdmVyUHJvcHMpIHtcbiAgcmV0dXJuIHtcbiAgICAndGFnJzogb3B0cy50YWcsXG4gICAgJ2xhYmVscyc6IGpvaW5XaXRoQ29tbWFzKG9wdHMubGFiZWxzKSxcbiAgICAnZW52Jzogam9pbldpdGhDb21tYXMob3B0cy5lbnYpLFxuICAgICdlbnYtcmVnZXgnOiBvcHRzLmVudlJlZ2V4LFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gam9pbldpdGhDb21tYXMoeHM/OiBzdHJpbmdbXSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiB4cyAmJiB4cy5qb2luKCcsJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXJMb2dEcml2ZXJTZWNyZXRPcHRpb25zKHNlY3JldFZhbHVlOiB7IFtrZXk6IHN0cmluZ106IFNlY3JldCB9LCB0YXNrRGVmaW5pdGlvbjogVGFza0RlZmluaXRpb24pOlxuQ2ZuVGFza0RlZmluaXRpb24uU2VjcmV0UHJvcGVydHlbXSB7XG4gIGNvbnN0IHNlY3JldHMgPSBbXTtcbiAgZm9yIChjb25zdCBbbmFtZSwgc2VjcmV0XSBvZiBPYmplY3QuZW50cmllcyhzZWNyZXRWYWx1ZSkpIHtcbiAgICBzZWNyZXQuZ3JhbnRSZWFkKHRhc2tEZWZpbml0aW9uLm9idGFpbkV4ZWN1dGlvblJvbGUoKSk7XG4gICAgc2VjcmV0cy5wdXNoKHtcbiAgICAgIG5hbWUsXG4gICAgICB2YWx1ZUZyb206IHNlY3JldC5hcm4sXG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIHNlY3JldHM7XG59Il19
\No newline at end of file